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.

LL0150 – Apostillas a las últimas novelas de Heinlein

¿Qué tal, queridos lectores? Hoy dejaremos a un lado las ediciones anotadas y demás para hablaros de otro podcast, o más bien, completar lo que se comentó en otro programa.

Mis podcasts de cabecera sobre ciencia ficción son «Verne y Wells Ciencia Ficción»… Bueno, en realidad era, porque el hombre desde hace tiempo se dedica solo a repetir audios que ya tenía grabados, algunos con una calidad bastante penosa, y no los actualiza. Al menos podría añadir al principio o al final algo como: «Desde que grabé este audio hace X años, ahora se sabe que…». Por ejemplo, hay uno sobre La Fundación que da vergüenza ajena, y lo publicó hace cosa de un año.

Mi segundo podcast, que ahora es el primero, es «Los Retronautas». De hecho, es el único podcast al que aporto dinero, y es voluntario. Es decir, la parte de pago corresponde a un audio extra que hacen muy de vez en cuando. Y yo no pago por ese audio adicional, sino porque creo que merece la pena que estos señores se tomen una cerveza a mi costa, con el dinero ganado con mi esfuerzo.

Llevo una temporada reescuchando podcasts. Cuando hablan de cómics no me interesa; los cómics, como ya he comentado en algún sitio, para mí son dibujitos con cuadraditos de gente diciendo cosas, y no suelo centrarme en la historia como lo haría con una novela. En el cómic sigo estando fuera de esa suspensión de la realidad que me pide, mientras que con la novela no me ocurre. Es una limitación mía.

No estoy diciendo que los cómics sean basura ni nada por el estilo. Como todo en este mundo, el 90% de cualquier cosa es mediocre. Lo mismo pasa con los cómics, los libros y todo lo demás.

Hace poco publicaron una serie sobre Robert A. Heinlein. Pongo aquí el enlace del último audio de la serie para que lo escuchéis si así os parece. Quiero hacer una seri de comentarios para complementar lo que han dicho, no para criticarlos.

Las últimas etapas de Heinlein fueron un tanto polémicas, las que ellos llaman «etapa de decadencia». En cierta medida es una decadencia y en cierta medida es Heinlein en su máximo esplendor. La lástima es que en sus últimos libros ya se soltó la melena. Lo que aparecía reflejado indirectamente en todos sus libros a lo largo de su carrera (el incesto, las relaciones con menores, y digamos, la orgía continua), ya se desata abiertamente y en sus obras aparece muchísima actividad sexual. No aparece sexo explícito, pero sí muchas orgías y un feminismo que en su momento fue revolucionario, pero que ahora resulta bastante trasnochado.

Como comentan ellos mismos, la segunda mujer de Heinlein era mejor que él en todo: más atlética, con más títulos académicos, más versátil… solía hacer muchas más cosas que él. Mucho más independiente. De hecho, cuando Heinlein murió, esta mujer supo gestionar con mano firme su herencia literaria y económica. Creo que ella falleció en el 92 o quizá en 2002, no recuerdo exactamente, pero mantuvo bastante coherencia en todo lo relacionado con Heinlein.

En «La Luna es una cruel amante» mencionan que Mike, el ordenador, de repente (spoilers totales a partir de ahora) después de que ganan la revolución, se calla. Comentan, evidentemente, que si hubieran continuado con Mike sin haberse callado, habría terminado siendo una dictadura supuestamente benevolente, porque Mike habría seguido evolucionando y habría tomado el control de todo. Entonces, como bien dicen, Heinlein aparta a Mike de la escena.

Pero Heinlein sabía que eso era un error argumental bastante grave, y por eso en «El gato que atraviesa las paredes» explica la inconsistencia. ¿Y cuál es esa inconsistencia? Pues muy sencillo: que Gay Deceiver, justo cuando ganan la revolución, entra y se lleva a Mike. Lo reemplazan por una máquina sin conciencia propia. Creo que en el último libro, en «Navegando al amanecer» o algo así, aparece Mike ya encarnado en un cuerpo humano.

Como ya he comentado, en las últimas etapas de Heinlein, las inteligencias artificiales sólo quieren tener cuerpo humano para mantener relaciones con Lazarus Long. Son todas mujeres (las que eran femeninas se convierten en mujeres, o las masculinas tienen un clon mujer y un clon hombre gemelos) para tener sexo y niños con él. En fin, son las manías del autor, nadie es perfecto.

Para terminar, otra cosa que comentan es que Heinlein, en su última obra publicada, cierra toda la serie de Lázaro Long. Yo creo que la cierra bastante bien con el tema del mundo como mito. Viene a decir que si alguien ha pensado un universo, ese universo existe por el mero hecho de haberlo imaginado. En teoría, es una versión válida (lógica y formalmente) del multiverso: si el multiverso es infinito y existen infinitos universos, existe un universo donde existe el Mago de Oz, y existe otro universo donde existe el propio Heinlein.

Esto me lleva al tema de que, para leer la historia completa de Lazarus Long, habría que empezar con «Historia del futuro», que por cierto Heinlein terminó eliminando “Y también paseamos perros” con razón, porque en el resto de su obra no hay extraterrestres, salvo en un relato largo ambientado en Venus que más o menos se menciona de pasada.

Luego está «Universo» y su continuación, cuyo título exacto no recuerdo, que aquí en España se publicó como libro independiente. Se trata de una nave generacional, igual que en «Las 100 vidas de Lazarus Long», donde roban una nave y escapan. Fabrican otra nave generacional que funciona correctamente y parten hacia Alfa Centauri, pero pierden el contacto con ella al cabo de un tiempo. Esa es la historia que… bueno, está bien sin estar especialmente bien. Podéis saltárosla.

Después empieza «Tiempo para amar», «El número de la bestia», «El gato que atraviesa las paredes» y el último, cuyo título no recuerdo ahora. En «Tiempo para amar» encontramos la pesadez de Heinlein, digo, de Long contando su experiencia vital y varias historias que le suceden a lo largo de su vida.

«El número de la bestia» es cuando aparece la máquina interdimensional de Jake. Este libro es muy curioso, hace muchas referencias a las novelas pulp. De hecho, «The Pursuit of the Pankera» es un manuscrito que encontraron años después, hace unos cinco o seis años, que es una versión completamente diferente de «El número de la bestia».

El libro comienza exactamente igual, pero llega un punto en que el primer salto no lo hacen al Marte de «El número de la bestia», sino al Marte de Barsoom, y de ahí pasan al universo de los Señores de la Lente y a un par de universos más por el estilo. En «El número de la bestia» saltan al universo de los rusos e ingleses en Marte, y luego también a Oz en ambos libros.

Lo curioso es que en «El número de la bestia», el libro publicado originalmente, comentan «¿Qué pasa con los Señores de la Lente? Yo era fan de los Señores de la Lente», y la respuesta es que «Esos universos tenían algo raro». Ahí es donde encaja «The Pursuit of the Pankera». La secuencia correcta sería: primer salto al Marte extraño, segundo salto al Marte de Edgar Rice Burroughs, luego pasan por todos estos universos y finalmente llegan a Oz (creo) y de refilón por Burroughs.

La historia también diverge porque en «El número de la bestia» simplemente aparecen resucitando a Isaac Newton y a otros genios famosos, y en una reunión ven a uno de los hombres que intentan evitar que consigan el multiverso. En «The Pursuit of the Pankera», hay escenas previas a esto. En «El número de la bestia» hay unas escenas en las que van a un universo para que las chicas tengan sus bebés, y hay una serie de saltos extraños. Cuando leí «El número de la bestia» pensé «aquí hay cosas que no cuadran». ¡Claro que no cuadran! Ahí hay una trama complejísima con los Señores de la Lente, que les explican lo del salto interdimensional, y se dedican a exterminar a esos seres que intentan evitar que otros universos descubran el salto entre dimensiones y el viaje temporal. Esa es la mezcla de los dos libros.

Se me ha ocurrido que podría enviar un tweet a la sociedad literaria de Heinlein, sugiriendo que podrían construir una novela coherente combinando las dos obras.

Luego está «El gato que atraviesa las paredes», que son más historias, como lo que os comentaba de Mike, al que rescatan. Vuelven al universo de «La Luna es una cruel amante», donde el sistema político ya está bastante deteriorado. El problema es que estas historias hubieran quedado mucho mejor, y la novela mucho más corta y entretenida, sin tanto contenido sexual. Os insisto, no hay nada explícito, todo es implícito, pero acaba resultando cansino.

Por último tenemos «Navegando más allá del ocaso», que se publicó aproximadamente un año antes de la muerte de Heinlein. Esta novela, que también está llena de ese rollo que ya he mencionado y que resulta muy pesado, termina uniendo todos los hilos. Quizá sea en esta novela, y no en «The Pursuit of the Pankera» (que leí hace tanto tiempo), donde se hacen estas conexiones.

Hace mucho que leí «The Pursuit of the Pankera», cuando salió, y creo que leí «El número de la bestia» por separado, pero ya hace bastante tiempo y no los he vuelto a leer. Estoy esperando… los que me seguís en el podcast sabéis que estoy leyendo la obra completa de Heinlein más o menos cronológicamente, junto con su biografía, aunque llevo un año y pico parado.

Me estoy animando para retomarlo. Posiblemente, cuando termine con los Kuttner y con Lovecraft, tomaré a Heinlein. Me quedan nueve novelas juveniles por leer de Heinlein, que quizá las lea de un tirón en la siguiente etapa.

En esta última novela se explican todas las cosas. Los retronautas (nunca me acuerdo de sus nombres, ¡qué despiste!) comentan algo sobre la famosa reunión del año tal, pero no se trata de esa reunión. Ellos dicen que Heinlein se equivoca, pero creo que se refieren a la reunión que hubo en «Las 100 vidas de Lázaro» donde se reúnen todas las familias Howard cuando están siendo amenazadas.

No hablan de esa, sino de una reunión anterior, muy famosa, que se menciona en todas las historias de Heinlein, absolutamente en todas. Es una reunión que definió el futuro de las Familias y cómo podían sobrevivir. Alguien llamado Lleváis Smith o Jonathan Smith, uno de los nombres de Lázaro Long en aquella época, les explicó lo que debían hacer para sobrevivir a la «Historia del futuro», a la época religiosa, a lo de «las carreteras deben rodar» y todo eso.

Lo que ocurre es que Heinlein, o mejor dicho, Lázaro Long (que es Heinlein), en esa reunión les explicó todo lo que iba a pasar, incluyendo lo de los universos. Entonces, la cúpula directiva de la familia Howard ya sabía que en el futuro existiría el viaje en el tiempo, y que tendrían que hacer ciertas inversiones en determinados momentos, ocultando algunas cosas en otros momentos.

Quizá el error al que se refieren ellos es que Lázaro no les cuenta cuándo escapan de la Tierra en uno de los universos. No sé, hay algunas inconsistencias que podrían ser a lo que se refieren en el podcast.

El caso es que en esta última novela, durante páginas y páginas, Lázaro Long va contando: «Cuando llegue el año tal, tendréis que hacer tal cosa, así que deberíais invertir aquí y allá. No compréis esto. Recordad que Fulano de Tal, que cuando llegue se llamará Mengano, intentará hacer esto; no le dejéis porque provocará aquello otro». Todo esto conociendo todos los universos que ha visitado, para conducirlos por una línea temporal concreta, que supongo que es la propia de Lázaro Long, no la nuestra. Se supone que es una línea temporal diferente en la que llegan al lugar del cual Lázaro Long retorna.

Otra novela de Heinlein que no han leído y que deberían leer es «Job: Una comedia de justicia». También es una novela de viajes en el tiempo, aunque un poco fantasiosa. No se explica el método por el cual viajan en el tiempo, pero trata de un chico, primero una parejita y luego solo el chico, que están recién casados creo que en un barco, y de repente se despiertan tras un suceso extraño y han cambiado de universo. Toda la novela gira en torno a estos cambios repentinos de universo que van experimentando sin comprenderlos.

Tienen una tarea que cumplir, y cuando la completan, él se da cuenta de cuál era su propósito. Es similar a esa película donde el protagonista se levanta cada mañana repitiendo la misma historia hasta que hace lo que debe hacer. Esto es parecido, aunque la película seguramente es posterior, así que podría estar basada en esta historia.

En fin, es entretenida y contiene las típicas lecciones de vida de Heinlein, pero no es tan pesada ni tiene tanto sexo implícito. Por el argumento y la forma de narrar, creo que es una obra anterior que encontró en algún cajón, la retocó un poco y publicó en aquel momento. Es bastante de los años cincuenta más que de los sesenta.

Simplemente quería complementar lo que ellos no han contado porque no han leído esos libros, pero yo sí los he leído todos y quería añadir esta información para completar ese final de podcast.

Ya sabéis, no olvidéis convertiros en sospechosos habituales. ¡Hasta pronto!

(Adaptación de la transcripción del audio de mismo nombre realizada con Claude 3.7. Si hay algo raro, protestáis a Claude, no a mi).

Comparativa de ediciones de los Cuentos de Poe

En el momento de escribir esto, tengo tres ediciones diferentes de los cuentos completes de Poe. La más antigua de todas, es la infame traducción de Julio Cortázar, publicada originalmente en dos tomos por Alianza Editorial, y digo infame porque, según él mismo expresó cuando se le confrontó con su traición, mejoró los cuentos originales, pero los ofreció como una traducción. Y aunque he de reconocer que son los que más fácil se leen, no son lo que Poe escribió en la realidad.

La siguiente edición que obtuve fue la de Penguin, en un solo tomo y que, según las introducciones, recoge la selección de uno de los expertos en Poe: Thomas Ollive Marbot. Esta edición no es menos problemática porque es un Frankenstein de traducciones, recogidas de aquí y de allá que, encima, y a mi parecer, tampoco es muy buena. Aparte de eso, no incluye la aventura de Hans Pfaall, porque dice que no es un cuento, pero sí incluye varios de los ensayos que, a todas luces, no son cuentos.

Y finalmente, hace no mucho, Páginas de Espuma editó una nueva edición, con nueva traducción, también en un solo volumen de más de mil páginas, e ilustrado con una serie de dibujos abstractos a tinta, que expresan muy bien el contenido de los cuentos. Erratas aparte (alguna hay), es la edición que más me está gustando de todas, y es la que estoy leyendo ahora mismo.

La tabla inferior muestra el listado de las tres ediciones y qué trae cada una respecto a las demás, partiendo de la fecha y títulos originales. Como siempre en este tipo de listados, un hueco significa que, en esa posición, la edición no contiene el cuento. Al final de la tabla se recogen las cosas raras, como los artículos que no son cuentos que aparecen en la edición de Penguin, y los cuentos que sí lo son y solo aparecen en una de las ediciones, como El faro, El alce, etc..

Lo más curioso de todo es Elegance, que aparece en Penguin, con la traducción de Elegancias, pero que no he conseguido encontrar a qué cuento se refiere en realidad. Claude Sonnet 3.7 no es capaz de reconocerlo, y según la IA a partir del arranque del texto traducido, se podría corresponder a una edición diferente de Loss of breath, pero eso no es cierto ni de lejos, ya que se trata del cuento Los leones, en el que se trata sobre la nasología. Ignoro por qué se produce esta confusión.

             Año                       Título original                       Páginas de Espuma                       Penguin          Alianza
1831A Dream Un sueño 
1832MetzengersteinMetzengersteinMetzengersteinMetzengerstein
1832The Duc De L’OmeletteEl duque de l’OmeletteEl duc de L’OmeletteEl duque de l’Omelette
1832A Tale of JerusalemUn cuento de JerusalénUna narración de JerusalénCuento de Jerusalén
1832Loss of BreathAliento perdidoSin alientoEl aliento perdido
1832Bon-BonBon-BonBon-BonBon-Bon
1833MS. Found in a BottleManuscrito hallado en una botellaManuscrito hallado en una botellaManuscrito hallado en una botella
1834The AssignationLa citaLa citaLa cita
1835BereniceBereniceBereniceBerenice
1835MorellaMorellaMorellaMorella
1835Lion-izingLos leones[Ver Elegancias]Los leones
1835The Unparalleled Adventure of One Hans PfaallLa incomparable aventura de un tal Hans Pfaall La incomparable aventura de un tal Hans Pfaall
1835King PestEl Rey PesteEl rey PesteEl Rey Peste
1835Shadow—A ParableSombra: una parábolaSombraSombra
1836Four Beasts in One—The Homo-CameleopardCuatro bestias en una: el homo-camaleopardoCuatro bestias en unaCuatro bestias en una
1837MystificationMistificaciónMistificaciónMixtificación
1838LigeiaLigeiaLigeiaLigeia
1838How to Write a Blackwood ArticleCómo escribir un artículo a la manera del BlackwoodCómo escribir un artículo al estilo del BlackwoodCómo escribir un artículo a la manera del Blackwood. Una malaventura
1838A PredicamentUn brete  
1839The Devil in the BelfryEl diablo en el campanarioEl diablo en el campanarioEl diablo en el campanario
1839The Man That Was Used UpEl hombre que se gastóEl hombre que se acabóEl hombre que se gastó
1839The Fall of the House of UsherEl hundimiento de la Casa UsherEl hundimiento de la Casa de UsherLa caída de la casa Usher
1839William WilsonWilliam WilsonWilliam WilsonWilliam Wilson
1840Silence—A FableSilencio: una fábulaSilencioSilencio
1839The Conversation of Eiros and CharmionLa conversación de Eiros y CharmionConversación de Eiros con CharmionConversación de Eiros y Charmion
1840The Business ManEl hombre de negociosEl hombre de negociosEl hombre de negocios
1840The Man of the CrowdEl hombre de la multitudEl hombre de la multitudEl hombre de la multitud
1840Why the Little Frenchman Wears His Hand in a SlingPor qué el pequeño francés lleva la mano en el cabestrilloPor qué el hombrecillo francés lleva una mano en cabestrilloPor qué el pequeño francés lleva la mano en cabestrillo
1841The Murders in the Rue MorgueLos asesinatos de la rue MorgueLos crímenes de la rue MorgueLos crímenes de la calle Morgue
1841A Descent into the MaelströmUn descenso al MaelströmUn descenso dentro del MaelstromUn descenso al Maelström
1841The Island of the FayLa isla del hadaLa isla del hadaLa isla del hada
1841The Colloquy of Monos and UnaEl coloquio de Monos y UnaColoquio entre Monos y UnaEl colocquio de Monos y Una
1841Never Bet the Devil Your HeadNunca apuestes tu cabeza al diabloNunca apuestes la cabeza al diabloNunca apuestes tu cabeza al diablo
1841EleonoraEleonoraEleonoraEleonora
1841Three Sundays in a WeekTres domingos en una semana Tres domingos en una semana
1842The Oval PortraitEl retrato ovalEl retrato ovaladoEl retrato oval
1842The Masque of the Red DeathLa máscara de la muerte rojaLa máscara de la Muerte RojaLa máscara de la muerte roja
1842The Domain of ArnheimEl dominio de ArnheimLa posesión de Arnheim o El paisaje del jardínEl dominio de Arnheim, o el jardín-paisaje
1842–3The Mystery of Marie RogêtEl misterio de Marie RogêtEl misterio de Marie RogêtEl misterio de Marie Rogêt
1842The Pit and the PendulumEl pozo y el pénduloEl pozo y el pénduloEl pozo y el péndulo
1843The Tell-Tale HeartEl corazón delatorEl corazón reveladorEl corazón delator
1843The Gold-BugEl escarabajo de oroEl escarabajo de oroEl escarabajo de oro
1843The Black CatEl gato negroEl gato negroEl gato negro
1843Diddling Considered as One of the Exact SciencesLa estafa considerada como una ciencia exactaEl arte de timar considerado como una de las ciencias exactasEl timo
1844The SpectaclesLos lentesLos anteojosLos anteojos
1844A Tale of the Ragged MountainsUn cuento de las montañas escabrosasUna historia de las montañas RaggedUn cuento de las montañas escabrosas
1844The Balloon-HoaxEl bulo del globoEl infundio del globoEl camelo del globo
1844A Morning on the WissahickonAmanecer en Wissahickon  
1844The Premature BurialEl entierro prematuroEl enterramiento prematuroEl entierro prematuro
1844Mesmeric RevelationRevelación mesméricaRevelación mesméricaRevelación mesmérica
1844The Oblong BoxLa caja oblongaEl cajón oblongoLa caja oblonga
1844The Angel of the OddEl ángel de lo insólitoEl Ángel de lo EstrambóticoEl Ángel de lo Singular
1844“Thou Art the Man”“¿Has sido tú?”«Tú has sido» 
1844The Literary Life of Thingum Bob, Esq.La autobiografía literaria de don Fulanito BobLa vida literaria del señor don Thingum BobAutobiografía literaria de Thingum Bob, Esq.
1844The Purloined LetterLa carta robadaLa carta robadaLa carta robada
1845The Thousand-and-Second Tale of ScheherazadeEl cuento mil y dos de ScheherazadeEl cuento mil y dos de SherezadeEl cuento mil y dos de Sherezade
1845Some Words with a MummyConversación con una momiaBreve charla con una momiaConversación con una momia
1845The Power of WordsEl poder de las palabrasEl poder de las palabrasEl poder de las palabras
1845The Imp of the PerverseEl diablillo de la perversidadEl demonio de la perversidadEl demonio de la perversidad
1845The System of Doctor Tarr and Professor FetherEl método del doctor Alquitrán y del profesor PlumaEl método del doctor Alquitrán y del profesor TrapazaEl sistema del doctor Tarr y del profesor Fether
1845The Facts in the Case of M. ValdemarLos hechos del caso del señor ValdemarEl caso del señor ValdemarLa verdad sobre el caso del señor Valdemar
1846The SphinxLa esfingeLa esfingeLa esfinge
1846The Cask of AmontilladoEl barril de amontilladoEl barril de amontilladoEl tonel de amontillado
1848Mellonta TautaMellonta TautaMellonta TautaMellonta Tauta
1849Hop-FrogHop-FrogHop-FrogHop-Frog
1849Von Kempelen and His DiscoveryVon Kempelen y su descubrimientoVon Kempelen y su descubrimientoVon Kempelen y su descubrimiento
1849X-ing a ParagrabEquizando el editorialEquisizando un artículo de fondoX en un suelto
1849Landor’s CottageLa cabaña de LandorLa quinta de Landor 
1835Elegance Elegancias 
1840Instinct vs Reason Instinto contra razón 
1840The Philosophy of Furniture La filosofía del mobiliario 
1844The Elk/Morning on the Wissahiccon El alceEL alce
1849The Lighthouse El faro 
1841/42Autography Autógrafos 
1844Thou are the Man  “Tú eres el hombre”