{
  "site": "https://www.maximofn.com",
  "name": "MaximoFN",
  "description": "Índice de contenido de maximofn.com: artículos, proyectos y tips sobre Inteligencia Artificial, Machine Learning y programación (Python/PyTorch). Disponible en es/en/pt-br.",
  "api_version": "v1",
  "versions": {
    "current": "v1",
    "latest_url": "https://www.maximofn.com/api/content.json",
    "versioned_url": "https://www.maximofn.com/api/v1/content.json",
    "policy": "Las rutas /api/<version>/ mantienen su forma: los campos existentes no se eliminan ni cambian de tipo, solo se añaden nuevos. Un cambio incompatible se publica como una versión nueva. /api/content.json es un alias sin versión que siempre sigue a la última, así que para integraciones estables conviene fijar la ruta versionada.",
    "deprecation": {
      "policy": "Cuando se publique una versión nueva, la anterior seguirá sirviéndose sin cambios durante al menos 12 meses. Durante ese periodo sus respuestas llevarán las cabeceras Deprecation (RFC 9745) y Sunset (RFC 8594) con la fecha de retirada, y esta misma clave anunciará la versión sucesora. Pasada la fecha, la ruta retirada responderá 410 Gone con un cuerpo JSON que apunte a la versión vigente.",
      "minimum_support_months": 12,
      "deprecated_versions": []
    }
  },
  "languages": [
    "es",
    "en",
    "pt-br"
  ],
  "generated": "2026-09-22T08:13:50.248Z",
  "documentation": "https://www.maximofn.com/api",
  "openapi": "https://www.maximofn.com/openapi.json",
  "sections": [
    {
      "name": "Blog",
      "url": "https://www.maximofn.com/blog"
    },
    {
      "name": "Projects",
      "url": "https://www.maximofn.com/projects"
    },
    {
      "name": "Tips",
      "url": "https://www.maximofn.com/tips"
    },
    {
      "name": "Dockers",
      "url": "https://www.maximofn.com/dockers"
    },
    {
      "name": "Datasets",
      "url": "https://www.maximofn.com/datasets"
    },
    {
      "name": "Experience",
      "url": "https://www.maximofn.com/experience"
    }
  ],
  "counts": {
    "posts": 81,
    "projects": 12,
    "tips": 13,
    "total": 106
  },
  "content": [
    {
      "type": "post",
      "title": "Guía completa de Python 2025 (1/3): tipos de datos",
      "description": "Primera parte de la guía completa de Python. Aprende los tipos de datos: strings, números, secuencias (listas y tuplas), diccionarios, sets, booleanos y binarios, con ejemplos prácticos.",
      "url": "https://www.maximofn.com/python",
      "url_en": "https://www.maximofn.com/en/python",
      "url_pt": "https://www.maximofn.com/pt-br/python",
      "image": "https://images.maximofn.com/icon-python.webp"
    },
    {
      "type": "post",
      "title": "Guía completa de Python 2025 (2/3): operadores, control de flujo y funciones",
      "description": "Segunda parte de la guía completa de Python. Domina los operadores, el control de flujo (if, for, while) y las funciones, incluidas las funciones lambda, map, filter y reduce.",
      "url": "https://www.maximofn.com/python-operadores-control-de-flujo-y-funciones",
      "url_en": "https://www.maximofn.com/en/python-operadores-control-de-flujo-y-funciones",
      "url_pt": "https://www.maximofn.com/pt-br/python-operadores-control-de-flujo-y-funciones",
      "image": "https://images.maximofn.com/icon-python.webp"
    },
    {
      "type": "post",
      "title": "Guía completa de Python 2025 (3/3): clases, objetos y temas avanzados",
      "description": "Tercera parte de la guía completa de Python. Aprende clases y objetos, iteradores, alcance de variables, módulos y paquetes, manejo de errores con try/except y el Zen de Python.",
      "url": "https://www.maximofn.com/python-clases-objetos-y-modulos",
      "url_en": "https://www.maximofn.com/en/python-clases-objetos-y-modulos",
      "url_pt": "https://www.maximofn.com/pt-br/python-clases-objetos-y-modulos",
      "image": "https://images.maximofn.com/icon-python.webp"
    },
    {
      "type": "post",
      "title": "Calculo matricial con NumPy",
      "description": "Tutorial de NumPy en Python: domina el cálculo matricial y operaciones con arrays. Guía completa con ejemplos prácticos para principiantes.",
      "url": "https://www.maximofn.com/numpy",
      "url_en": "https://www.maximofn.com/en/en/numpy",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/numpy",
      "image": "https://images.maximofn.com/numpy-icon.webp"
    },
    {
      "type": "post",
      "title": "Manejo de datos con Pandas",
      "description": "Tutorial de Pandas en Python: aprende a manipular, analizar y visualizar datos con DataFrames. Guía completa con ejemplos prácticos.",
      "url": "https://www.maximofn.com/pandas",
      "url_en": "https://www.maximofn.com/en/en/pandas",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/pandas",
      "image": "https://images.maximofn.com/pandas-icon.webp"
    },
    {
      "type": "post",
      "title": "Terminal (1/3): navegación, archivos y comandos",
      "description": "🟢 Primera parte de la guía de la terminal. Aprende a moverte por la consola 💻, manejar archivos y directorios, permisos, redirecciones, variables de entorno y búsqueda como un verdadero hacker 🖥.",
      "url": "https://www.maximofn.com/terminal",
      "url_en": "https://www.maximofn.com/en/terminal",
      "url_pt": "https://www.maximofn.com/pt-br/terminal",
      "image": "https://images.maximofn.com/terminal.webp"
    },
    {
      "type": "post",
      "title": "Terminal (2/3): red, compresión y procesos",
      "description": "🟢 Segunda parte de la guía de la terminal. Domina las utilidades de red 🌐, la compresión de archivos y el manejo de procesos en background y foreground 💻 como un profesional.",
      "url": "https://www.maximofn.com/terminal-red-compresion-y-procesos",
      "url_en": "https://www.maximofn.com/en/terminal-red-compresion-y-procesos",
      "url_pt": "https://www.maximofn.com/pt-br/terminal-red-compresion-y-procesos",
      "image": "https://images.maximofn.com/terminal.webp"
    },
    {
      "type": "post",
      "title": "Terminal (3/3): administración del sistema",
      "description": "🟢 Tercera parte de la guía de la terminal. Administra el sistema 🖥: memoria, disco, paquetes, usuarios, seguridad y programación de comandos en la terminal 💻 como un profesional.",
      "url": "https://www.maximofn.com/terminal-administracion-del-sistema",
      "url_en": "https://www.maximofn.com/en/terminal-administracion-del-sistema",
      "url_pt": "https://www.maximofn.com/pt-br/terminal-administracion-del-sistema",
      "image": "https://images.maximofn.com/terminal.webp"
    },
    {
      "type": "post",
      "title": "Docker (1/2): contenedores, imágenes y aplicaciones",
      "description": "🐳 Primera parte de la guía de Docker. Crea todos los entornos de desarrollo que quieras: aprende a manejar contenedores, datos y volúmenes, imágenes, a crear aplicaciones y a usar GPUs. Ya no más En mi máquina funciona.",
      "url": "https://www.maximofn.com/docker",
      "url_en": "https://www.maximofn.com/en/docker",
      "url_pt": "https://www.maximofn.com/pt-br/docker",
      "image": "https://images.maximofn.com/docker.webp"
    },
    {
      "type": "post",
      "title": "Docker (2/2): Docker Compose y temas avanzados",
      "description": "🐳 Segunda parte de la guía de Docker. Orquesta varios contenedores a la vez con Docker Compose y domina los temas avanzados de Docker para llevar tus entornos de desarrollo al siguiente nivel.",
      "url": "https://www.maximofn.com/docker-compose-y-avanzado",
      "url_en": "https://www.maximofn.com/en/docker-compose-y-avanzado",
      "url_pt": "https://www.maximofn.com/pt-br/docker-compose-y-avanzado",
      "image": "https://images.maximofn.com/docker.webp"
    },
    {
      "type": "post",
      "title": "Bash Scripting: Automatización en Linux",
      "description": "Tutorial de Bash Scripting: aprende a automatizar tareas en Linux con scripts. Desde variables y bucles hasta funciones avanzadas.",
      "url": "https://www.maximofn.com/bash-scripting",
      "url_en": "https://www.maximofn.com/en/en/bash-scripting",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/bash-scripting",
      "image": "https://images.maximofn.com/bash-scripting.webp"
    },
    {
      "type": "post",
      "title": "Redes Neuronales: Historia y Evolución",
      "description": "Descubre cómo funcionan las redes neuronales, su historia desde los años 50, el AI Winter y cómo ImageNet revolucionó la IA en 2012. Guía para principiantes.",
      "url": "https://www.maximofn.com/neural-networks-history",
      "url_en": "https://www.maximofn.com/en/neural-networks-history",
      "url_pt": "https://www.maximofn.com/pt-br/neural-networks-history",
      "image": "https://images.maximofn.com/Introduccion%20a%20las%20redes%20neuronales%20-%20Evolucion%20de%20la%20IA.webp"
    },
    {
      "type": "post",
      "title": "Redes Neuronales: Regresión Lineal Paso a Paso",
      "description": "Aprende cómo funciona una red neuronal con Python: regresión lineal, función de pérdida, gradiente y entrenamiento. Tutorial práctico con código.",
      "url": "https://www.maximofn.com/introduccion-a-las-redes-neuronales-como-funciona-una-red-neuronal-regresion-lineal",
      "url_en": "https://www.maximofn.com/en/introduccion-a-las-redes-neuronales-como-funciona-una-red-neuronal-regresion-lineal",
      "url_pt": "https://www.maximofn.com/pt-br/introduccion-a-las-redes-neuronales-como-funciona-una-red-neuronal-regresion-lineal",
      "image": "https://images.maximofn.com/introduccion-a-las-redes-neuronales-como-funciona-una-red-neuronal-regresion-lineal.webp"
    },
    {
      "type": "post",
      "title": "BLIP-2: Modelo Multimodal Visión-Lenguaje",
      "description": "BLIP-2: modelo multimodal de Meta que responde preguntas sobre imágenes. Aprende a usarlo con Hugging Face y Python.",
      "url": "https://www.maximofn.com/blip2",
      "url_en": "https://www.maximofn.com/en/en/blip2",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/blip2",
      "image": "https://images.maximofn.com/Blip2.webp"
    },
    {
      "type": "post",
      "title": "Guía SSH: Conexión Remota y Seguridad",
      "description": "Tutorial completo de SSH: establece conexiones cifradas a servidores remotos. Desde conceptos básicos hasta configuración avanzada.",
      "url": "https://www.maximofn.com/ssh",
      "url_en": "https://www.maximofn.com/en/en/ssh",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/ssh",
      "image": "https://images.maximofn.com/SSH.webp"
    },
    {
      "type": "post",
      "title": "Whisper: Transcripción de Audio con IA",
      "description": "👂 No llegas a cotillear qué dicen los del primero? Con whisper no solo podrás, sino que además si quieres te lo traduce. Entra y aprende cómo",
      "url": "https://www.maximofn.com/whisper",
      "url_en": "https://www.maximofn.com/en/en/whisper",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/whisper",
      "image": "https://images.maximofn.com/whisper.webp"
    },
    {
      "type": "post",
      "title": "Git (1/3): control de versiones en local",
      "description": "¿Has vuelto a sobreescribir ese código que te llevó horas hacer? 😭 ¡Que no cunda el pánico! Primera parte de la guía de Git: aprende a llevar el control de versiones de tu proyecto en local como un rockstar de la programación. 🎸 💾 #GITandRoll",
      "url": "https://www.maximofn.com/git",
      "url_en": "https://www.maximofn.com/en/git",
      "url_pt": "https://www.maximofn.com/pt-br/git",
      "image": "https://images.maximofn.com/Git.webp"
    },
    {
      "type": "post",
      "title": "Git (2/3): ramas",
      "description": "Segunda parte de la guía de Git. Domina las ramas 🌳: crea líneas de desarrollo en paralelo, muévete entre ellas, fusiónalas y resuelve conflictos como un rockstar de la programación. 🎸 💾 #GITandRoll",
      "url": "https://www.maximofn.com/git-ramas",
      "url_en": "https://www.maximofn.com/en/git-ramas",
      "url_pt": "https://www.maximofn.com/pt-br/git-ramas",
      "image": "https://images.maximofn.com/Git.webp"
    },
    {
      "type": "post",
      "title": "Git (3/3): repositorios remotos, stash y tags",
      "description": "Tercera parte de la guía de Git. Trabaja con repositorios remotos ☁️, crea alias, guarda cambios con el stash y marca versiones con tags como un rockstar de la programación. 🎸 💾 #GITandRoll",
      "url": "https://www.maximofn.com/git-remotos-stash-y-tags",
      "url_en": "https://www.maximofn.com/en/git-remotos-stash-y-tags",
      "url_pt": "https://www.maximofn.com/pt-br/git-remotos-stash-y-tags",
      "image": "https://images.maximofn.com/Git.webp"
    },
    {
      "type": "post",
      "title": "Conda: Gestión de Entornos Python",
      "description": "Conda vs Pip: guía completa de gestión de paquetes Python. Descubre Conda y Mamba para tus proyectos de ciencia de datos.",
      "url": "https://www.maximofn.com/conda",
      "url_en": "https://www.maximofn.com/en/en/conda",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/conda",
      "image": "https://images.maximofn.com/conda_logo.webp"
    },
    {
      "type": "post",
      "title": "Caffeine: Evita Suspensión en macOS",
      "description": "Caffeine para Linux/Ubuntu: evita que tu PC entre en suspensión durante trabajo o descargas largas. Tutorial de instalación y uso sencillo.",
      "url": "https://www.maximofn.com/caffeine",
      "url_en": "https://www.maximofn.com/en/en/caffeine",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/caffeine",
      "image": "https://images.maximofn.com/caffeine_shots_so.webp"
    },
    {
      "type": "post",
      "title": "Fail2ban: Protección de Servidor Linux",
      "description": "Fail2Ban: protege tu servidor contra ataques de fuerza bruta. Tutorial completo desde instalación hasta configuración avanzada en Linux.",
      "url": "https://www.maximofn.com/fail2ban",
      "url_en": "https://www.maximofn.com/en/en/fail2ban",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/fail2ban",
      "image": "https://images.maximofn.com/fail2ban.webp"
    },
    {
      "type": "post",
      "title": "Tutorial HTML: Estructura Web Semántica",
      "description": "Conoce HTML, el lenguaje de marcado que se utiliza para crear páginas web. Aprende a estructurar el contenido de una página web y a darle formato con HTML.",
      "url": "https://www.maximofn.com/html",
      "url_en": "https://www.maximofn.com/en/en/html",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/html",
      "image": "https://images.maximofn.com/html5.webp"
    },
    {
      "type": "post",
      "title": "API de OpenAI: Integración y Uso Práctico",
      "description": "Tutorial de la API de OpenAI: aprende a usar GPT, DALL-E y otras herramientas de IA. Guía práctica desde instalación hasta primeras implementaciones.",
      "url": "https://www.maximofn.com/openai-api",
      "url_en": "https://www.maximofn.com/en/en/openai-api",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/openai-api",
      "image": "https://images.maximofn.com/openai.webp"
    },
    {
      "type": "post",
      "title": "Tokens en NLP: Tokenización de Texto",
      "description": "Tokens en NLP: entiende qué son y cómo se dividen las palabras en unidades mínimas. Guía práctica con tiktoken de OpenAI.",
      "url": "https://www.maximofn.com/tokens",
      "url_en": "https://www.maximofn.com/en/en/tokens",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tokens",
      "image": "https://images.maximofn.com/tokens.webp"
    },
    {
      "type": "post",
      "title": "Embeddings: Representaciones Vectoriales",
      "description": "Embeddings: aprende qué son y cómo representan texto como vectores numéricos. Guía práctica con Word2Vec, GloVe y BERT en Python.",
      "url": "https://www.maximofn.com/embeddings",
      "url_en": "https://www.maximofn.com/en/en/embeddings",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/embeddings",
      "image": "https://images.maximofn.com/embeddings.webp"
    },
    {
      "type": "post",
      "title": "Similitud entre Embeddings: Métricas",
      "description": "Descubre cómo se mide la similitud entre embeddings, la base del mecanismo de atención de los transformers y de los algoritmos de RAG",
      "url": "https://www.maximofn.com/embeddings-similarity",
      "url_en": "https://www.maximofn.com/en/en/embeddings-similarity",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/embeddings-similarity",
      "image": "https://images.maximofn.com/embeddings-similarity.webp"
    },
    {
      "type": "post",
      "title": "Mixtral 8x7B: Mixture of Experts",
      "description": "Mixtral-8x7B de Mistral AI: modelo Mixture of Experts que compite con GPT-3.5. Aprende su arquitectura y úsalo con Hugging Face.",
      "url": "https://www.maximofn.com/mixtral-8x7b",
      "url_en": "https://www.maximofn.com/en/en/mixtral-8x7b",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/mixtral-8x7b",
      "image": "https://images.maximofn.com/Mixtral-8x7B.webp"
    },
    {
      "type": "post",
      "title": "Tutorial CSS: Flexbox, Grid y Diseño Web",
      "description": "Guía completa de CSS: aprende selectores, propiedades, modelo de caja y diseño web desde cero. Ejemplos prácticos para dominar las hojas de estilo.",
      "url": "https://www.maximofn.com/css",
      "url_en": "https://www.maximofn.com/en/css",
      "url_pt": "https://www.maximofn.com/pt-br/css",
      "image": "https://images.maximofn.com/CSS3.webp"
    },
    {
      "type": "post",
      "title": "Expresiones Regulares: Guía Completa",
      "description": "Domina las expresiones regulares: desde fundamentos hasta técnicas avanzadas. Guía práctica con ejemplos para búsqueda y manipulación de texto.",
      "url": "https://www.maximofn.com/regular-expressions",
      "url_en": "https://www.maximofn.com/en/en/regular-expressions",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/regular-expressions",
      "image": "https://images.maximofn.com/regular-expresions.webp"
    },
    {
      "type": "post",
      "title": "ChromaDB Tutorial en Python: Collections, query_embeddings y Errores de Dimensión",
      "description": "Tutorial de ChromaDB en Python: crear colecciones, consultar embeddings, solucionar InvalidDimensionException (embedding dimension does not match collection dimensionality). Guía práctica con get_or_create_collection, query_embeddings y hnsw:space cosine.",
      "url": "https://www.maximofn.com/chromadb",
      "url_en": "https://www.maximofn.com/en/en/chromadb",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/chromadb",
      "image": "https://images.maximofn.com/chromadb_dalle3.webp"
    },
    {
      "type": "post",
      "title": "Transformers – from top to the bottom",
      "description": "Descubre los transformers 🚀. Aprende la arquitectura que hay dentro de todos los nuevos modelos de lenguajes. No se lo preguntes a una IA, entra y aprende",
      "url": "https://www.maximofn.com/transformers",
      "url_en": "https://www.maximofn.com/en/en/transformers",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/transformers",
      "image": "https://images.maximofn.com/Transformer%20-%20leadspace.webp"
    },
    {
      "type": "post",
      "title": "Hugging Face Tokenizers: Tokenización",
      "description": "Tokenizers de Hugging Face: transforma texto en datos estructurados para NLP. Guía práctica con ejemplos en Python para modelos de IA.",
      "url": "https://www.maximofn.com/hugging-face-tokenizers",
      "url_en": "https://www.maximofn.com/en/en/hugging-face-tokenizers",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/hugging-face-tokenizers",
      "image": "https://images.maximofn.com/Hugging%20Face's%20tokenizers%20library.webp"
    },
    {
      "type": "post",
      "title": "git-sim: Visualización de Comandos Git",
      "description": "git-sim: simula comandos de Git visualmente antes de ejecutarlos. Aprende rebase, reset y merge con gráficas interactivas.",
      "url": "https://www.maximofn.com/git-sim",
      "url_en": "https://www.maximofn.com/en/en/git-sim",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/git-sim",
      "image": "https://images.maximofn.com/git-sim-shot.webp"
    },
    {
      "type": "post",
      "title": "Hugging Face Transformers: Modelos NLP",
      "description": "Transformers de Hugging Face: desde pipeline rápidos hasta AutoModel avanzado. Aprende a generar texto, entrenar modelos y compartir en el Hub.",
      "url": "https://www.maximofn.com/hugging-face-transformers",
      "url_en": "https://www.maximofn.com/en/en/hugging-face-transformers",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/hugging-face-transformers",
      "image": "https://images.maximofn.com/HuggingFace%20Transformers.webp"
    },
    {
      "type": "post",
      "title": "Hugging Face Datasets: Gestión de Datos",
      "description": "Librería Datasets de Hugging Face: accede y preprocesa conjuntos de datos de alta calidad para NLP. Olvídate de CSVs y pandas complicados.",
      "url": "https://www.maximofn.com/hugging-face-datasets",
      "url_en": "https://www.maximofn.com/en/en/hugging-face-datasets",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/hugging-face-datasets",
      "image": "https://images.maximofn.com/datasets_logo.webp"
    },
    {
      "type": "post",
      "title": "Hugging Face Evaluate: Métricas de ML",
      "description": "Evaluate de Hugging Face: automatiza la evaluación de modelos NLP con facilidad. Olvídate de cálculos manuales de métricas y ahorra tiempo.",
      "url": "https://www.maximofn.com/hugging-face-evaluate",
      "url_en": "https://www.maximofn.com/en/en/hugging-face-evaluate",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/hugging-face-evaluate",
      "image": "https://images.maximofn.com/evaluate_logo_mockup.webp"
    },
    {
      "type": "post",
      "title": "Hugging Face Accelerate: Entrenar Modelos en GPU/TPU (1/2)",
      "description": "Instala y configura Hugging Face Accelerate y adapta tu bucle de entrenamiento para correr en múltiples GPUs y TPUs, con control de ejecución entre procesos.",
      "url": "https://www.maximofn.com/hugging-face-accelerate/",
      "url_en": "https://www.maximofn.com/en/hugging-face-accelerate/",
      "url_pt": "https://www.maximofn.com/pt-br/hugging-face-accelerate/",
      "image": "https://images.maximofn.com/huggingface_accelerate.webp"
    },
    {
      "type": "post",
      "title": "Accelerate: Guardado, Precisión Mixta e Inferencia (2/2)",
      "description": "Guarda y carga modelos con Hugging Face Accelerate, entrena con precisión mixta FP16/BF16/FP8 e infiere con el ecosistema de Hugging Face y PyTorch.",
      "url": "https://www.maximofn.com/hugging-face-accelerate-guardado-precision-mixta-e-inferencia/",
      "url_en": "https://www.maximofn.com/en/hugging-face-accelerate-guardado-precision-mixta-e-inferencia/",
      "url_pt": "https://www.maximofn.com/pt-br/hugging-face-accelerate-guardado-precision-mixta-e-inferencia/",
      "image": "https://images.maximofn.com/huggingface_accelerate.webp"
    },
    {
      "type": "post",
      "title": "Ollama: Ejecuta LLMs en Local",
      "description": "Ollama: ejecuta cualquier LLM en local con modelos cuantizados. Usa modelos de lenguaje en tu PC de forma sencilla, como si usases Docker.",
      "url": "https://www.maximofn.com/ollama",
      "url_en": "https://www.maximofn.com/en/en/ollama",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/ollama",
      "image": "https://images.maximofn.com/ollama_shot.webp"
    },
    {
      "type": "post",
      "title": "Hugging Face Optimum: Inferencia Rápida",
      "description": "Optimum de Hugging Face: acelera entrenamientos e inferencias de tus modelos PyTorch. Mejora velocidad y eficiencia de forma sencilla.",
      "url": "https://www.maximofn.com/hugging-face-optimun",
      "url_en": "https://www.maximofn.com/en/en/hugging-face-optimun",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/hugging-face-optimun",
      "image": "https://images.maximofn.com/huggingface_optimun.webp"
    },
    {
      "type": "post",
      "title": "Tokenizer BPE: Codificación Subpalabras",
      "description": "BPE (Byte Pair Encoding): entiende el tokenizador más popular en NLP. Aprende cómo divide texto en tokens con ejemplos prácticos.",
      "url": "https://www.maximofn.com/bpe",
      "url_en": "https://www.maximofn.com/en/en/bpe",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/bpe",
      "image": "https://images.maximofn.com/BPE_tokenizer.webp"
    },
    {
      "type": "post",
      "title": "GPT-1: Pre-Training Generativo para NLU",
      "description": "Guía completa de GPT-1: entiende el modelo pionero del procesamiento de lenguaje natural. Aprende su funcionamiento y cómo hacer fine-tuning.",
      "url": "https://www.maximofn.com/gpt1",
      "url_en": "https://www.maximofn.com/en/en/gpt1",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/gpt1",
      "image": "https://images.maximofn.com/GPT1_thumnail.webp"
    },
    {
      "type": "post",
      "title": "Florence-2: Modelo de Visión Multimodal",
      "description": "Florence-2: modelo multimodal SOTA de Microsoft con solo 200M-700M parámetros. Aprende a usar este versátil SLM para tareas de visión y lenguaje.",
      "url": "https://www.maximofn.com/florence-2",
      "url_en": "https://www.maximofn.com/en/en/florence-2",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/florence-2",
      "image": "https://images.maximofn.com/Florence-2_thumnail.webp"
    },
    {
      "type": "post",
      "title": "GPT-2 Explicado: Arquitectura, Tamaños de Modelo (124M–1.5B) y GPT2LMHeadModel",
      "description": "Paper de GPT-2 explicado: arquitectura, tamaños de modelo (124M, 355M, 774M, 1.5B parámetros) y cómo usar GPT2LMHeadModel con Hugging Face Transformers. De la teoría a la generación de texto en Python.",
      "url": "https://www.maximofn.com/gpt2",
      "url_en": "https://www.maximofn.com/en/en/gpt2",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/gpt2",
      "image": "https://images.maximofn.com/GPT2.webp"
    },
    {
      "type": "post",
      "title": "Fine-Tuning GPT-2 con Transformers: Tokenizer text_target, DataCollator y Trainer",
      "description": "Fine-tuning de GPT-2 paso a paso con Hugging Face Transformers: configuración del tokenizer con text_target, DataCollatorForLanguageModeling, Trainer con EvalPrediction y torch.clear_autocast_cache. Tutorial completo en Python.",
      "url": "https://www.maximofn.com/fine-tuning-sml",
      "url_en": "https://www.maximofn.com/en/en/fine-tuning-sml",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/fine-tuning-sml",
      "image": "https://images.maximofn.com/SLM_thumnail.webp"
    },
    {
      "type": "post",
      "title": "Fine-Tuning Florence-2: Visión por IA",
      "description": "Guía paso a paso para hacer fine-tuning de Florence-2. Aprende a adaptar este modelo multimodal a tus necesidades con PyTorch y Python.",
      "url": "https://www.maximofn.com/fine-tuning-florence-2",
      "url_en": "https://www.maximofn.com/en/en/fine-tuning-florence-2",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/fine-tuning-florence-2",
      "image": "https://images.maximofn.com/Florence-2_fine_tuning_thumnail.webp"
    },
    {
      "type": "post",
      "title": "LoRA: Adaptación de Bajo Rango para LLMs",
      "description": "LoRA: adaptación de baja rango para redes neuronales. Aprende nuevos trucos sin olvidar los antiguos, con mínimos recursos de GPU y código PyTorch.",
      "url": "https://www.maximofn.com/lora",
      "url_en": "https://www.maximofn.com/en/en/lora",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/lora",
      "image": "https://images.maximofn.com/LoRA_thumbnail_ES.webp"
    },
    {
      "type": "post",
      "title": "Cuantización de LLMs: Optimizar Modelos",
      "description": "Guía completa de cuantización de LLMs: reduce el tamaño de tus modelos sin sacrificar precisión. Ideal para dispositivos móviles y recursos limitados.",
      "url": "https://www.maximofn.com/llms-quantization",
      "url_en": "https://www.maximofn.com/en/en/llms-quantization",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/llms-quantization",
      "image": "https://images.maximofn.com/quantization-thumbnail.webp"
    },
    {
      "type": "post",
      "title": "llm.int8(): Cuantización 8-bit para Transformers",
      "description": "llm.int8(): cuantización INT8 para transformers. Reduce el tamaño de modelos grandes sin sacrificar precisión. Implementación práctica con Hugging Face.",
      "url": "https://www.maximofn.com/llm-int8",
      "url_en": "https://www.maximofn.com/en/en/llm-int8",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/llm-int8",
      "image": "https://images.maximofn.com/llm.int8()-thumbnail.webp"
    },
    {
      "type": "post",
      "title": "GPTQ: Cuantización Post-Training Explicada + Tutorial GPTQConfig",
      "description": "Paper de GPTQ explicado (Frantar et al. 2022): cómo funciona la cuantización post-entrenamiento para LLMs. Tutorial práctico con GPTQConfig de Hugging Face Transformers. Reduce el tamaño del modelo con mínima pérdida de precisión.",
      "url": "https://www.maximofn.com/gptq",
      "url_en": "https://www.maximofn.com/en/en/gptq",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/gptq",
      "image": "https://images.maximofn.com/GPTQ-thumbnail.webp"
    },
    {
      "type": "post",
      "title": "QLoRA Explicado: Cuantización NF4, Double Quantization y Paged Optimizers",
      "description": "Paper de QLoRA explicado: cuantización NF4 a 4 bits, double quantization y paged optimizers para fine-tuning eficiente de LLMs. Tutorial práctico con BitsAndBytes y Hugging Face Transformers en Python.",
      "url": "https://www.maximofn.com/qlora",
      "url_en": "https://www.maximofn.com/en/en/qlora",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/qlora",
      "image": "https://images.maximofn.com/QLoRA_thumbnail_ES.webp"
    },
    {
      "type": "post",
      "title": "DoLa: Decodificación por Capas Contrastantes para Reducir Alucinaciones en LLMs",
      "description": "Paper de DoLa explicado: cómo la decodificación por capas contrastantes mejora la factualidad en grandes modelos de lenguaje. Reduce alucinaciones sin reentrenar. Ejemplos de código con Hugging Face Transformers en Python.",
      "url": "https://www.maximofn.com/dola",
      "url_en": "https://www.maximofn.com/en/en/dola",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/dola",
      "image": "https://images.maximofn.com/DoLa-thumbnail.webp"
    },
    {
      "type": "post",
      "title": "Conventional Commits: Estándar para Git",
      "description": "Aprende Conventional Commits con git-changelog y commitizen. Escribe mensajes de commit claros y genera changelogs automáticamente.",
      "url": "https://www.maximofn.com/conventional-commits",
      "url_en": "https://www.maximofn.com/en/en/conventional-commits",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/conventional-commits",
      "image": "https://images.maximofn.com/conventional-commits.webp"
    },
    {
      "type": "post",
      "title": "Fundamentos RAG: Generación Aumentada",
      "description": "Fundamentos de RAG: tus documentos responden preguntas con IA. Tutorial paso a paso con Hugging Face y ChromaDB.",
      "url": "https://www.maximofn.com/rag-fundamentals",
      "url_en": "https://www.maximofn.com/en/en/rag-fundamentals",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/rag-fundamentals",
      "image": "https://images.maximofn.com/rag-fundamentals.webp"
    },
    {
      "type": "post",
      "title": "unittest en Python: Tests Unitarios",
      "description": "Test unitarios en Python con unittest: aprende a crear tests y medir cobertura para refactorizar código con total confianza.",
      "url": "https://www.maximofn.com/unittest",
      "url_en": "https://www.maximofn.com/en/en/unittest",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/unittest",
      "image": "https://images.maximofn.com/unittest.webp"
    },
    {
      "type": "post",
      "title": "Langchain con integraciones de código abierto",
      "description": "Langchain con integraciones open source: aprende a integrar ChromaDB, Ollama y HuggingFace en tus aplicaciones de IA.",
      "url": "https://www.maximofn.com/langchain-opensource-integrations",
      "url_en": "https://www.maximofn.com/en/en/langchain-opensource-integrations",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/langchain-opensource-integrations",
      "image": "https://images.maximofn.com/langchain_opensource_integrations_shot.webp"
    },
    {
      "type": "post",
      "title": "Desplegar backend con LLM en HuggingFace",
      "description": "¿Quieres desplegar un backend con tu propio LLM? En este post te explico cómo hacerlo con HuggingFace Spaces, FastAPI, Langchain y Docker.",
      "url": "https://www.maximofn.com/deploy-backend-with-llm-in-huggingface",
      "url_en": "https://www.maximofn.com/en/en/deploy-backend-with-llm-in-huggingface",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/deploy-backend-with-llm-in-huggingface",
      "image": "https://images.maximofn.com/backend_llm_thumbnail.webp"
    },
    {
      "type": "post",
      "title": "Wan2.1-T2V-14B: Generar Vídeos con HF",
      "description": "¿Quieres tener tu propio Sora, pero que además genere buenos vídeos? En este post te explico cómo hacerlo con HuggingFace Inference Providers y Replicate.",
      "url": "https://www.maximofn.com/inference-providers-wan21-t2v-14b",
      "url_en": "https://www.maximofn.com/en/en/inference-providers-wan21-t2v-14b",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/inference-providers-wan21-t2v-14b",
      "image": "https://images.maximofn.com/inference-providers-wan21-thumbnail.webp"
    },
    {
      "type": "post",
      "title": "FastRTC Tutorial: Pipeline de Voz STT + LLM + TTS en Python",
      "description": "Tutorial de FastRTC con ejemplos prácticos: construye un pipeline de voz en tiempo real con STT, LLM y TTS en Python. Desde la configuración hasta llamadas telefónicas, paso a paso.",
      "url": "https://www.maximofn.com/fastrtc",
      "url_en": "https://www.maximofn.com/en/en/fastrtc",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/fastrtc",
      "image": "https://pub-fb664c455eca46a2ba762a065ac900f7.r2.dev/fastrtc-thubmnail.webp"
    },
    {
      "type": "post",
      "title": "uv: Alternativa Rápida a conda y venv",
      "description": "uv: gestor de paquetes Python escrito en Rust, 100x más rápido que conda y venv. Aprende a crear entornos e instalar dependencias.",
      "url": "https://www.maximofn.com/uv",
      "url_en": "https://www.maximofn.com/en/en/uv",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/uv",
      "image": "https://images.maximofn.com/uv_thumbnail.webp"
    },
    {
      "type": "post",
      "title": "Patrones de Agentes IA: Diseño y Uso",
      "description": "¿Tus agentes se quedan cortos? Eleva tus proyectos de IA con patrones avanzados: ReAct, planificación, multi-agentes y más. ¡Guía práctica con código!",
      "url": "https://www.maximofn.com/agents-patterns",
      "url_en": "https://www.maximofn.com/en/en/agents-patterns",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/agents-patterns",
      "image": "https://images.maximofn.com/agent_patterns_thumbnail_ES.webp"
    },
    {
      "type": "post",
      "title": "MCP con FastMCP (1/4): crea tu primer servidor y gestiona sus tools",
      "description": "Primera parte de la guía de MCP (Model Context Protocol) con FastMCP. Prepara el entorno, crea tu primer servidor MCP, expón funciones como tools con @mcp.tool (con un ejemplo real usando la API de GitHub) y aprende a filtrar y excluir tools por tags y a componer servidores.",
      "url": "https://www.maximofn.com/mcp-fastmcp",
      "url_en": "https://www.maximofn.com/en/mcp-fastmcp",
      "url_pt": "https://www.maximofn.com/pt-br/mcp-fastmcp",
      "image": "https://images.maximofn.com/MCP_vs_APIs.webp"
    },
    {
      "type": "post",
      "title": "MCP con FastMCP (2/4): capa de transporte, contexto y resources",
      "description": "Segunda parte de la guía de MCP con FastMCP. Configura la capa de transporte, excluye argumentos de las tools, accede al contexto de la petición y crea tu primer resource para exponer datos al modelo.",
      "url": "https://www.maximofn.com/mcp-transporte-y-contexto",
      "url_en": "https://www.maximofn.com/en/mcp-transporte-y-contexto",
      "url_pt": "https://www.maximofn.com/pt-br/mcp-transporte-y-contexto",
      "image": "https://images.maximofn.com/MCP_vs_APIs.webp"
    },
    {
      "type": "post",
      "title": "MCP con FastMCP (3/4): resources avanzados y prompts",
      "description": "Tercera parte de la guía de MCP con FastMCP. Añade contexto a tus resources, crea resource templates parametrizados y define prompts reutilizables para guiar al modelo.",
      "url": "https://www.maximofn.com/mcp-recursos-y-prompts",
      "url_en": "https://www.maximofn.com/en/mcp-recursos-y-prompts",
      "url_pt": "https://www.maximofn.com/pt-br/mcp-recursos-y-prompts",
      "image": "https://images.maximofn.com/MCP_vs_APIs.webp"
    },
    {
      "type": "post",
      "title": "MCP con FastMCP (4/4): HTTP, autenticación y cliente MCP",
      "description": "Cuarta y última parte de la guía de MCP con FastMCP. Sirve el servidor por HTTP, añade autenticación con tokens Bearer y claves RSA, y conecta un cliente MCP para hacer ping y consumir el servidor.",
      "url": "https://www.maximofn.com/mcp-http-y-autenticacion",
      "url_en": "https://www.maximofn.com/en/mcp-http-y-autenticacion",
      "url_pt": "https://www.maximofn.com/pt-br/mcp-http-y-autenticacion",
      "image": "https://images.maximofn.com/MCP_vs_APIs.webp"
    },
    {
      "type": "post",
      "title": "LangGraph (1/4): chatbot básico y herramientas",
      "description": "Primera parte de la guía completa de LangGraph. Aprende cómo funciona LangGraph, instálalo, configura las API keys de Hugging Face y Anthropic, crea tu primer chatbot con un grafo de estados y mejóralo añadiéndole herramientas (tools).",
      "url": "https://www.maximofn.com/langgraph",
      "url_en": "https://www.maximofn.com/en/langgraph",
      "url_pt": "https://www.maximofn.com/pt-br/langgraph",
      "image": "https://images.maximofn.com/langgraph_thumbnail_es.webp"
    },
    {
      "type": "post",
      "title": "LangGraph (2/4): memoria a corto plazo",
      "description": "Segunda parte de la guía de LangGraph. Añade memoria a corto plazo a tu chatbot: persiste el estado del grafo dentro de un hilo con checkpointers, recupera conversaciones anteriores y guarda el estado en una base de datos.",
      "url": "https://www.maximofn.com/langgraph-memoria-corto-plazo",
      "url_en": "https://www.maximofn.com/en/langgraph-memoria-corto-plazo",
      "url_pt": "https://www.maximofn.com/pt-br/langgraph-memoria-corto-plazo",
      "image": "https://images.maximofn.com/langgraph_thumbnail_es.webp"
    },
    {
      "type": "post",
      "title": "LangGraph (3/4): memoria a largo plazo y human-in-the-loop",
      "description": "Tercera parte de la guía de LangGraph. Implementa memoria a largo plazo (entre hilos) para que el agente recuerde información entre conversaciones, e introduce el patrón human-in-the-loop para pausar el grafo y pedir aprobación humana.",
      "url": "https://www.maximofn.com/langgraph-memoria-largo-plazo-y-human-in-the-loop",
      "url_en": "https://www.maximofn.com/en/langgraph-memoria-largo-plazo-y-human-in-the-loop",
      "url_pt": "https://www.maximofn.com/pt-br/langgraph-memoria-largo-plazo-y-human-in-the-loop",
      "image": "https://images.maximofn.com/langgraph_thumbnail_es.webp"
    },
    {
      "type": "post",
      "title": "LangGraph (4/4): personalización del estado y checkpoints",
      "description": "Cuarta y última parte de la guía de LangGraph. Personaliza el estado del grafo con esquemas y reductores propios, y domina los checkpoints para inspeccionar, recuperar y viajar por el historial de estados del grafo.",
      "url": "https://www.maximofn.com/langgraph-estado-y-checkpoints",
      "url_en": "https://www.maximofn.com/en/langgraph-estado-y-checkpoints",
      "url_pt": "https://www.maximofn.com/pt-br/langgraph-estado-y-checkpoints",
      "image": "https://images.maximofn.com/langgraph_thumbnail_es.webp"
    },
    {
      "type": "post",
      "title": "FastMCP Streaming: Progreso en Tareas Largas, Subida de Archivos y Uvicorn",
      "description": "Tutorial de streaming con FastMCP: report_progress para tareas de larga duración, subida de archivos con barras de progreso y StreamableHttpTransport con Uvicorn. Ejemplo completo en Python con context.report_progress().",
      "url": "https://www.maximofn.com/streamable-mcp",
      "url_en": "https://www.maximofn.com/en/streamable-mcp",
      "url_pt": "https://www.maximofn.com/pt-br/streamable-mcp",
      "image": "https://images.maximofn.com/streamableMCP_resized.webp"
    },
    {
      "type": "post",
      "title": "MCP Resumable: Checkpoints Automáticos",
      "description": "MCP Resumable: crea servidores con checkpoints y reanudación automática. Recupera tareas largas tras interrupciones con FastMCP y Python.",
      "url": "https://www.maximofn.com/resumable-mcp",
      "url_en": "https://www.maximofn.com/en/resumable-mcp",
      "url_pt": "https://www.maximofn.com/pt-br/resumable-mcp",
      "image": "https://images.maximofn.com/MCP_resumable.webp"
    },
    {
      "type": "post",
      "title": "MCP Durable: Persistencia en Tareas Largas",
      "description": "MCP con durabilidad: persistencia de datos con SQLite, tareas en background y monitoreo en tiempo real para aplicaciones enterprise con FastMCP.",
      "url": "https://www.maximofn.com/durability-mcp",
      "url_en": "https://www.maximofn.com/en/durability-mcp",
      "url_pt": "https://www.maximofn.com/pt-br/durability-mcp",
      "image": "https://images.maximofn.com/MCP-durability.webp"
    },
    {
      "type": "post",
      "title": "Tutorial Elicitación MCP: Ejemplo FastMCP con Human-in-the-Loop",
      "description": "Tutorial de elicitación MCP con FastMCP: crea un servidor interactivo que recopila datos del usuario en tiempo real. Ejemplo completo en Python con llamadas elicit(), herramienta de confirmación e implementación de cliente MCP.",
      "url": "https://www.maximofn.com/mcp-elicitation",
      "url_en": "https://www.maximofn.com/en/mcp-elicitation",
      "url_pt": "https://www.maximofn.com/pt-br/mcp-elicitation",
      "image": "https://images.maximofn.com/MCP-elicitation.webp"
    },
    {
      "type": "post",
      "title": "Deep Research con LangGraph (1/3): agentes Scope y Researcher",
      "description": "Primera parte de la serie para crear un asistente de investigación con LangGraph. Conoce la arquitectura del sistema y construye el agente Scope, que delimita la petición del usuario, y el agente Researcher, que busca en internet con Tavily y comprime los hallazgos.",
      "url": "https://www.maximofn.com/deepresearcher",
      "url_en": "https://www.maximofn.com/en/deepresearcher",
      "url_pt": "https://www.maximofn.com/pt-br/deepresearcher",
      "image": "https://images.maximofn.com/deep_researcher_thumbnail.webp"
    },
    {
      "type": "post",
      "title": "Deep Research con LangGraph (2/3): Research Supervisor multiagente",
      "description": "Segunda parte de la serie Deep Research con LangGraph. Construye el Research Supervisor que coordina varios agentes Researcher en paralelo, decide cuándo hay información suficiente y orquesta toda la investigación con LangGraph.",
      "url": "https://www.maximofn.com/deepresearcher-supervisor",
      "url_en": "https://www.maximofn.com/en/deepresearcher-supervisor",
      "url_pt": "https://www.maximofn.com/pt-br/deepresearcher-supervisor",
      "image": "https://images.maximofn.com/deep_researcher_thumbnail.webp"
    },
    {
      "type": "post",
      "title": "Deep Research con LangGraph (3/3): agente Writer e informe final",
      "description": "Tercera y última parte de la serie Deep Research con LangGraph. Implementa el agente Writer que redacta el informe final a partir de la investigación, integra todo el grafo del deep researcher y ejecuta el asistente completo de principio a fin.",
      "url": "https://www.maximofn.com/deepresearcher-writer",
      "url_en": "https://www.maximofn.com/en/deepresearcher-writer",
      "url_pt": "https://www.maximofn.com/pt-br/deepresearcher-writer",
      "image": "https://images.maximofn.com/deep_researcher_thumbnail.webp"
    },
    {
      "type": "post",
      "title": "Gymnasia: arquitectura de un agente de IA que corre en el móvil",
      "description": "Cómo está construido el agente de IA de Gymnasia: un coach conversacional BYOK con tools locales y un estimador de comidas que saca los macros de una foto. Dos agentes en paralelo, los dos ejecutándose enteros en el móvil y sin backend.",
      "url": "https://www.maximofn.com/gymnasia-agent",
      "url_en": "https://www.maximofn.com/en/gymnasia-agent",
      "url_pt": "https://www.maximofn.com/pt-br/gymnasia-agent",
      "image": "https://images.maximofn.com/gymnasia-home-1.webp"
    },
    {
      "type": "post",
      "title": "Cómo declarar tools fiables para OpenAI, Anthropic y Google",
      "description": "Guía práctica para diseñar tools que un LLM pueda descubrir, adaptar a cualquier proveedor de LLMs, ejecutar con seguridad y proteger con tests.",
      "url": "https://www.maximofn.com/gymnasia-agent-tool-descriptions",
      "url_en": "https://www.maximofn.com/en/gymnasia-agent-tool-descriptions",
      "url_pt": "https://www.maximofn.com/pt-br/gymnasia-agent-tool-descriptions",
      "image": "https://images.maximofn.com/gymnasia-agent-tool-descriptions.webp"
    },
    {
      "type": "post",
      "title": "Cómo parsear tool calls de OpenAI, Anthropic y Google",
      "description": "Cómo convertir las llamadas a tools de diferentes proveedores de LLMs en una interfaz común sin perder los identificadores que correlacionan cada resultado.",
      "url": "https://www.maximofn.com/gymnasia-agent-tool-call-parsing",
      "url_en": "https://www.maximofn.com/en/gymnasia-agent-tool-call-parsing",
      "url_pt": "https://www.maximofn.com/pt-br/gymnasia-agent-tool-call-parsing",
      "image": "https://images.maximofn.com/gymnasia-agent-tool-call-parsing-normalized.webp"
    },
    {
      "type": "post",
      "title": "Streaming de tool calls: acumular argumentos sin ejecutar a medias",
      "description": "Cómo acumular argumentos que llegan en deltas durante un stream y por qué una tool nunca debe ejecutarse antes del evento terminal.",
      "url": "https://www.maximofn.com/gymnasia-agent-tool-call-streaming",
      "url_en": "https://www.maximofn.com/en/gymnasia-agent-tool-call-streaming",
      "url_pt": "https://www.maximofn.com/pt-br/gymnasia-agent-tool-call-streaming",
      "image": "https://images.maximofn.com/gymnasia-agent-tool-call-streaming.webp"
    },
    {
      "type": "project",
      "title": "Output audio device manager",
      "description": "Manager de dispositivos de audio de salida para la barra superior del Ubuntu",
      "url": "https://www.maximofn.com/output-audio-device",
      "url_en": "https://www.maximofn.com/en/en/output-audio-device",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/output-audio-device",
      "image": "https://images.maximofn.com/output_audio_device_manager_logo.webp",
      "technologies": [
        "Python"
      ]
    },
    {
      "type": "project",
      "title": "Input audio device manager",
      "description": "Manager de dispositivos de audio de entrada para la barra superior del Ubuntu",
      "url": "https://www.maximofn.com/input-audio-device",
      "url_en": "https://www.maximofn.com/en/en/input-audio-device",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/input-audio-device",
      "image": "https://images.maximofn.com/input_audio_device_manager_logo.webp",
      "technologies": [
        "Python"
      ]
    },
    {
      "type": "project",
      "title": "Disk monitor",
      "description": "Monitor del disco duro para la barra de superior de Ubuntu",
      "url": "https://www.maximofn.com/system-monitors/#disk",
      "url_en": "https://www.maximofn.com/en/en/system-monitors/#disk",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/system-monitors/#disk",
      "image": "https://images.maximofn.com/disk_monitor_logo.webp",
      "technologies": [
        "Python"
      ]
    },
    {
      "type": "project",
      "title": "RAM monitor",
      "description": "Monitor de la RAM para la barra de superior de Ubuntu",
      "url": "https://www.maximofn.com/system-monitors/#ram",
      "url_en": "https://www.maximofn.com/en/en/system-monitors/#ram",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/system-monitors/#ram",
      "image": "https://images.maximofn.com/RAM_monitor_logo.webp",
      "technologies": [
        "Python"
      ]
    },
    {
      "type": "project",
      "title": "CPU monitor",
      "description": "Monitor de la CPU para la barra de superior de Ubuntu",
      "url": "https://www.maximofn.com/system-monitors/#cpu",
      "url_en": "https://www.maximofn.com/en/en/system-monitors/#cpu",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/system-monitors/#cpu",
      "image": "https://images.maximofn.com/CPU_monitor_logo.webp",
      "technologies": [
        "Python"
      ]
    },
    {
      "type": "project",
      "title": "Alfred",
      "description": "Asistente personal para la terminal, para todos los sistemas operativos y lenguajes",
      "url": "https://www.maximofn.com/alfred",
      "url_en": "https://www.maximofn.com/en/en/alfred",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/alfred",
      "image": "https://images.maximofn.com/alfred.webp",
      "technologies": [
        "Python",
        "OpenAI"
      ]
    },
    {
      "type": "project",
      "title": "Subtify",
      "description": "Generador de subtítulos para videos en el idioma que desees. Además a cada persona le pone su subtítulo de un color",
      "url": "https://www.maximofn.com/subtify",
      "url_en": "https://www.maximofn.com/en/en/subtify",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/subtify",
      "image": "https://images.maximofn.com/subtify_logo-scaled.webp",
      "technologies": [
        "Python",
        "Whisper",
        "Spaces"
      ]
    },
    {
      "type": "project",
      "title": "GPU monitor",
      "description": "Monitor de la GPU para la barra de superior de Ubuntu",
      "url": "https://www.maximofn.com/system-monitors/#gpu",
      "url_en": "https://www.maximofn.com/en/en/system-monitors/#gpu",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/system-monitors/#gpu",
      "image": "https://images.maximofn.com/GPU_monitor_logo.webp",
      "technologies": [
        "Python"
      ]
    },
    {
      "type": "project",
      "title": "Naviground",
      "description": "Sistema de percepción para vehículos autónomos",
      "url": "https://www.maximofn.com/naviground",
      "url_en": "https://www.maximofn.com/en/en/naviground",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/naviground",
      "image": "https://images.maximofn.com/naviground-system.webp",
      "technologies": [
        "Python",
        "Pytorch",
        "TensorRT",
        "OpenCV",
        "YOLO",
        "Docker",
        "Azure"
      ]
    },
    {
      "type": "project",
      "title": "Tau",
      "description": "Sistema multiagente de tutoría para estudiantes de secundaria, con un agente por asignatura y material de curso elaborado y validado por un equipo de profesores. Llegó a usarse con alumnos reales en un colegio privado en España y en un instituto en Colombia.",
      "url": "https://www.maximofn.com/https://app.taututor.com/",
      "url_en": "https://www.maximofn.com/en/https://app.taututor.com/",
      "url_pt": "https://www.maximofn.com/pt-br/https://app.taututor.com/",
      "image": "https://images.maximofn.com/tau-unnamed.webp",
      "technologies": [
        "Python",
        "LangChain"
      ]
    },
    {
      "type": "project",
      "title": "LangGraph Deep Researcher",
      "description": "Sistema multiagente de investigación construido con LangGraph. Un supervisor descompone tu pregunta en temas y lanza subagentes de búsqueda en paralelo; cada uno comprime sus hallazgos antes de pasarlos a un agente redactor que escribe el informe final en markdown con sus fuentes. Streaming en vivo por WebSockets, modelo configurable por rol y claves de API propias que nunca se guardan en el servidor.",
      "url": "https://www.maximofn.com/https://deepresearcher.maximofn.com/",
      "url_en": "https://www.maximofn.com/en/https://deepresearcher.maximofn.com/",
      "url_pt": "https://www.maximofn.com/pt-br/https://deepresearcher.maximofn.com/",
      "image": "https://images.maximofn.com/langgraph-deepresearcher-informe.webp",
      "technologies": [
        "Python",
        "LangGraph",
        "FastAPI",
        "React",
        "TypeScript",
        "Docker"
      ]
    },
    {
      "type": "project",
      "title": "Gymnasia",
      "description": "App de fitness con dos agentes que se ejecutan íntegramente en el dispositivo, sin backend, de forma que los datos del usuario nunca salen del móvil. Un coach conversacional BYOK con tools locales y system prompt remoto con fallback offline, y un estimador de comidas que saca los macronutrientes de una foto del plato, con lectura de códigos de barras contra OpenFoodFacts.",
      "url": "https://www.maximofn.com/https://gymnasia.maximofn.com/",
      "url_en": "https://www.maximofn.com/en/https://gymnasia.maximofn.com/",
      "url_pt": "https://www.maximofn.com/pt-br/https://gymnasia.maximofn.com/",
      "image": "https://images.maximofn.com/gymnasia-home-1.webp",
      "technologies": [
        "Expo",
        "React Native",
        "TypeScript",
        "OpenAI",
        "Anthropic",
        "Google Gemini",
        "OpenFoodFacts"
      ]
    },
    {
      "type": "tip",
      "title": "Long integers with underscore in Python",
      "description": "Tip para escribir números enteros largos con guión bajo en Python",
      "url": "https://www.maximofn.com/tips/long-integers-python",
      "url_en": "https://www.maximofn.com/en/en/tips/long-integers-python",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/long-integers-python",
      "image": "https://images.maximofn.com/long_integer_python.webp"
    },
    {
      "type": "tip",
      "title": "Primera letra de cada palabra en mayúsculas en Python",
      "description": "Tip para printear strings con la primera letra de cada palabra en mayúsculas en Python",
      "url": "https://www.maximofn.com/tips/string-title",
      "url_en": "https://www.maximofn.com/en/en/tips/string-title",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/string-title",
      "image": "https://images.maximofn.com/python-string-title.webp"
    },
    {
      "type": "tip",
      "title": "Ordenar listas en Python sin modificar la original",
      "description": "Tip para ordenar listas en Python sin modificar la original",
      "url": "https://www.maximofn.com/tips/sort-lists",
      "url_en": "https://www.maximofn.com/en/en/tips/sort-lists",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/sort-lists",
      "image": "https://images.maximofn.com/python_short_list.webp"
    },
    {
      "type": "tip",
      "title": "Tuplas de un solo elemento en Python",
      "description": "Tip para crear tuplas de un solo elemento en Python",
      "url": "https://www.maximofn.com/tips/single-element-tuples",
      "url_en": "https://www.maximofn.com/en/en/tips/single-element-tuples",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/single-element-tuples",
      "image": "https://images.maximofn.com/single-element-tuples.webp"
    },
    {
      "type": "tip",
      "title": "Get data of dictionaries",
      "description": "Get data of dictionaries in Python safely",
      "url": "https://www.maximofn.com/tips/get-data-of-dictionaries",
      "url_en": "https://www.maximofn.com/en/en/tips/get-data-of-dictionaries",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/get-data-of-dictionaries",
      "image": "https://images.maximofn.com/get-data-of-dictionaries.webp"
    },
    {
      "type": "tip",
      "title": "Declare neural networks clearly",
      "description": "Declarar redes neuronales de forma clara en Pytorch",
      "url": "https://www.maximofn.com/tips/declare-neural-networks-clearly",
      "url_en": "https://www.maximofn.com/en/en/tips/declare-neural-networks-clearly",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/declare-neural-networks-clearly",
      "image": "https://images.maximofn.com/declare-neural-networks-cleary.webp"
    },
    {
      "type": "tip",
      "title": "Formateador de código Black",
      "description": "Tu compañero Manolo hace código que cuesta verlo? Pásale este formateador de código que te enseño en este post! Entra y aprende cómo formatear código para dejarlo más entendible. No vamos a solucionar los problemas de Manolo, pero tu al menos no vas a sufrir al leerlo",
      "url": "https://www.maximofn.com/tips/black",
      "url_en": "https://www.maximofn.com/en/en/tips/black",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/black",
      "image": "https://images.maximofn.com/black_formater_thumbnail_es.webp"
    },
    {
      "type": "tip",
      "title": "Memory Calculator",
      "description": "Espacio para calcular la memoria necesaria para ejecutar un modelo",
      "url": "https://www.maximofn.com/tips/memory-calculator",
      "url_en": "https://www.maximofn.com/en/en/tips/memory-calculator",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/memory-calculator",
      "image": "https://images.maximofn.com/Huggies_Diffusor.webp"
    },
    {
      "type": "tip",
      "title": "py-smi",
      "description": "Librería de Python para obtener datos de la GPU igual que `nvidia-smi`",
      "url": "https://www.maximofn.com/tips/py-smi",
      "url_en": "https://www.maximofn.com/en/en/tips/py-smi",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/py-smi",
      "image": "https://images.maximofn.com/nvidia-smi-mockup.webp"
    },
    {
      "type": "tip",
      "title": "DataLoader con pin_memory y num_workers",
      "description": "Aumentar el rendimiento de DataLoader con pin_memory y num_workers",
      "url": "https://www.maximofn.com/tips/DataLoader-pin-memory",
      "url_en": "https://www.maximofn.com/en/en/tips/DataLoader-pin-memory",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/DataLoader-pin-memory",
      "image": "https://images.maximofn.com/pytorch_pin_memory.webp"
    },
    {
      "type": "tip",
      "title": "Memory profiler",
      "description": "Ver el uso de memoria de un script",
      "url": "https://www.maximofn.com/tips/memory-profiler",
      "url_en": "https://www.maximofn.com/en/en/tips/memory-profiler",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/memory-profiler",
      "image": "https://images.maximofn.com/memory_profiling_thumbnail.webp"
    },
    {
      "type": "tip",
      "title": "o1 prompt engineering",
      "description": "Crear mejores prompts para o1 siguiendo un ejemplo",
      "url": "https://www.maximofn.com/tips/o1-pompt-engineering",
      "url_en": "https://www.maximofn.com/en/en/tips/o1-pompt-engineering",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/o1-pompt-engineering",
      "image": "https://images.maximofn.com/o1_prompt_engineering.webp"
    },
    {
      "type": "tip",
      "title": "Buenas prácticas creando agentes con Claude Code",
      "description": "Charla técnica: skills, subagentes, slash commands y MCPs en Claude Code",
      "url": "https://www.maximofn.com/tips/buenas-practicas-creando-agentes-con-claude-code",
      "url_en": "https://www.maximofn.com/en/en/tips/buenas-practicas-creando-agentes-con-claude-code",
      "url_pt": "https://www.maximofn.com/pt-br/pt-br/tips/buenas-practicas-creando-agentes-con-claude-code",
      "image": "https://images.maximofn.com/best-practices-claude-code-01.webp"
    }
  ]
}