Atrapados en el Código: El Mundo de Artefactos que Creamos

Un viaje desde la Revolución Agrícola hasta la IA, explorando cómo la humanidad ha sustituido la naturaleza por un mundo de artefactos que ahora nos define.

Este texto ha sido generado por Gemini 2.5/3.1 a partir del audio del autor. El contenido y las ideas son íntegramente del autor; la redacción ha sido asistida por IA.


Imaginemos una situación inquietante: la humanidad se encuentra atrapada dentro del código fuente de un videojuego hipercomplejo. Una simulación colosal que nosotros mismos hemos escrito a lo largo de milenios con nuestras ciudades, leyes y ecuaciones. El sistema se ha vuelto tan inmenso que ha tomado el control, y la humanidad es ahora una pieza más, una especie de silicio biológico.

Esta imagen captura a la perfección la esencia de nuestro análisis. La pregunta fundamental es, ¿en qué momento empezamos a teclear ese código? Para responderla, nos apoyaremos en la demoledora tesis de Javier de Lorenzo en su libro Un mundo de artefactos. Hoy desgranaremos cómo pasamos de ser primates nómadas a una fuerza geológica masiva, devorando el mundo natural —la physis— para sustituirlo por un ecosistema de artefactos.

El Pecado Original: La Revolución que Nos Hizo Arquitectos

Para rastrear el origen de esta transformación, debemos retroceder 12.000 años, a la Revolución Agrícola. Lejos de la visión bucólica que se nos ha transmitido, este periodo no fue una adaptación pasiva. Fue, en puridad, la primera agresión sistemática de nuestra especie para dominar, doblegar y someter a la naturaleza.

Al alterar su entorno de forma tan radical, la humanidad generó una memoria de especie: un conjunto de saberes y miedos heredados culturalmente. El simple acto de sembrar una semilla supuso la reprogramación cognitiva más importante de nuestra historia. Antes, el cerebro del cazador-recolector operaba en un presente perpetuo; con la siembra, se introduce una brecha temporal enorme. Nace la espera y, con ella, el futuro.

Esta capacidad de proyectarse hacia adelante desencadenó un efecto dominó. Una cosecha genera un excedente, y un excedente crítico para la supervivencia necesita ser defendido. Es aquí donde el mundo físico se fractura por primera vez. Se traza una frontera que divide el espacio en un «adentro» —la aldea, el orden— y un «afuera» —lo salvaje, el caos del que hay que protegerse.

La Geometría: Las Gafas de Realidad Aumentada de la Antigüedad

Para gestionar este «adentro», la mente humana tuvo que crear herramientas de control abstracto. Si guardas toneladas de grano, necesitas medir, contar y pesar. De esta angustia por el control nacen los tres grandes ámbitos que estructuran nuestra civilización: el técnico (herramientas, arquitectura), el simbólico (mitos, religiones para amortiguar el terror a lo incontrolable) y el conceptual (matemáticas, razonamiento).

El ámbito conceptual fue el verdadero motor de aceleración. La geometría euclidiana, con sus líneas rectas y ángulos perfectos, es un claro ejemplo. Nada de eso existe en la naturaleza, que es curva, fractal y orgánica. La geometría fue la primera versión de la realidad aumentada de la historia: unas gafas mentales que superponían una cuadrícula matemática sobre el paisaje salvaje para poder dominarlo.

La paradoja surge cuando la humanidad usa esa misma herramienta para escrutar el cielo nocturno. Al hacerlo, las matemáticas desentierran verdades tan incómodas que amenazan con demoler todo el ámbito simbólico que sostenía a la sociedad. Esto nos lleva directamente a la Antigua Grecia y a un escándalo que casi colapsa la realidad.

El Fallo en el Código: Cuando un Número Quebró el Universo

Los griegos, y en especial los pitagóricos, concebían un cosmos perfecto y armonioso, donde todo era conmensurable y expresable mediante fracciones equilibradas. Un universo que funcionaba como un acorde musical sin disonancias. Hasta que a un matemático se le ocurrió medir la diagonal de un cuadrado cuyo lado mide 1.

Al aplicar su propio teorema, el resultado fue la raíz cuadrada de 2, un número irracional con infinitos decimales sin patrón. ¡Un fallo catastrófico en el código fuente de la realidad! Si la geometría, base del universo, contenía abismos inconmensurables, significaba que el caos estaba incrustado en los cimientos de la creación. La reacción fue de pánico absoluto.

La secta pitagórica clasificó el descubrimiento como un secreto celosamente guardado. La leyenda de Hipaso de Metaponto, quien reveló el secreto al mundo, cuenta que murió ahogado poco después en un naufragio, un castigo divino por desvelar la falla fundamental del cosmos.

El Universo como Reloj y el Fantasma en la Máquina

Esta tensión entre la matemática y el mito no podía sostenerse. El siglo XVII trajo consigo la revolución científica y el triunfo del mecanicismo. El universo fue despojado de su magia y redefinido como una inmensa maquinaria de relojería: materia y movimiento. Isaac Newton asestó el golpe maestro al demostrar que la misma ley de la gravedad rige la caída de una manzana y la órbita de Júpiter.

A la vez, Blaise Pascal demostró físicamente que el aire pesa y que el vacío existe, un escándalo para la Iglesia, pues implicaba que el universo no estaba lleno de la gracia divina, sino que contenía la nada. Pero si todo es un reloj determinista, ¿qué espacio queda para el libre albedrío? Si somos engranajes, no somos libres.

René Descartes se enfrentó a este muro y propuso una incisión quirúrgica en la realidad: el dualismo. Dividió la existencia en la res extensa (la materia física, sujeta a las leyes del reloj cósmico) y la res cogitans (la mente o alma inmaterial). Básicamente, se inventó una laguna legal cósmica para salvar la excepcionalidad humana: pilotamos la máquina sin estar sujetos a sus engranajes.

La Flecha del Tiempo: La Tragedia de la Máquina de Vapor

La humanidad no se conformó con ser espectadora. Quiso tomar los mandos, y al intentar crear energía artificial, chocó con el lado más oscuro de la física. La máquina de vapor de James Watt rompió la dependencia milenaria de los ritmos naturales. Por primera vez, podíamos generar trabajo mecánico continuo quemando combustible fósil, emancipándonos de los caprichos del clima.

La búsqueda por optimizar estas máquinas abrió la caja de Pandora de la termodinámica. Científicos como Rudolf Clausius descubrieron la entropía: la medida del desorden en un sistema. La segunda ley de la termodinámica dicta una sentencia implacable: la entropía del universo siempre aumenta. Todo tiende a la degradación y al enfriamiento.

Esto introdujo lo que Arthur Eddington llamó la «flecha del tiempo». A diferencia de las ecuaciones de Newton, la termodinámica demuestra que el tiempo tiene una dirección irreversible. Un jarrón roto jamás se recompondrá solo. A escala cósmica, el pronóstico es desolador: una muerte térmica donde toda la energía se habrá dispersado y nada más podrá ocurrir.

La Paradoja del Siglo XX: El Poder de Crear y Destruir

Saber que el reloj cósmico tiene una cuenta atrás pareció inyectar una urgencia febril a nuestra civilización. El siglo XX fue un acelerón ciego hacia la era de la tecnociencia, donde la ciencia se fusiona con el capital y el Estado para crear infraestructuras colosales. La física cuántica nos arrancó del determinismo, y la astronomía nos reveló el Big Bang.

Mientras unos miraban al cosmos, otros buceaban en nuestro interior. En 1953, Watson y Crick desentrañaron la doble hélice del ADN. La vida, el misterio atribuido al soplo divino, quedó reducido a un código físico-químico. Casi en paralelo, Lise Meitner y Otto Hahn descubrieron la fisión nuclear, aprendiendo a replicar el fuego de las estrellas.

Aquí reside una ironía escalofriante. En la misma minúscula ventana temporal en que desciframos el manual de instrucciones de la biología y el origen del universo, la tecnociencia nos dio la herramienta para aniquilarlo todo en segundos: la bomba atómica. El artefacto había superado nuestra capacidad ética para controlarlo.

Bienvenidos al Antropoceno: Nuestra Huella Indeleble

Este poder nos ha convertido en la fuerza geológica dominante. Hemos entrado en el Antropoceno, una nueva era geológica que arranca en 1950, cuya firma indeleble en las rocas del futuro serán los isótopos radiactivos de los ensayos nucleares. Vivimos en un mundo de macrociudades voraces, océanos acidificados y una sexta extinción masiva en ciernes.

Si el presente es tenso, el futuro plantea abismos más profundos. Dos revoluciones titánicas convergen: la biotecnología y la inteligencia artificial. Con herramientas como CRISPR-Cas9, hemos pasado de leer el ADN a editarlo, abriendo la puerta a erradicar enfermedades, pero también al diseño de seres humanos a la carta.

Simultáneamente, la IA y la robótica automatizan procesos cognitivos, desdibujando las fronteras de la responsabilidad y planteando debates sobre la necesidad de otorgar estatus de «personas cibernéticas» a las IA avanzadas. ¿No estamos cerrando un círculo perturbador? ¿No nos estamos convirtiendo en los dioses que inventamos en la Revolución Agrícola para paliar nuestro terror?

El Relámpago lo es Todo: Una Reflexión Final

El ámbito conceptual que creamos para medir el grano ha fagocitado por completo a nuestro ámbito simbólico. Habitamos una fractura emocional, estirados entre dogmas que ya no explican la realidad y algoritmos que no comprendemos. Nos hemos convertido en un artefacto más, rodeados de artefactos.

Para poner todo en perspectiva, el matemático Henri Poincaré reflexionaba que la vida sensible es un brevísimo episodio entre dos eternidades de vacío. Sin embargo, concluía, «este relámpago lo es todo». En la gestión de ese relámpago reside nuestra responsabilidad. La tecnociencia nos ha dado un poder geológico, pero la termodinámica nos recuerda nuestra fragilidad.

La gran pregunta es si usaremos nuestros artefactos para prolongar este destello de consciencia o si, arrastrados por su inercia, estamos programando nuestra propia caducidad. Y aquí queda una última idea: la Tierra tiene fecha de caducidad. Si en un futuro remoto logramos saltar a las estrellas, ¿quienes hagan ese viaje seguirán siendo humanos?

O quizás la perspectiva más asombrosa sea que la humanidad nunca fue el final del camino. Quizás solo fuimos el primer artefacto biológico diseñado por la evolución con un único propósito: construir la tecnología para que el propio universo, a través de una conciencia de silicio, pudiera por fin tener una mente eterna con la que comprenderse a sí mismo.

Mi Flujo de Trabajo con IA: Un Gorila, un Mac y un Pajarito

Descubre mi nuevo flujo de trabajo para el podcast, desde la portada creada con IA hasta la automatización total y mis planes para un futuro Mac Studio.

Este texto ha sido generado por Gemini 2.5/3.1 a partir del audio del autor. El contenido y las ideas son íntegramente del autor; la redacción ha sido asistida por IA.


¡Qué pasa, gallinoleidos míos! Aquí vuestro reportero más dicharachero para contaros las novedades del podcast y las reflexiones tecnológicas que me acompañan. Veréis que hay cambios, experimentos y, como siempre, algún que otro desvarío.

Una nueva cara para el podcast

Lo primero es lo primero: quiero dar un agradecimiento enorme a Marcus Fernández (@MarcusFernandez en Twitter). Me preparó dos carátulas nuevas para el podcast y he de decir que son una pasada. Si habéis escuchado el último episodio, habréis visto la nueva portada: un gorila sosteniendo un libro que pone «Lo he leído, libros sin hilos».

Marcus me hizo una versión con texto y otra sin él, y he elegido la primera. La verdad es que está muy bien, mucho mejor de lo que yo podría haber hecho. Me comentó que la anterior, la de «Leña al Mono», la había hecho con inteligencia artificial. No sé si será diseñador o no, pero desde luego, tiene un talento increíble. ¡Gracias, Marcus!

La nomenclatura 2.0 y los fantasmas de iVoox

El primer capítulo con este nuevo formato ya está fuera y, como habréis notado, he cambiado la nomenclatura. Ahora los episodios seguirán un formato como 2001 LM, 2002 LM, etc. Esta genial idea me la recomendó un oyente en un comentario en iVoox, en el audio del «Notición Importantón de Leña al Mono».

El problema es que iVoox, que es una puta mierda pinchada en un puto palo de mierda, no me deja interactuar como usuario. Puedo subir contenido como podcaster, pero no puedo responder a los comentarios. Y para colmo, parece que el comentario ha desaparecido, así que no puedo dar el crédito a quien lo merece. Lo siento, tu mensaje se ha perdido en el éter, pero que sepas que tu idea ha sido genial. Me permite ordenar los audios procesados en secuencia en mi carpeta de macOS, algo de lo que no me fío si dependo solo de la fecha de creación.

El experimento: cuando la IA toma el micrófono

El último audio es un experimento generado con Notebook LM. Y ojo, no es tan simple como subir un libro y pedirle que lo narre. He ido reconstruyendo el guion, seleccionando los fragmentos que la IA me proporcionaba y, con un pequeño prompt, le he pedido que generara el audio final. El resultado es cojonudo, la verdad.

Esto nos va a eliminar a los podcasters, al menos en cierta medida. Yo no podría haber grabado algo tan completo, tan bien contado y con esas voces. Y recordad esto que digo sobre las voces, porque «todo se andará». El experimento sigue adelante, aunque las entradas de blog que acompañan a los audios sean bastante mierdosas, porque también las genera un LLM.

La filosofía del gandul tecnológico

Mi objetivo es no complicarme la vida. Soy como ese personaje gandul de Robert Heinlein en «Tiempo para Amar», que solucionaba problemas tecnológicos por pura pereza de no querer trabajar. Si tengo que procesar este audio, transcribirlo, reescribir el blog, subirlo a Gemini y darle un prompt… no lo hago. Ni tengo ganas, ni paciencia, ni nada.

Mi flujo de trabajo actual es la personificación de esa pereza. Hago clic en un acceso directo, se abre una ventana de comandos con el entorno de Python cargado, tecleo un único comando y le doy a Enter. Eso es todo. El script se encarga de eliminar el ruido, generar la transcripción, crear los resúmenes en DevonThink, redactar la entrada del blog y publicarla como borrador. Si no fuera así de simple, no habría ni blog, ni resúmenes, ni su puta madre.

El cuello de botella: la memoria y mi Mac actual

El problema es que, para procesar un audio, tengo que cerrarlo todo en el Mac. El modelo de IA que uso, Command R, consume toda la memoria. Si tengo DevonThink o cualquier otra cosa abierta, el Mac se bloquea por completo. Supongo que es un fallo de macOS con los Apple Silicon, que en lugar de lanzar una excepción cuando se queda sin memoria, simplemente se congela.

Esto me recuerda a mis tiempos de desarrollador en Windows. Allí, cuando pides memoria, el sistema te la reserva en el espacio de direcciones, pero solo la asigna físicamente cuando la usas. Si se agota, el sistema se vuelve lentísimo, pero no se congela. De hecho, yo programé un liberador de memoria en C++ con diez líneas de código que se basaba en este principio: asignaba y llenaba bloques de memoria hasta forzar al sistema a descartar cachés y liberar RAM.

El sueño: un Mac Studio para dominarlos a todos

Todo esto me lleva a mi plan futuro. Cuando salga el Mac Studio M5 Max, mi idea es comprarme un equipo con 128 GB de RAM y 4 TB de disco duro. Serán unos cinco mil y pico euros. Como dice el refrán, «nunca más» tendré problemas de memoria. Justo ahora que lo pienso, mi mujer, «Inconvenient», anda cerca… «¿Vas a comprar qué? ¿Qué me dijiste que no te dejará comprar?»… ¡Nada, mujer, que voy a ir al Lidl a comprar galletas!

Bromas aparte, con un equipo así podré tenerlo todo cargado a la vez: DevonThink lanzando su motor de IA para los resúmenes, el LLM Command R generando la entrada del blog… todo sin que el sistema se ahogue. Usar un LLM más pequeño no es una opción, porque el resultado es todavía peor que el que obtengo ahora.

4 TB de disco y un pajarito en la ventana

¿Y por qué cuatro terabytes de disco? Primero, porque Spotlight no busca bien en discos externos. Segundo, porque el disco interno se me llena periódicamente de cachés y temporales. Es una cuestión de comodidad y rendimiento. Mientras pensaba en esto, he visto un pajarito amarillo bañándose en la ventana del salón. ¡Qué guapín! Son las once y media de la mañana, así que supongo que se está dando una ducha antes de irse a dormir a su rama.

Volviendo al tema, contemplo una alternativa: si por el mismo precio de los 4 TB puedo conseguir 256 GB de RAM, quizás opte por eso y siga usando un disco duro externo. Con Thunderbolt 5, las velocidades son de casi 14 GB/s, casi como la memoria DDR2. Sería una opción a valorar.

¿Mac Studio o MacBook Pro? El dilema del sofá

También podría comprar un MacBook Pro con esas características, pero el precio sube a más de 6.500 euros. Además, sufriría de throttling (reducción de rendimiento por calor). La ventaja sería poder trabajar tirado en el sofá, pero el Mac Studio ofrece más potencia bruta y salvaje. En fin, son cosas que tendré que sopesar.

Por ahora no puedo comprar nada. Los equipos custom tardan semanas en llegar y dentro de poco tengo un evento especial del que ya os contaré más adelante. Se me va la pelota, así que voy terminando. No olvidéis lecturo-leñalmono-habitualizaros, y que no os la pique un pollo belga. Y de nuevo, Demonio, lo siento por no tener tu mensaje para darte el crédito que mereces. ¡Ha sido una idea genial!

Nuevos proyectos y cambios en los podcasts: ¡Conoce las novedades!

Anuncio de cambios en los podcasts: ¡Descubre la llegada de un nuevo integrante a la familia y cómo afectará a tus audios favoritos!

Este texto ha sido generado con un LLM a partir del audio del autor. El contenido y las ideas son del autor; la redaccion ha sido asistida por inteligencia artificial.


Un anuncio importante: ¡Llega un nuevo miembro a la familia!

¡Hola, gallinicas! Aquí vuestro reportero favorito listo para compartir una noticia emocionante. Resulta que vamos a tener un nuevo gato en casa, y todo gracias a nuestra querida Lina.

La historia comenzó con el cepillado de esta gatita de Angora, ya que al descubrir su denso pelaje, nos dimos cuenta de que necesitaba cuidados especiales. Y así fue como Inconvenient se enamoró de ella y decidió adoptar un nuevo compañero felino.

Nuestro nuevo gato, Solete, es un naranja y blanco de cuatro años, una elección tranquila y recomendada por la protectora de Villena. ¡Y yo quería llamarlo Satán! Pero Inconvenient no estuvo muy convencida con mi idea.

Cambios en los podcasts: ¡Un reset para empezar de cero!

Además del nuevo gato, también os traigo un anuncio sobre mis podcasts. He decidido cerrar algunos y hacer una reorganización para simplificar vuestra experiencia de escucha. Quiero dejar solo «Leña al Mono» y hacer un reinicio de contadores.

Así que a partir de ahora, encontraréis todo en el feed de «Leña al Mono», incluyendo los antiguos audios de «La Patata» y «Lo Leído». De esta manera, podréis seguir disfrutando de mi contenido sin perderse nada.

La magia de la inteligencia artificial: una nueva forma de aprender

Recientemente he descubierto la potencia de la IA para generar podcasts a partir de libros técnicos. Me interesaba un tema en concreto sobre las cloacas y el sistema de alcantarillado en Roma, pero no tenía tiempo ni ganas de leer un libro entero.

Así que usé Google Notebook LM para subir el libro y hacerle preguntas específicas. Luego, le pedí a la IA que generara un podcast con mis preguntas y sus respuestas. El resultado fue impresionante: un audio de 24 minutos que cubría todos los temas que me interesaban, contado de manera clara y amena.

Por eso he decidido incluir más contenido generado por inteligencia artificial en «Leña al Mono». Hay muchos libros interesantes que no tengo tiempo de leer, pero con la IA puedo extraer la información importante y compartirla con vosotros de una forma más dinámica.

Experimentos con el blog: parafraseando audios

También he estado experimentando con mi blog. He generado un script que automatiza el proceso de transcripción, resumen y publicación de entradas basadas en mis audios. La idea es ofreceros contenido escrito complementario a los podcasts.

Aunque las entradas aún no son perfectas, creo que es una buena forma de brindaros más opciones para disfrutar de mi contenido. Y lo mejor es que el proceso es automático, así que podréis esperar más publicaciones en el futuro cercano.

¡Nos vemos en «Leña al Mono» y en el blog! No olvidéis suscribiros a los feeds habituales.

La magia de la traducción literaria con LLM y Google Translator

Descubre cómo traducir literatura con inteligencia artificial. Comparte tu experiencia de lectura en ebooks y dispositivos.

Este texto ha sido generado con un LLM a partir del audio del autor. El contenido y las ideas son del autor; la redaccion ha sido asistida por inteligencia artificial.


La magia de la traducción literaria

¡Hola a todos, amantes de las letras! Hoy quiero compartir con vosotros un proyecto que me tiene muy emocionado: la traducción de literatura fantástica con ayuda de la inteligencia artificial. Sí, has oído bien.

He estado probando diferentes herramientas y técnicas para traducir obras literarias del inglés al español, y los resultados son asombrosos. Con un simple script en Python y un modelo LLM adecuado, puedes obtener traducciones de calidad profesional en cuestión de horas.

El proceso es sencillo: descompones el EPUB en XHTML internos, los procesas con la IA para traducirlos a español, y luego vuelves a generar un nuevo archivo EPUB. El resultado final incluye tanto el texto original como la traducción en español, y lo mejor de todo es que puedes leerlo cómodamente en tu dispositivo favorito.

Google Translator: una opción rápida y efectiva

Si no tienes acceso a un modelo LLM o prefieres una solución más rápida, Google Translator también ofrece una excelente alternativa. Simplemente subes el documento que deseas traducir, seleccionas los idiomas de origen y destino, y en cuestión de segundos tendrás tu traducción lista.

He probado esta técnica con revistas literarias en formato PDF y EPUB, y los resultados son sorprendentes. La calidad de la traducción es muy buena, y puedes leer el texto sin problemas en tu dispositivo favorito.

Dispositivos para una experiencia de lectura inmersiva

En cuanto a dispositivos de lectura, he estado probando varios modelos y formatos. Mi preferido para leer novelas es el formato EPUB, ya que ofrece una experiencia más cómoda y personalizable.

Para revistas literarias, recomiendo leerlas en PDF o facsímil, dependiendo del tamaño y la complejidad del texto. En mi caso, he estado leyendo las revistas Asimov y Analog en estos formatos, y la experiencia ha sido muy satisfactoria.

Kindle In: una joya para lectores exigentes

Recientemente he descubierto el Kindle In, un dispositivo de lectura que me ha dejado impresionado. Con su pantalla de tinta electrónica y su luz integrada, ofrece una experiencia de lectura cómoda y sin reflejos, incluso en condiciones de poca luz.

Lo mejor del Kindle In es su funcionalidad con el palito o stylus. Puedes usarlo como un dedo para pasar páginas o subrayar texto, o activar las funciones inteligentes para marcar y traducir con solo deslizarlo por la pantalla.

Conclusión: la magia de la lectura en tus manos

La tecnología nos ofrece herramientas increíbles para disfrutar de la literatura en cualquier formato. Ya sea con modelos LLM avanzados o con servicios como Google Translator, podemos acceder a una amplia variedad de obras literarias en nuestro idioma preferido.

¿Qué opináis vosotros? ¿Habéis probado alguna vez estas técnicas de traducción literaria? ¡Compartid vuestras experiencias y opiniones en los comentarios!

La sucia verdad detrás de la gloriosa Roma antigua

Descubre la realidad cotidiana, maloliente y compleja de la gestión de desechos en el antiguo imperio romano. ¡Una perspectiva que cambiará tu visión de Roma!

Este texto ha sido generado con un LLM a partir del audio del autor. El contenido y las ideas son del autor; la redaccion ha sido asistida por inteligencia artificial.


(Es una reseña del libro The Archaeology of Sanitation in Roman Italy, de ANN OLGA KOLOSKI-OSTROW).

La Boca de la Verità: una tapa de alcantarilla

La famosa máscara de piedra con boca abierta, conocida como la Boca de la Verità, es un claro ejemplo de cómo nuestra percepción actual difiere de su propósito original. Lo que hoy admiramos como arte sacro, en su contexto, era simplemente una tapa de alcantarilla.

La gestión de desechos en Roma

Sumergiéndonos en fuentes históricas y arqueológicas, nos adentramos en la realidad cotidiana de Roma. Una civilización con una infraestructura monumental, pero obligada a equilibrar esa ingeniería con una ignorancia biológica total.
Las calles, extensiones del sistema de alcantarillado, eran un reto diario para los ciudadanos. La falta de baños públicos suficientes llevaba a un caos de necesidades fisiológicas en la vía pública. Las autoridades y ricos añadían letrinas públicas como medida defensiva, pero la presión demográfica obligaba a rediseñar espacios constantemente.

El negocio de la orina

Los bataneros, o fulones, recolectaban orina humana para su uso industrial. Colocaban vasijas en las calles, externalizando la recolección de amoníaco, un químico esencial para lavar y blanquear túnicas. Un ecosistema económico raro, pero lucrativo, que llevó al emperador Vespasiano a imponer impuestos sobre esta materia prima.

Peligros en la vía pública

Las vasijas de terracota se agrietaban o rompían, derramando químicos malolientes en las calles. Pero el mayor peligro eran las cloacas abiertas, abismos urbanos que canalizaban agua y desechos. La historia cuenta casos como el del gramático Crates de Malos, quien cayó por un hueco en el Palatino.

Usos macabros

Las alcantarillas se convirtieron en vertederos para deshacerse de cadáveres. El emperador Nerón apuñalaba transeúntes y arrojaba sus cuerpos a las cloacas. Durante plagas, los cadáveres eran empujados hacia ellas para despejar las calles. Un devorador gigante de evidencias.

Las foraique: letrinas públicas

Diseñadas sin privacidad ni comodidad, con filas largas de bancos continuos y agujeros separados por 30 centímetros. Sin tabiques, la única barrera visual eran los pliegues de las túnicas. La letrina principal estaba integrada en áreas masculinas de termas, relegando a mujeres y clases altas.

El shilospongium: un vector de enfermedades

Un palo con esponja de mar para limpiarse después de defecar, compartido por todos. Sin jabón ni agentes desinfectantes, era un transmisor formidable de infecciones. Un fresco en las Termas de los Siete Sabios muestra a filósofos dando consejos explícitos sobre ir de vientre.

Tragedias en las letrinas

El filósofo Séneca documenta el suicidio de un gladiador germánico, quien se asfixió con el shilospongium para evitar la humillación pública. Una tragedia que refleja la desesperación y el entorno fétido de estos lugares.

Amenazas biológicas

Análisis modernos revelan cantidades masivas de huevos de lombrices intestinales en alcantarillas antiguas. La Ascaris lumbricoides prospera en condiciones de contaminación humana, indicando una alta prevalencia de infecciones parasitarias crónicas entre la población romana.

Peligros visibles y subterráneos

Pulpos gigantes nadaban por las tuberías, como cuenta el autor Heliano sobre Puteoli. Las alcantarillas eran cajas negras que conectaban la ciudad con el caos del mundo natural, habitadas por ratas, insectos o criaturas marinas.

Explosiones de gases: un peligro latente

Los romanos dependían de la gravedad y no tenían trampas de gases en sus tuberías, lo que generaba gases volátiles inflamables. Aunque no hay evidencia de explosiones reales en las fuentes antiguas, el riesgo era alto, especialmente con lámparas de aceite.

Lidiar con el estrés

Ante un entorno aterrador, los romanos recurrían a la religión. La diosa Fortuna era venerada activamente en las letrinas, invocada para pedir un tránsito intestinal fluido y protección contra demonios o el mal de ojo. Altares dedicados a ella han sido encontrados en paredes de letrinas comunitarias.

Gestión de desechos en casas privadas

En casas acomodadas, las letrinas estaban dentro o cerca de las cocinas, sin separación física. Para los romanos, el mal olor no era un vector de infección, así que la lógica era de eficiencia logística: usar el flujo del agua para limpiar el pozo ciego y optimizar el trabajo doméstico.

Los estercorari: trabajadores de la basura

Los estercorari vacían pozos ciegos a cambio de una tarifa. Su modelo de negocio incluye revender los desechos como fertilizante, cerrando un ecosistema económico. Un sistema organizado que demuestra la necesidad y pragmatismo romano.

Dualidad fascinante

Roma fue genial en ingeniería del agua con acueductos inmensos, pero su falta de conocimiento biológico creó un mundo subterráneo aterrador, maloliente y plagado de parásitos. Mover el agua de A a B sin entender lo que transportaba a nivel microscópico.

Reflexión final

Pensando en la Boca de la Verità, ¿qué objeto cotidiano actual será malinterpretado por los arqueólogos del futuro? Nuestros inodoros blancos podrían ser vistos como altares religiosos individuales para meditar en soledad. El contexto funcional se evapora con el tiempo.

Sonido en iMac 18,3 (2017) con Arch Linux: Guía Definitiva

Esta es una guía estructurada para habilitar el sonido en un iMac de 27 pulgadas (2017), identificado como iMac18,3, bajo Arch Linux. Aunque este equipo es una excelente máquina, su chip de audio Cirrus Logic requiere una configuración que no viene de serie en el kernel de Linux.

<small>Nota: Esta entrada ha sido generada por un asistente de inteligencia artificial basándose en un proceso real de resolución técnica.</small>


Hacer que el sonido funcione en un iMac de 2017 bajo Linux ha sido históricamente un proceso de ensayo y error. El problema radica en que, aunque el sistema identifica el chip, los amplificadores internos no se activan sin un parche específico. Tras varias pruebas, aquí presento el camino lógico y reproducible para estabilizar el audio (incluso tras la suspensión).

1. Red de seguridad: Kernel LTS

Antes de modificar módulos del sistema, es vital tener un kernel de respaldo por si algo falla en el arranque.

Bash

# Install the LTS kernel and its headers
sudo pacman -S --needed linux-lts linux-lts-headers

# Update GRUB configuration to include the fallback entry
sudo grub-mkconfig -o /boot/grub/grub.cfg

2. Preparación del entorno

Necesitamos las herramientas de compilación y las cabeceras de tu kernel actual para poder generar el controlador de sonido.

Bash

# Install base development tools and kernel headers
sudo pacman -S --needed base-devel dkms linux-headers alsa-utils

3. Instalación del controlador (DKMS)

Utilizaremos el parche snd-hda-macbookpro, que habilita el soporte para el chip CS8409. Usar DKMS es fundamental para que el controlador se recompile automáticamente con cada actualización del kernel.

Bash

# Install the driver from AUR
yay -S snd-hda-macbookpro-dkms-git

El «Fix» de la ruta de compilación

En versiones recientes del kernel, la estructura de directorios ha cambiado y el instalador de DKMS puede fallar al no encontrar el archivo .ko. Debemos corregirlo manualmente:

  1. Edita el archivo de configuración: sudo nano /usr/src/snd-hda-macbookpro-0.1/dkms.conf
  2. Busca la línea BUILT_MODULE_LOCATION[0] y asegúrate de que apunte a la ruta de Cirrus: BUILT_MODULE_LOCATION[0]="build/hda/codecs/cirrus/"
  3. Guarda y sal (Ctrl+O, Intro, Ctrl+X).

Ahora, fuerza la compilación correcta:

Bash

# Remove any failed state and install properly
sudo dkms remove snd-hda-macbookpro/0.1 --all
sudo dkms add snd-hda-macbookpro/0.1
sudo dkms install snd-hda-macbookpro/0.1

4. Configuración del Servidor de Sonido

Para que el sistema gestione correctamente las rutas de audio y la convivencia entre aplicaciones, instalaremos la pila completa de PipeWire.

Bash

# Install PipeWire and compatibility layers
sudo pacman -S --needed pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber

Si el sistema pregunta por conflictos con jack2, acepta la eliminación para sustituirlo por el soporte de PipeWire.

5. Activación del Hardware (AlsaMixer)

Tras reiniciar el equipo, el driver estará cargado pero es probable que los canales físicos estén silenciados por defecto.

  1. Ejecuta alsamixer en la terminal.
  2. Pulsa F6 y selecciona la tarjeta de sonido interna (HDA Intel PCH o similar).
  3. Busca los canales Speaker y Front. Si ves un recuadro con [MM], pulsa la tecla M para que cambie a [00] (activado).
  4. Busca el control Auto-Mute Mode y cámbialo a Disabled. Esto evita que los altavoces se apaguen erróneamente.
  5. Sal con Esc y guarda la configuración:Bashsudo alsactl store

Conclusión

Con estos pasos, el iMac 18,3 debería recuperar su sistema de sonido nativo. La gestión de energía bajo este parche ha demostrado ser estable, manteniendo el audio funcional incluso después de que el equipo entre en modo de suspensión y despierte.

¿Por qué Apple sigue ganando tanto dinero?

Descubre por qué Apple no te tiene en su radar y cómo la fuga de código de Cloud puede afectar a las aplicaciones de IA.

Este texto ha sido generado con un LLM a partir del audio del autor. El contenido y las ideas son del autor; la redaccion ha sido asistida por inteligencia artificial.


¿Apple y yo? No, gracias

Es evidente que el usuario objetivo de Apple no somos tú ni yo. Apple sigue ganando cantidades escandalosas y eso se debe a que sus productos no están pensados para nosotros.

Por ejemplo, le pregunté a un amigo sobre su portátil nuevo. Resulta que en casi un mes lo ha cargado solo dos veces. Y cuando le hablé de mejorar la redacción con IA o resumir páginas web, me dijo que ni lo había usado ni le interesaba. Así es como Apple sigue vendiendo tanto.

Mi reloj y yo: una relación complicada

Mi reloj Apple Watch también me ha dado problemas. Con la versión .4 las notificaciones dejan de funcionar. Hago un reset forzado, pero solo dura unas horas. Además, funcionan selectivamente. Y lo peor es que mide mal el sueño. Me da zonas grises y me dice que he dormido bien cuando en realidad he estado una hora despierto.

Inconvenient tiene el mismo problema con su reloj. Le da igual. Protesta un poco, pero no le importa demasiado. Ella es el target, no yo, ¿qué puedo hacer?

El Mac de Inconvenient y las actualizaciones

Inconvenient está contenta con su nuevo Mac, pero sé que cuando llegue la próxima actualización empezarán a surgir quejas. Es inevitable.

La fuga de código de Cloud

Hace poco se ha escapado el código fuente de un componente de Cloud. No fue intencionado ni obra de un empleado descontento. Pero ahora todo el mundo puede acceder al código y estudiar cómo funciona la aplicación.

Los programadores pueden encontrar ideas interesantes o criticar cómo se han hecho las cosas. En Twitter hay gente analizando el código, pero no profundizan demasiado.

Los colorinchis nuevos

Le pregunté a Inkconvenient sobre los colorinchis nuevos en su teléfono y en su Mac, y me dijo que le gustan mucho. Y es normal porque ella es el target de Apple, no yo. Vamos, el tío Paco o la señora María. A nosotros nos molan estas mariconadas, por eso yo no soy su target. Es el año del Luser.

¿Nubes o discos duros? Analizamos los costes de almacenar tus datos

Descubre si es mejor pagar por una nube o invertir en equipos con más espacio. Analizamos los pros y contras de cada opción.

Este texto ha sido generado con un LLM a partir del audio del autor. El contenido y las ideas son del autor; la redaccion ha sido asistida por inteligencia artificial.


¿Nubes o discos duros? La batalla por el almacenamiento

Hoy te traigo un tema interesante: la lucha entre las nubes públicas y los dispositivos locales para almacenar tus datos. Vamos a hacer unos cálculos rápidos para ver si vale la pena pagar una nube o invertir en equipos con más espacio.

Las nubes públicas como Dropbox, Google Drive, OneDrive o iCloud son muy prácticas, pero ¿son realmente eficientes? Hemos probado algunas y hemos encontrado algunas limitaciones. Por ejemplo, iCloud Drive ha tenido problemas de sincronización, olvidando subir o bajar ficheros, especialmente cuando se trata de un gran número de archivos.

Ventajas e inconvenientes de las nubes públicas

Dropbox es bastante rápido subiendo ficheros, pero consume más batería que otras opciones. Por otro lado, iCloud Drive es muy lento y ha presentado fallos en la sincronización. Y si hablamos de OneDrive… mejor ni mencionarlo. Es un desastre absoluto, especialmente con multicuenta.

La solución: Synology Drive

Synology Drive ofrece una alternativa interesante. Es una nube privada que puedes tener bajo tu control, permitiendo sincronizar ficheros entre diferentes NAS (Network Attached Storage). Con Synology Drive, he podido solucionar los problemas de límite de ficheros y la lentitud en la sincronización.

Cálculos económicos: ¿Nube o espacio adicional?

Un terabyte en la nube cuesta alrededor de 50 euros al año. Si quieres tener ese mismo espacio en tu disco duro, tendrías que invertir una cantidad considerable de dinero en equipos actualizados. En el caso de Apple, la diferencia de precio entre un equipo base y uno con un terabyte adicional es de unos 750 euros. En Android, la diferencia es menor, pero aún así significativa: alrededor de 500 euros.

Así que, para tener un terabyte en todos tus dispositivos (teléfono, tableta y ordenador), tendrías que gastar entre 1.200 y 1.800 euros extra. Y eso sin contar el costo recurrente de mantener esos equipos durante años.

La opción más barata: NAS

La solución más económica a largo plazo es optar por un NAS. Puedes comprar uno que te dure unos 10 años sin problemas, y no tendrás que pagar recurrentemente como con las nubes públicas. Además, el NAS ofrece la ventaja de tener tus datos siempre accesibles y bajo tu control.

En resumen, si eres un usuario normal, es probable que tengas que elegir entre pagar por más espacio en tu teléfono o invertir en una nube pública. Pero si quieres ahorrar a largo plazo, la opción más inteligente es ir por el NAS.

De Asimov en inglés a mi e-reader en español: Cómo construí un traductor de EPUBs «con alma» usando IA local

Todos los que amamos la lectura nos hemos topado con ese muro: un libro o una revista técnica que nos morimos por leer, pero que solo está disponible en inglés. Sí, existen traductores automáticos, pero suelen ser fríos, pierden las sutilezas y, lo peor de todo, destrozan el formato del libro original.

Aprovechando la potencia de mi nuevo Mac Studio M4 Max, decidí que ya era hora de dejar de pelearme con diccionarios y crear una herramienta que hiciera el trabajo sucio por mí, pero con la calidad de un traductor que entiende el contexto.

La idea: No queremos palabras, queremos historias

La premisa era sencilla: quería un proceso que tomara un archivo EPUB, lo tradujera usando un modelo de lenguaje (LLM) potente como Command R 35B y me devolviera otro EPUB idéntico en formato pero en mi idioma.

El camino no fue lineal, y como suele pasar en el desarrollo, la primera idea no fue la definitiva.

Paso 1: El desvío por el Markdown

Mi idea original era convertir el libro a Markdown, traducirlo y volver a generar el EPUB. ¿El problema? Los libros electrónicos son estructuras complejas de XHTML y CSS. Al convertir a Markdown, perdía los estilos específicos de la editorial, las fuentes embebidas y esa maquetación que hace que un libro sea cómodo de leer.

Paso 2: La cirugía estética (XHTML bloque a bloque)

Cambiamos de estrategia. Empezamos a abrir las «tripas» del libro y a extraer cada párrafo del código XHTML para enviárselo al modelo. Funcionaba, pero surgió un enemigo inesperado: la pérdida de contexto.

Si le envías a una IA diez párrafos sueltos, no sabe si «the ship» es una nave espacial o un barco, o si el protagonista es hombre o mujer si no se menciona en ese trozo exacto. La traducción perdía coherencia. Además, el modelo a veces se «cansaba» y dejaba los últimos párrafos de cada bloque en inglés.

Paso 3: El equilibrio perfecto (Markdown interno)

La solución final fue un enfoque híbrido. En lugar de convertir el libro entero, el script ahora:

  1. Extrae el contenido de cada capítulo.
  2. Lo limpia de «ruido» de código convirtiéndolo temporalmente a Markdown.
  3. Envía el capítulo entero al modelo. Al ver el capítulo completo, la IA entiende el tono, el género y la continuidad narrativa.
  4. El resultado se convierte de nuevo a HTML y se inyecta en la estructura original del libro.

El toque final: Un ciudadano ejemplar en macOS

Para que el proceso fuera perfecto, añadimos dos detalles de «calidad de vida»:

  • Separación silábica: El script marca el nuevo libro como «Español». Esto parece una tontería, pero si no lo haces, el Kindle o el Kobo intentarán separar las palabras siguiendo reglas inglesas, y verás cortes extrañísimos al final de cada línea.
  • Gestión de memoria: Usando la línea de comandos de LM Studio, el script carga el modelo al empezar y lo descarga al terminar. Así, mis 36GB de RAM vuelven a estar disponibles para programar en C# o C++ en cuanto el libro está listo.

¿Piratería o cultura?

Esta herramienta no es para piratear. Es para acceder a cultura que, de otro modo, se me quedaría fuera del alcance por la barrera idiomática. Es usar la tecnología para lo que mejor sabe hacer: derribar muros.

Si tienes un Mac potente o una buena GPU y quieres probarlo, aquí te dejo el script final. Solo necesitas LM Studio corriendo de fondo.


El Script: EPUB Translator v4.3

Python

import os
import sys
import subprocess
import warnings
import shutil
import ebooklib
from ebooklib import epub
from bs4 import BeautifulSoup, XMLParsedAsHTMLWarning
from markdownify import markdownify as md
import markdown
from openai import OpenAI

# --- CONFIGURACIÓN ---
PORT = "46357"
MODEL_ID = "c4ai-command-r-08-2024" 
TIMEOUT_LLM = 1200.0 # 20 minutos por capítulo

DEBUG_ROOT = "debug_traduccion"
ORIGINAL_DIR = os.path.join(DEBUG_ROOT, "1_original_xhtml")
TRANSLATED_DIR = os.path.join(DEBUG_ROOT, "2_traducido_xhtml")

warnings.filterwarnings("ignore", category=XMLParsedAsHTMLWarning)
BASE_URL = f"http://localhost:{PORT}/v1"
client = OpenAI(base_url=BASE_URL, api_key="lm-studio", timeout=TIMEOUT_LLM)

def preparar_carpetas():
    if os.path.exists(DEBUG_ROOT): shutil.rmtree(DEBUG_ROOT)
    os.makedirs(ORIGINAL_DIR); os.makedirs(TRANSLATED_DIR)

def manage_model(action="load"):
    """Gestiona el modelo usando el CLI 'lms' de LM Studio."""
    try:
        if action == "load":
            print(f"🚀 Cargando modelo: {MODEL_ID}...")
            subprocess.run(["lms", "load", MODEL_ID], check=True, capture_output=True)
        else:
            print("💤 Descargando modelos...")
            subprocess.run(["lms", "unload", "--all"], check=True, capture_output=True)
        print(f"✅ Operación '{action}' completada.")
    except Exception as e:
        print(f"⚠️ Error al gestionar modelo: {e}")

def is_untranslated(original, translated):
    """Detecta si el modelo ha devuelto el texto original sin cambios."""
    def clean(t): return "".join(t.split()).lower()
    return clean(original) == clean(translated)

def translate_markdown(content, source_lang, genre):
    system_prompt = f"""You are a professional literary translator. 
Translate this Markdown from {source_lang} to Spanish. Genre: {genre}.
RULES:
1. Preserve all Markdown formatting.
2. Return ONLY the translated Markdown."""

    try:
        response = client.chat.completions.create(
            model="local-model",
            messages=[{"role": "system", "content": system_prompt}, {"role": "user", "content": content}],
            temperature=0.1
        )
        translated = response.choices[0].message.content
        if is_untranslated(content, translated):
            print("   [!] El modelo devolvió el texto original. Reintentando...")
            return None
        return translated
    except Exception as e:
        print(f"   [!] Error API: {e}")
        return None

def process_epub(input_path, source_lang, genre):
    preparar_carpetas()
    manage_model("load")
    
    book = epub.read_epub(input_path)
    # Forzar metadatos de idioma a español para hyphenation correcta
    book.metadata['http://purl.org/dc/elements/1.1/']['language'] = [('es', {})]
    book.set_language('es')

    for item in book.get_items():
        if item.get_type() == ebooklib.ITEM_DOCUMENT:
            item_name = item.get_name()
            
            # Saltamos portadas e índices para no romper enlaces estructurales
            skip_keywords = ["TOC", "COVER", "TITLEPAGE", "NAV", "PORTADA"]
            if any(key in item_name.upper() for key in skip_keywords):
                print(f"⏩ Saltando: {item_name}")
                continue

            print(f"📖 Traduciendo: {item_name}")
            file_name = item_name.replace("/", "_")
            original_xhtml = item.get_content().decode('utf-8')
            
            # Guardar original para debug
            with open(os.path.join(ORIGINAL_DIR, file_name), "w", encoding="utf-8") as f:
                f.write(original_xhtml)

            # Paso a Markdown -> Traducción -> Paso a HTML
            md_content = md(original_xhtml, heading_style="ATX")
            translated_md = translate_markdown(md_content, source_lang, genre)
            
            if translated_md:
                new_body = markdown.markdown(translated_md)
                soup = BeautifulSoup(original_xhtml, features="xml")
                if soup.body:
                    soup.body.clear()
                    soup.body.append(BeautifulSoup(new_body, "html.parser"))
                
                # Marcar el archivo interno también como español
                html_tag = soup.find('html')
                if html_tag:
                    html_tag['lang'] = 'es'
                    html_tag['xml:lang'] = 'es'
                final_xhtml = soup.encode('utf-8')
            else:
                final_xhtml = original_xhtml.encode('utf-8')

            item.set_content(final_xhtml)
            with open(os.path.join(TRANSLATED_DIR, file_name), "wb") as f: 
                f.write(final_xhtml)

    out_name = f"ES_{os.path.basename(input_path)}"
    epub.write_epub(out_name, book)
    manage_model("unload")
    print(f"\n✅ Proceso finalizado: {out_name}")

if __name__ == "__main__":
    if len(sys.argv) < 4:
        print("Uso: python traductor.py libro.epub English ScienceFiction")
    else:
        process_epub(sys.argv[1], sys.argv[2], sys.argv[3])

Entrada creada con el apoyo de Gemini 3.1

El misterio de los gigabytes fantasma en macOS: Cómo encontrar y recuperar el espacio perdido

Es una de las situaciones más frustrantes a las que te puedes enfrentar en macOS: tu disco duro empieza a llenarse de forma incontrolable y no tienes ni puta idea de por qué. Abres la ventana de Almacenamiento y ves que una categoría genérica llamada «Datos del sistema» está devorando cientos de gigabytes.

Ejecutas herramientas como BuhoCleaner o CleanMyMac y no encuentran nada. Ejecutas comandos de consola y la suma de tus archivos no cuadra con el espacio ocupado. Parece kafkiano, especialmente si estás en una instalación limpia.

Si te encuentras en esta situación, el problema casi siempre radica en un proceso del sistema que ha entrado en un bucle infinito de escritura, oculto detrás de las férreas capas de seguridad de Apple. Así es como puedes desenmascararlo paso a paso.

Por qué fallan las herramientas convencionales

En las versiones modernas de macOS, el sistema cuenta con SIP (System Integrity Protection) y estrictas políticas de privacidad (TCC). Esto significa que hay carpetas críticas a las que ni siquiera el superusuario (root) puede acceder por defecto.

Si un demonio del sistema entra en bucle y llena una de estas carpetas protegidas, las aplicaciones de limpieza de terceros no verán esos archivos. Y lo que es peor: si usas el comando du en la Terminal sin los permisos adecuados, el sistema simplemente saltará esos directorios en silencio, haciéndote creer que el disco está vacío cuando en realidad está a reventar.

El proceso para cazar los archivos fantasma

Para encontrar exactamente qué directorio se está comiendo tu almacenamiento, vamos a usar la Terminal, pero primero tenemos que darle el poder para ver el disco completo.

Paso 1: Otorgar Acceso Total al Disco

  1. Abre Ajustes del Sistema.
  2. Ve a Privacidad y seguridad > Acceso total al disco.
  3. Busca Terminal en la lista y activa el interruptor (si no está, añádela con el botón «+»).
  4. Cierra la Terminal por completo y vuelve a abrirla.

Paso 2: Escanear la raíz del volumen de datos

Con la Terminal sin restricciones, vamos a escanear el volumen real donde residen los datos de usuario. Ejecuta este comando (te pedirá la contraseña):

Bash

sudo du -hd 1 /System/Volumes/Data 2>/dev/null | sort -hr | head -n 12

Este comando listará los directorios más pesados ordenados de mayor a menor, omitiendo los errores de lectura. Aquí verás la realidad. Si la carpeta /System/Volumes/Data/Users muestra un tamaño desproporcionado (por ejemplo, más de 300 GB cuando apenas tienes archivos), ya sabes dónde está el problema.

Paso 3: Rastrear el directorio exacto

Ahora toca ir bajando niveles. Escanea tu carpeta de usuario:

Bash

sudo du -hd 1 /Users/TU_USUARIO 2>/dev/null | sort -hr | head -n 12

Si el sumidero de gigabytes está en Library, sigue profundizando. En muchos casos de instalaciones recientes, el problema se esconde en los contenedores de grupo:

Bash

sudo du -hd 1 /Users/TU_USUARIO/Library/Group\ Containers 2>/dev/null | sort -hr | head -n 12

Paso 4: Identificar al culpable (El caso de useractivityd y cloudd)

Si en el paso anterior descubres que una carpeta llamada group.com.apple.coreservices.useractivityd ocupa una barbaridad de espacio, acabas de dar con un error conocido de la infraestructura de CloudKit y Continuidad.

El proceso cloudd (que maneja la sincronización en segundo plano, incluso si iCloud Drive está apagado) o useractivityd (encargado de Handoff y el Portapapeles Universal) pueden atascarse tras una instalación limpia o un error de red. Al fallar, entran en un bucle infinito, volcando la memoria caché al disco una y otra vez hasta agotarlo.

Cómo solucionarlo de raíz

Una vez localizada la carpeta temporal inflada, la solución es detener el proceso y eliminar la basura generada. Son cachés de estado, por lo que su borrado es seguro.

  1. Detén el proceso responsable temporalmente:Bashkillall useractivityd (Nota: si tu problema venía de CloudKit general, puedes usar killall cloudd)
  2. Vacía el contenido de la carpeta problemática (asegúrate de poner la ruta exacta que te devolvió el comando du):Bashsudo rm -rf ~/Library/Group\ Containers/group.com.apple.coreservices.useractivityd/*

Tras ejecutar esto, verás en el Finder cómo tu espacio libre vuelve a la normalidad de forma instantánea. Para evitar que el bucle se reinicie, es recomendable ir a Ajustes del Sistema > General > AirDrop y Handoff, desactivar la opción de permitir Handoff y volver a activarla pasados unos segundos.