Blog 

Estás viendo posts de #proyectos, ver todos

Faraón: muerte y obra

Publicado el 14 de Junio de 2026 en    

«Faraón: muerte y obra» es un relato corto de fantasía épica, acción y comedia protagonizado por un hechicero muerto viviente empeñado en conquistar el universo, y el campeón que se alza para impedirlo. Puede leerse acá mismo.


Cuando no te juna nadie... Excepto el creador del mod

Publicado el 30 de Junio de 2025 en    

Misuki, el creador de la versión más reciente del mod StarCraft 2: Wings of Mengsk, se topó con mi serie en YouTube en que gano las misiones sin perder unidades.


Galería de PNJs

Publicado el 23 de Junio de 2025 en      

Las mesas que estoy dirigiendo en Caballeros & Dragones ocurren en la misma ciudad. Con el paso de los meses fueron acumulándose personajes no jugadores recurrentes, hasta que empezó a ser difícil acordarse quién es quién, así que armé una galería de PNJs con sus nombres e información de conocimiento general. Para los retratos usé una instancia local de Stable Diffusion XL corriendo en SwarmUI. Estoy muy conforme con la coherencia estética y el nivel de detalle.


Starcraft 2: Wings of Mengsk Nightmare Deathless

Publicado el 18 de Junio de 2025 en    

Estoy subiendo a YouTube las misiones del mod Wings of Mengsk en dificultad Nightmare sin perder unidades.


Social Archivist: aceptando links por e-mail

Publicado el 1 de Mayo de 2025 en    

Agregué la función de recibir links por e-mail: el usuario puede escribir a [su id]@socialarchivist.online para guardar contenidos.

Para esto creé un email worker de CloudFlare que captura todos los mails que llegan al dominio. Es básicamente una función lambda con acceso al contenido raw del email entrante. Literalmente 20 líneas de código:

export default {
  async email(message, env, ctx) {
    const webhookUrl = "https://socialarchivist.online/.../";

    try {
      const emailData = {
        from: message.from,
        to: message.to,
        headers: Object.fromEntries(message.headers),
        raw: await new Response(message.raw).text(),
        rawSize: message.rawSize,
      };

      const requestOptions = {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: JSON.stringify(emailData),
      };

      await fetch(webhookUrl, requestOptions);
    } catch (error) {
      console.error(`Error processing email from ${message.from}: ${error.message}`);
      message.setReject(`Internal worker error processing email: ${error.message}`);
    }
  }
}

Bangun no GLAMOUR QUEEN - Tributo a Mother Brain de Super Metroid

Publicado el 22 de Abril de 2025 en  

Sigo experimentando con Suno y Gemini 2.5 haciendo tributos de videojuegos. Esta vez le tocó a Mother Brain, la reina indiscutida de Zebes:

 


Social Archivist

Publicado el 8 de Abril de 2025 en  

Acabo de publicar una versión alfa de Social Archivist, un bot de Telegram que archiva reels de Instagram y los transcribe para crear una colección buscable de videos.

Es un puñado de scripts de Python con una base de datos MySQL. Transcribe los videos con Gemini. Corre en una máquina en mi casa con un túnel de CloudFlare.

Con el tiempo voy a agregarle compatibilidad con otras redes sociales y tipos de archivo.


Kodoku to Kekkon Shita - Tributo a Booster de Super Mario RPG

Publicado el 31 de Marzo de 2025 en  

Booster es mi personaje favorito de Super Mario RPG. En honor a su arco de personaje y sus desventuras en Marrymore, le armé un tema de Visual Kei con Suno, Gemini 2.5 y Vizzy.io:


VFX con MilkDrop 3

Publicado el 25 de Marzo de 2025 en  

9.000 horas con MilkDrop 3 y DaVinci Resolve:

https://www.tiktok.com/@doctorfaustphd/video/7485608249132076343


CarpiScript: lenguaje de scripting en castellano

Publicado el 16 de Marzo de 2025 en    

CarpiScript es un lenguaje de scripting en castellano desarrollado en TypeScript. Incluye analizador léxico, analizador sintáctico e intérprete. Lo armé como experimento para aprender sobre desarrollo de lenguajes de programación y practicar un poco de TS. El próximo paso lógico sería hacer un compilador.