{"schemaVersion":1,"locale":"es","version":"fe1f17aac317c97ca28d2d882a6b45b46359abb6ae52e11c68fd3f0fc04edd2e","generatedAt":"2026-10-21T22:33:45.461Z","scope":"HTML snapshot captured at build time; live ISR pages can be newer. Re-read the canonical document before citing.","hashAlgorithm":"sha256","total":448,"passages":3919,"offset":0,"next":"/api/publication?locale=es&offset=100&limit=100","items":[{"url":"https://lucioduran.com/es","title":"Lucio Durán","kind":"section","language":"es","contentHash":"9349b227edba5da2e8efa322a82bfc82877d0daddb337c10aa14b790dc294965","datePublished":null,"dateModified":null,"passages":32,"representations":{"markdown":"https://lucioduran.com/es.md","json":"https://lucioduran.com/es.json"}},{"url":"https://lucioduran.com/es/access","title":"Acceso al contenido","kind":"section","language":"es","contentHash":"c25fdd31379c16a5c1368acc781f3e89ad434ddc04c581b76c791aa1e540b0bd","datePublished":null,"dateModified":null,"passages":13,"representations":{"markdown":"https://lucioduran.com/es/access.md","json":"https://lucioduran.com/es/access.json"}},{"url":"https://lucioduran.com/es/areas-of-expertise","title":"Especialidades","kind":"section","language":"es","contentHash":"5bf24fde920e116458bef043e7e247ac7d5dcb30e451d43b6ffaa2aacd1b8e57","datePublished":null,"dateModified":null,"passages":150,"representations":{"markdown":"https://lucioduran.com/es/areas-of-expertise.md","json":"https://lucioduran.com/es/areas-of-expertise.json"}},{"url":"https://lucioduran.com/es/bio","title":"Bio e Historia Profesional","kind":"section","language":"es","contentHash":"3f6c060f29ecbec9ed1cb501554e8900adfff95febfb98e11753dcaae7c430ca","datePublished":null,"dateModified":null,"passages":6,"representations":{"markdown":"https://lucioduran.com/es/bio.md","json":"https://lucioduran.com/es/bio.json"}},{"url":"https://lucioduran.com/es/blog","title":"Blog","kind":"section","language":"es","contentHash":"b24f279f2013bdd414ab046ea270bf4a055f65560b4d1f0e62c8f5321bfe4a7a","datePublished":null,"dateModified":null,"passages":108,"representations":{"markdown":"https://lucioduran.com/es/blog.md","json":"https://lucioduran.com/es/blog.json"}},{"url":"https://lucioduran.com/es/blog/accessibility-aria-live-regions-screen-reader","title":"ARIA Live Regions, Internals de Screen Readers y Metodología Sistemática de Auditoría","kind":"blog","language":"es","contentHash":"d319b4ecdef02a7da73f854a1ad4c4dd2d765150ea4fdbf35f9460547e7b50eb","datePublished":"2026-02-09","dateModified":null,"passages":13,"representations":{"markdown":"https://lucioduran.com/es/blog/accessibility-aria-live-regions-screen-reader.md","json":"https://lucioduran.com/es/blog/accessibility-aria-live-regions-screen-reader.json"}},{"url":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success","title":"Evaluar agentes sin autoengaño: harness, contaminación y costo por tarea resuelta","kind":"blog","language":"es","contentHash":"6b0fcba82e73b34f12a6a1fef5e4b45e622aa48b7fcb62a77288759513d19a0f","datePublished":"2026-10-21","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success.md","json":"https://lucioduran.com/es/blog/agent-evaluation-harness-contamination-cost-per-success.json"}},{"url":"https://lucioduran.com/es/blog/agent-tool-execution-authorization-idempotency-reconciliation","title":"Agentes que escriben en producción: autorización, idempotencia y reconciliación","kind":"blog","language":"es","contentHash":"69f8998aa1151ae4645204f9a99c038db12511f97fee92d0b99308fe35c97327","datePublished":"2026-10-14","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/agent-tool-execution-authorization-idempotency-reconciliation.md","json":"https://lucioduran.com/es/blog/agent-tool-execution-authorization-idempotency-reconciliation.json"}},{"url":"https://lucioduran.com/es/blog/agentic-ai-architecture-patterns","title":"Patrones de Arquitectura de IA Agéntica: Orquestación de Herramientas y Coordinación Multi-Agente","kind":"blog","language":"es","contentHash":"14d577153a8c80475c8f284f28e3960999b2dffa16297277a30a0389e0b13d73","datePublished":"2026-03-16","dateModified":"2026-10-21","passages":25,"representations":{"markdown":"https://lucioduran.com/es/blog/agentic-ai-architecture-patterns.md","json":"https://lucioduran.com/es/blog/agentic-ai-architecture-patterns.json"}},{"url":"https://lucioduran.com/es/blog/agentic-ai-autonomous-systems-at-scale","title":"Patrones de Arquitectura de IA Agéntica: Construyendo Sistemas Autónomos que Escalan","kind":"blog","language":"es","contentHash":"395aae9fa6874239b00ae4b9ac4ac89b682a063491675b236f36a3cee9428f7e","datePublished":"2026-03-18","dateModified":null,"passages":10,"representations":{"markdown":"https://lucioduran.com/es/blog/agentic-ai-autonomous-systems-at-scale.md","json":"https://lucioduran.com/es/blog/agentic-ai-autonomous-systems-at-scale.json"}},{"url":"https://lucioduran.com/es/blog/ai-code-review-ast-analysis-semgrep-custom-rules","title":"Revisión de Código Automatizada con Semgrep: Reglas Personalizadas, Pattern Matching AST y Scanners de Seguridad Organizacionales","kind":"blog","language":"es","contentHash":"e9b79b5c9c70c9b17e430f842567af9334aedb16e9267ea94d47e6c4783ef01e","datePublished":"2026-01-15","dateModified":null,"passages":11,"representations":{"markdown":"https://lucioduran.com/es/blog/ai-code-review-ast-analysis-semgrep-custom-rules.md","json":"https://lucioduran.com/es/blog/ai-code-review-ast-analysis-semgrep-custom-rules.json"}},{"url":"https://lucioduran.com/es/blog/arm64-graviton4-server-migration-benchmarks","title":"Benchmarks de Migración a Graviton4 ARM64: Datos Reales de Performance en Producción","kind":"blog","language":"es","contentHash":"fb3ef6646ff66ab7cacb42d88d5067ca6c17663de01f4e31bd407594418acf02","datePublished":"2025-11-22","dateModified":null,"passages":25,"representations":{"markdown":"https://lucioduran.com/es/blog/arm64-graviton4-server-migration-benchmarks.md","json":"https://lucioduran.com/es/blog/arm64-graviton4-server-migration-benchmarks.json"}},{"url":"https://lucioduran.com/es/blog/arrow-datafusion-query-engine-rust","title":"Apache Arrow DataFusion: Construyendo Query Engines Personalizados en Rust","kind":"blog","language":"es","contentHash":"11bcc109957c7249fd4893ed1eecf44cb61ffaac925f742d58a312210a31ba09","datePublished":"2026-01-05","dateModified":null,"passages":11,"representations":{"markdown":"https://lucioduran.com/es/blog/arrow-datafusion-query-engine-rust.md","json":"https://lucioduran.com/es/blog/arrow-datafusion-query-engine-rust.json"}},{"url":"https://lucioduran.com/es/blog/astro-5-view-transitions-content-collections","title":"Content Layer API, Server Islands y View Transitions en Astro 5","kind":"blog","language":"es","contentHash":"ffcfd27f30f13d5912b1b6dd282464baa2692053af4117efaf991919f59820d5","datePublished":"2026-02-21","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/astro-5-view-transitions-content-collections.md","json":"https://lucioduran.com/es/blog/astro-5-view-transitions-content-collections.json"}},{"url":"https://lucioduran.com/es/blog/async-rust-tokio-internals-runtime-design","title":"Arquitectura Interna del Runtime Tokio: Scheduler Work-Stealing, I/O Driver y Construcción de un Runtime Mínimo","kind":"blog","language":"es","contentHash":"2f8bc798b8172eb99db157da9dad24c32b638fba7ddf658932d24d492c0ed584","datePublished":"2025-11-15","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/async-rust-tokio-internals-runtime-design.md","json":"https://lucioduran.com/es/blog/async-rust-tokio-internals-runtime-design.json"}},{"url":"https://lucioduran.com/es/blog/blend-mode-compositing-gpu-rendering-pipeline","title":"Pipeline de Renderizado GPU: Blend Modes, Compositing Porter-Duff y Rendering Tile-Based","kind":"blog","language":"es","contentHash":"a6f923b3b76ca497863382cfc8f06f33f6dc305d04bc7e7f125737ab60c99735","datePublished":"2025-12-26","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/blend-mode-compositing-gpu-rendering-pipeline.md","json":"https://lucioduran.com/es/blog/blend-mode-compositing-gpu-rendering-pipeline.json"}},{"url":"https://lucioduran.com/es/blog/bpf-xdp-high-performance-packet-processing","title":"eBPF y XDP: Procesamiento de Paquetes de Alto Rendimiento y Mitigación de DDoS a Line Rate","kind":"blog","language":"es","contentHash":"2931143c99f9f0e417e39c883ca8a9fdfdbd8972268bd611b5c8e2689911b640","datePublished":"2026-02-17","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/bpf-xdp-high-performance-packet-processing.md","json":"https://lucioduran.com/es/blog/bpf-xdp-high-performance-packet-processing.json"}},{"url":"https://lucioduran.com/es/blog/browser-storage-apis-opfs-indexeddb-sqlite-wasm","title":"APIs de Almacenamiento del Navegador: OPFS, IndexedDB y SQLite-over-WASM para Aplicaciones Offline-First","kind":"blog","language":"es","contentHash":"3c43b484aa2176cb5ead0589b440d418e42a9e497d46e998910b8937e38004cd","datePublished":"2025-10-23","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/browser-storage-apis-opfs-indexeddb-sqlite-wasm.md","json":"https://lucioduran.com/es/blog/browser-storage-apis-opfs-indexeddb-sqlite-wasm.json"}},{"url":"https://lucioduran.com/es/blog/bun-v2-runtime-internals-deep-dive","title":"Internals de Bun v2: JavaScriptCore, Allocators de Zig y Batching de Syscalls con io_uring","kind":"blog","language":"es","contentHash":"627e5319b9acafa5b129258f785bdc050764e0352cd82aec11d278fcab4870eb","datePublished":"2025-10-04","dateModified":null,"passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/bun-v2-runtime-internals-deep-dive.md","json":"https://lucioduran.com/es/blog/bun-v2-runtime-internals-deep-dive.json"}},{"url":"https://lucioduran.com/es/blog/capability-based-security-wasi-preview2","title":"Seguridad Basada en Capabilities con WASI Preview 2: Sistemas de Plugins con Least-Privilege a Nivel de Runtime","kind":"blog","language":"es","contentHash":"da982e9cda9006030e5e1a6ddf803ad3c273c542cc743a90dfeaebeada5e9b16","datePublished":"2025-11-25","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/capability-based-security-wasi-preview2.md","json":"https://lucioduran.com/es/blog/capability-based-security-wasi-preview2.json"}},{"url":"https://lucioduran.com/es/blog/cell-based-architecture-blast-radius-isolation","title":"Arquitectura Basada en Celdas: Aislamiento de Radio de Explosión, Shuffle Sharding y Cómo AWS y Slack Reducen Dominios de Fallo","kind":"blog","language":"es","contentHash":"e222ae69b6ad17f4e4edb9716c232514aa25f8f03365a961568b54685d8d91bd","datePublished":"2025-12-06","dateModified":null,"passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/cell-based-architecture-blast-radius-isolation.md","json":"https://lucioduran.com/es/blog/cell-based-architecture-blast-radius-isolation.json"}},{"url":"https://lucioduran.com/es/blog/chaos-engineering-litmus-chaos-monkey-production","title":"Chaos Engineering en Producción: Hipótesis de Estado Estable, LitmusChaos y Control de Blast Radius","kind":"blog","language":"es","contentHash":"5e452cdc62cf62f5cdcccc0048b5e7d0f50a09da172cdb04e2e47fde403bcbac","datePublished":"2025-10-09","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/chaos-engineering-litmus-chaos-monkey-production.md","json":"https://lucioduran.com/es/blog/chaos-engineering-litmus-chaos-monkey-production.json"}},{"url":"https://lucioduran.com/es/blog/clickhouse-olap-real-time-analytics-architecture","title":"ClickHouse: OLAP Columnar para Analytics en Tiempo Real sobre 10 Mil Millones de Filas","kind":"blog","language":"es","contentHash":"95d0082876a53e089c38005ad9d087e8c2a1f59d4754bce1badd13c6befa3b7f","datePublished":"2026-03-01","dateModified":null,"passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/clickhouse-olap-real-time-analytics-architecture.md","json":"https://lucioduran.com/es/blog/clickhouse-olap-real-time-analytics-architecture.json"}},{"url":"https://lucioduran.com/es/blog/column-oriented-storage-parquet-lance-delta","title":"Formatos de Almacenamiento Columnar: Arquitectura y Optimización de Parquet, Lance, Delta Lake e Iceberg","kind":"blog","language":"es","contentHash":"69f7ab22dda17dbf53b9da44a9242512cfc3404c2778fdd46c6384511d04aaf0","datePublished":"2025-12-12","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/column-oriented-storage-parquet-lance-delta.md","json":"https://lucioduran.com/es/blog/column-oriented-storage-parquet-lance-delta.json"}},{"url":"https://lucioduran.com/es/blog/consensus-algorithms-raft-paxos-viewstamped","title":"Algoritmos de Consenso Comparados: Raft, Multi-Paxos, Viewstamped Replication y EPaxos","kind":"blog","language":"es","contentHash":"f3820ea450333ca58b64be941b9be885707d5d91c9f10276e1b8e804b5d50072","datePublished":"2025-10-28","dateModified":null,"passages":20,"representations":{"markdown":"https://lucioduran.com/es/blog/consensus-algorithms-raft-paxos-viewstamped.md","json":"https://lucioduran.com/es/blog/consensus-algorithms-raft-paxos-viewstamped.json"}},{"url":"https://lucioduran.com/es/blog/container-runtime-internals-runc-youki-kata","title":"Internals de Container Runtimes: runc, youki, kata-containers y Modelos de Aislamiento Sandbox","kind":"blog","language":"es","contentHash":"c456d3f4c44f1d76ceb6de3b5b3dac7c7253d534b0603cc0c81350405910e0ba","datePublished":"2025-12-19","dateModified":"2026-10-21","passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/container-runtime-internals-runc-youki-kata.md","json":"https://lucioduran.com/es/blog/container-runtime-internals-runc-youki-kata.json"}},{"url":"https://lucioduran.com/es/blog/crdts-local-first-software-architecture","title":"CRDTs para Software Local-First: Apps Colaborativas Sin Servidores","kind":"blog","language":"es","contentHash":"d195741f2d4f45883064d7ab6e2358f86985c31c9206a7799c9f9aaca806fcbe","datePublished":"2025-12-16","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/crdts-local-first-software-architecture.md","json":"https://lucioduran.com/es/blog/crdts-local-first-software-architecture.json"}},{"url":"https://lucioduran.com/es/blog/crossplane-infrastructure-composition-kubernetes","title":"Crossplane: Composición de Infraestructura en Kubernetes, Reemplazando Terraform con IaC GitOps-Native","kind":"blog","language":"es","contentHash":"9efb19bf951e480019be27c1dcae634304a18ff8655d5b1c35063992292b28b2","datePublished":"2025-11-17","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/crossplane-infrastructure-composition-kubernetes.md","json":"https://lucioduran.com/es/blog/crossplane-infrastructure-composition-kubernetes.json"}},{"url":"https://lucioduran.com/es/blog/css-anchor-positioning-popover-api-2026","title":"CSS Anchor Positioning y Popover API: Implementación de Tooltips Sin JavaScript","kind":"blog","language":"es","contentHash":"b144186ee7ccce5920e194eb9aacb4eab5d2e59fed2557963d5bf092391a4d4b","datePublished":"2026-01-23","dateModified":null,"passages":21,"representations":{"markdown":"https://lucioduran.com/es/blog/css-anchor-positioning-popover-api-2026.md","json":"https://lucioduran.com/es/blog/css-anchor-positioning-popover-api-2026.json"}},{"url":"https://lucioduran.com/es/blog/css-has-selector-quantity-queries-patterns","title":"CSS :has() Selector: Quantity Queries, Selección de Padres y Patrones Previamente Imposibles","kind":"blog","language":"es","contentHash":"7c20c0b47ec8b30dc3e61be4fd75eaf7b2df3dd53d6cb7d875b582f291227923","datePublished":"2025-11-10","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/css-has-selector-quantity-queries-patterns.md","json":"https://lucioduran.com/es/blog/css-has-selector-quantity-queries-patterns.json"}},{"url":"https://lucioduran.com/es/blog/deno-2-node-compat-fresh-framework","title":"Deno 2: Compatibilidad Total con Node, Fresh 2.0 y Benchmarks Comparativos Contra Node 22 y Bun","kind":"blog","language":"es","contentHash":"22db2eb50ca91c05170198efe83cf8ea1d35afa4eb9104f500029306820c0185","datePublished":"2025-11-09","dateModified":null,"passages":22,"representations":{"markdown":"https://lucioduran.com/es/blog/deno-2-node-compat-fresh-framework.md","json":"https://lucioduran.com/es/blog/deno-2-node-compat-fresh-framework.json"}},{"url":"https://lucioduran.com/es/blog/deterministic-simulation-testing-tigerbeetle","title":"Deterministic Simulation Testing: Metodología de Inyección de Fallas en TigerBeetle y FoundationDB","kind":"blog","language":"es","contentHash":"c100840b5e1b00548e003cc724d9f8788e3f77cfa283548b6596dcaccf109292","datePublished":"2025-11-29","dateModified":null,"passages":19,"representations":{"markdown":"https://lucioduran.com/es/blog/deterministic-simulation-testing-tigerbeetle.md","json":"https://lucioduran.com/es/blog/deterministic-simulation-testing-tigerbeetle.json"}},{"url":"https://lucioduran.com/es/blog/differential-privacy-federated-learning-production","title":"Privacidad Diferencial y Federated Learning: Arquitectura de Pipelines ML Sanitarios Conformes a HIPAA","kind":"blog","language":"es","contentHash":"3884a2b84d477648f8ecfac9259764d53edea74056b644720f8e4d53b5be2816","datePublished":"2026-02-14","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/differential-privacy-federated-learning-production.md","json":"https://lucioduran.com/es/blog/differential-privacy-federated-learning-production.json"}},{"url":"https://lucioduran.com/es/blog/dns-over-https-encrypted-client-hello-privacy","title":"Stack de Privacidad DNS: DoH, DoT, DNSSEC, Encrypted Client Hello y Análisis Comparativo de Privacidad","kind":"blog","language":"es","contentHash":"2f14c35bc2365482def61723d70b854b70f20d119936019f9b3601c751e44993","datePublished":"2026-01-08","dateModified":null,"passages":12,"representations":{"markdown":"https://lucioduran.com/es/blog/dns-over-https-encrypted-client-hello-privacy.md","json":"https://lucioduran.com/es/blog/dns-over-https-encrypted-client-hello-privacy.json"}},{"url":"https://lucioduran.com/es/blog/drizzle-orm-type-safe-sql-postgresql","title":"Drizzle ORM: SQL Type-Safe para PostgreSQL, Migraciones, Prepared Statements y Comparación con Prisma","kind":"blog","language":"es","contentHash":"5d15d6468b01c943878cdc6d231e620dea8157c1200f2eb21a32e97d5f89c52a","datePublished":"2026-03-11","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/drizzle-orm-type-safe-sql-postgresql.md","json":"https://lucioduran.com/es/blog/drizzle-orm-type-safe-sql-postgresql.json"}},{"url":"https://lucioduran.com/es/blog/ebpf-observability-production-kubernetes","title":"eBPF en Producción: Observabilidad a Nivel de Kernel en Kubernetes Sin el Overhead","kind":"blog","language":"es","contentHash":"b82c489d945e3b4a138cce37e7db2b6a7c793615236dc44434c8049af659f194","datePublished":"2025-10-25","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/ebpf-observability-production-kubernetes.md","json":"https://lucioduran.com/es/blog/ebpf-observability-production-kubernetes.json"}},{"url":"https://lucioduran.com/es/blog/edge-computing-durable-objects-cloudflare","title":"Cloudflare Durable Objects: Construcción de un Game Server Stateful en el Edge","kind":"blog","language":"es","contentHash":"20c372cdfec433655d4baac43f8f4033ec94b9b2bc37d527b9d5f30b14d65618","datePublished":"2026-02-16","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/edge-computing-durable-objects-cloudflare.md","json":"https://lucioduran.com/es/blog/edge-computing-durable-objects-cloudflare.json"}},{"url":"https://lucioduran.com/es/blog/effect-ts-algebraic-effects-error-handling","title":"Effect-TS: Efectos Algebraicos y Manejo de Errores Tipado en TypeScript","kind":"blog","language":"es","contentHash":"4362723357b5f0fefa6dd22490fdb659acf99e428a78a46baf86a787495e416c","datePublished":"2025-11-27","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/effect-ts-algebraic-effects-error-handling.md","json":"https://lucioduran.com/es/blog/effect-ts-algebraic-effects-error-handling.json"}},{"url":"https://lucioduran.com/es/blog/event-sourcing-cqrs-production-lessons","title":"Event Sourcing + CQRS: Diseño de Event Store, Proyecciones, Snapshots y Cuándo NO Usarlo","kind":"blog","language":"es","contentHash":"2ab658f7a52dbaad02ce75fc77d23a8542df5125643026c9f4ab55b7cd55fc08","datePublished":"2026-02-22","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/event-sourcing-cqrs-production-lessons.md","json":"https://lucioduran.com/es/blog/event-sourcing-cqrs-production-lessons.json"}},{"url":"https://lucioduran.com/es/blog/formal-verification-tla-plus-distributed-systems","title":"TLA+ para Verificación Formal: Encontrando Bugs de Sistemas Distribuidos Antes de Escribir una Sola Línea de Código","kind":"blog","language":"es","contentHash":"0e307104f5980d888ff7f971e1430395fa8e6d4b07c9e20fdf17bded2351ca8e","datePublished":"2026-03-18","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/formal-verification-tla-plus-distributed-systems.md","json":"https://lucioduran.com/es/blog/formal-verification-tla-plus-distributed-systems.json"}},{"url":"https://lucioduran.com/es/blog/gpu-programming-cuda-vs-rocm-vulkan-compute","title":"Programación GPU: CUDA vs ROCm vs Vulkan Compute, Warp Scheduling, Shared Memory y Multiplicación de Matrices","kind":"blog","language":"es","contentHash":"c304ebb7acb01007a02b99f0261f5f4ca42cc439f5512983dc050378c531d1e6","datePublished":"2026-03-06","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/gpu-programming-cuda-vs-rocm-vulkan-compute.md","json":"https://lucioduran.com/es/blog/gpu-programming-cuda-vs-rocm-vulkan-compute.json"}},{"url":"https://lucioduran.com/es/blog/graalvm-native-image-spring-boot-startup","title":"GraalVM Native Image: De 8 Segundos de Startup en Spring Boot a 50ms","kind":"blog","language":"es","contentHash":"e8abae9f3c704735255561eae5e2623788c67fdf8267f1d629cc9f86df7e648e","datePublished":"2025-10-16","dateModified":null,"passages":12,"representations":{"markdown":"https://lucioduran.com/es/blog/graalvm-native-image-spring-boot-startup.md","json":"https://lucioduran.com/es/blog/graalvm-native-image-spring-boot-startup.json"}},{"url":"https://lucioduran.com/es/blog/graph-databases-neo4j-surrealdb-age-comparison","title":"Bases de Datos de Grafos: Neo4j vs SurrealDB vs Apache AGE, Cypher, GQL y Optimización Real de Queries de Red Social","kind":"blog","language":"es","contentHash":"1a6b3c91787bb5a8187e38111b7ce77921df214c584b5551bd03b8a379f9d17d","datePublished":"2025-11-24","dateModified":null,"passages":19,"representations":{"markdown":"https://lucioduran.com/es/blog/graph-databases-neo4j-surrealdb-age-comparison.md","json":"https://lucioduran.com/es/blog/graph-databases-neo4j-surrealdb-age-comparison.json"}},{"url":"https://lucioduran.com/es/blog/grpc-protobuf-connectrpc-api-design","title":"gRPC + Protobuf + ConnectRPC: APIs Type-Safe con Streaming y Generación de Código","kind":"blog","language":"es","contentHash":"c6b7f583329d6f540a12816282d2322545b33e4b2d85819f27e9489a2a7676fd","datePublished":"2026-01-06","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/grpc-protobuf-connectrpc-api-design.md","json":"https://lucioduran.com/es/blog/grpc-protobuf-connectrpc-api-design.json"}},{"url":"https://lucioduran.com/es/blog/hardware-security-modules-hsm-cloud-kms","title":"HSMs y Cloud KMS: PKCS#11, Envelope Encryption y Arquitectura Real de Gestión de Secretos","kind":"blog","language":"es","contentHash":"9412edcbda76ed8e4fa134427ec807dbca8e9e6b998580169996d891cc7f1616","datePublished":"2026-01-25","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/hardware-security-modules-hsm-cloud-kms.md","json":"https://lucioduran.com/es/blog/hardware-security-modules-hsm-cloud-kms.json"}},{"url":"https://lucioduran.com/es/blog/homomorphic-encryption-tfhe-concrete-ml","title":"Cifrado Homomórfico en la Práctica: TFHE, Concrete-ML e Inferencia ML sobre Datos Cifrados","kind":"blog","language":"es","contentHash":"dc3d9eb67afddf91911ac0b04cefd8d3db13977974a2804cacff1aebdd472a9e","datePublished":"2026-02-24","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/homomorphic-encryption-tfhe-concrete-ml.md","json":"https://lucioduran.com/es/blog/homomorphic-encryption-tfhe-concrete-ml.json"}},{"url":"https://lucioduran.com/es/blog/htmx-2-hypermedia-driven-applications","title":"HTMX 2.0: Aplicaciones Hypermedia en Producción","kind":"blog","language":"es","contentHash":"b5703fa7b62d04cd1f7ea90d910d7971edd41f0c94a4238b29c4eca14d8ff6ac","datePublished":"2025-11-14","dateModified":null,"passages":19,"representations":{"markdown":"https://lucioduran.com/es/blog/htmx-2-hypermedia-driven-applications.md","json":"https://lucioduran.com/es/blog/htmx-2-hypermedia-driven-applications.json"}},{"url":"https://lucioduran.com/es/blog/immutable-infrastructure-packer-golden-images","title":"Infraestructura Inmutable: Golden Images con Packer, Pipelines de AMI, Deployments Blue-Green y la Migración Real desde Servers Mutables","kind":"blog","language":"es","contentHash":"56190e337c6543409747c73626872829bef34e72081aed8ede824d5543cc7618","datePublished":"2025-12-21","dateModified":null,"passages":13,"representations":{"markdown":"https://lucioduran.com/es/blog/immutable-infrastructure-packer-golden-images.md","json":"https://lucioduran.com/es/blog/immutable-infrastructure-packer-golden-images.json"}},{"url":"https://lucioduran.com/es/blog/incremental-computation-salsa-adapton-frameworks","title":"Computación Incremental con los Frameworks Salsa y Adapton","kind":"blog","language":"es","contentHash":"a2acf3ed90ceaf30fded6182261b2aca0874a0ba42ca7ff50f5c7a74c13a42c0","datePublished":"2025-10-06","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/incremental-computation-salsa-adapton-frameworks.md","json":"https://lucioduran.com/es/blog/incremental-computation-salsa-adapton-frameworks.json"}},{"url":"https://lucioduran.com/es/blog/jit-compilation-cranelift-copy-patch-techniques","title":"Técnicas de Compilación JIT: Cranelift, Copy-and-Patch y CPython 3.13","kind":"blog","language":"es","contentHash":"c8d068b2b3f25bead72d33b6a3cb1974b1d65c9ed20ba2961a478c70d01c1a82","datePublished":"2025-11-12","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/jit-compilation-cranelift-copy-patch-techniques.md","json":"https://lucioduran.com/es/blog/jit-compilation-cranelift-copy-patch-techniques.json"}},{"url":"https://lucioduran.com/es/blog/kafka-vs-redpanda-event-streaming-benchmarks","title":"Kafka vs Redpanda: Benchmarks de Event Streaming y Análisis de Migración","kind":"blog","language":"es","contentHash":"1e14578bc0ac46c0c2ce79e3621eefb636a4bc4099859afc27a55f5704b36252","datePublished":"2026-01-22","dateModified":null,"passages":25,"representations":{"markdown":"https://lucioduran.com/es/blog/kafka-vs-redpanda-event-streaming-benchmarks.md","json":"https://lucioduran.com/es/blog/kafka-vs-redpanda-event-streaming-benchmarks.json"}},{"url":"https://lucioduran.com/es/blog/kubernetes-gateway-api-envoy-cilium","title":"Gateway API de Kubernetes: Reemplazando Ingress con Envoy Gateway y Cilium","kind":"blog","language":"es","contentHash":"194d2cb86aa08a8a4f94df784aca9897e98bc661282894beae6223bec8469276","datePublished":"2026-02-06","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/kubernetes-gateway-api-envoy-cilium.md","json":"https://lucioduran.com/es/blog/kubernetes-gateway-api-envoy-cilium.json"}},{"url":"https://lucioduran.com/es/blog/linux-io-uring-async-io-nodejs-integration","title":"Linux io_uring: Arquitectura de I/O Asíncrono e Integración con Node.js","kind":"blog","language":"es","contentHash":"c936293c978b79c9cde092bdfb1c05cb5fd86aa630c9f1c90fbc0c45a29042a8","datePublished":"2026-01-11","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/linux-io-uring-async-io-nodejs-integration.md","json":"https://lucioduran.com/es/blog/linux-io-uring-async-io-nodejs-integration.json"}},{"url":"https://lucioduran.com/es/blog/llm-function-calling-tool-use-patterns","title":"Patrones de Function Calling en LLMs para Tool Use Confiable en Agentes de IA","kind":"blog","language":"es","contentHash":"3310a94f5f280d8b8ed84dec4e00068ae5df873ea5f8ff5244afc0f586681d89","datePublished":"2026-01-17","dateModified":"2026-10-21","passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/llm-function-calling-tool-use-patterns.md","json":"https://lucioduran.com/es/blog/llm-function-calling-tool-use-patterns.json"}},{"url":"https://lucioduran.com/es/blog/llm-inference-optimization-kv-cache-paged-attention","title":"Optimización de Inferencia LLM: KV-Cache, PagedAttention y Eficiencia de Memoria GPU","kind":"blog","language":"es","contentHash":"a397a640623084b7c4b23f5d301cdacd6b4b01a951661f16825fc0a256d8a7d1","datePublished":"2025-12-22","dateModified":"2026-10-21","passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/llm-inference-optimization-kv-cache-paged-attention.md","json":"https://lucioduran.com/es/blog/llm-inference-optimization-kv-cache-paged-attention.json"}},{"url":"https://lucioduran.com/es/blog/llm-quantization-gptq-awq-gguf-compared","title":"Comparación de Cuantización de LLMs: GPTQ, AWQ, GGUF y SqueezeLLM","kind":"blog","language":"es","contentHash":"3244164d3990a76949e583ca0f2c5ea893113118cbc51d5ab4a4dd396b69bc85","datePublished":"2025-10-11","dateModified":null,"passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/llm-quantization-gptq-awq-gguf-compared.md","json":"https://lucioduran.com/es/blog/llm-quantization-gptq-awq-gguf-compared.json"}},{"url":"https://lucioduran.com/es/blog/llvm-mlir-compiler-infrastructure-custom-dialects","title":"LLVM MLIR: Construyendo Dialectos de Compilador Custom para Optimización de Dominio","kind":"blog","language":"es","contentHash":"ae62ca786d94f2afda7a96e92919e2f6162843b37a1e2eae579ee0a97e18cffa","datePublished":"2026-01-27","dateModified":null,"passages":22,"representations":{"markdown":"https://lucioduran.com/es/blog/llvm-mlir-compiler-infrastructure-custom-dialects.md","json":"https://lucioduran.com/es/blog/llvm-mlir-compiler-infrastructure-custom-dialects.json"}},{"url":"https://lucioduran.com/es/blog/load-balancing-algorithms-maglev-consistent-hashing","title":"Algoritmos de Balanceo de Carga: Maglev Hashing, Consistent Hashing con Cargas Acotadas y P2C","kind":"blog","language":"es","contentHash":"329bcf9a5ea1dbec50ac47bfddaf5b3e709abbaeb6ef309f6224df523e07cf36","datePublished":"2026-01-30","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/load-balancing-algorithms-maglev-consistent-hashing.md","json":"https://lucioduran.com/es/blog/load-balancing-algorithms-maglev-consistent-hashing.json"}},{"url":"https://lucioduran.com/es/blog/memory-safe-c-alternatives-carbon-cpp2-val","title":"Alternativas Memory-Safe a C++: Carbon, Cpp2, Val y Circle en Comparación","kind":"blog","language":"es","contentHash":"97cf96259edf5250747e2346cdf54eeed155fa07a959ac16af4ab54dad003c5a","datePublished":"2025-10-18","dateModified":null,"passages":23,"representations":{"markdown":"https://lucioduran.com/es/blog/memory-safe-c-alternatives-carbon-cpp2-val.md","json":"https://lucioduran.com/es/blog/memory-safe-c-alternatives-carbon-cpp2-val.json"}},{"url":"https://lucioduran.com/es/blog/micro-frontends-module-federation-native-federation","title":"Micro-Frontends en 2026: Module Federation 2.0, Native Federation e Import Maps","kind":"blog","language":"es","contentHash":"a5d851788c2cd6b4614c94da3b8165865f13e1034001fb115a8f546b76cfe8de","datePublished":"2025-11-02","dateModified":null,"passages":19,"representations":{"markdown":"https://lucioduran.com/es/blog/micro-frontends-module-federation-native-federation.md","json":"https://lucioduran.com/es/blog/micro-frontends-module-federation-native-federation.json"}},{"url":"https://lucioduran.com/es/blog/mlops-feature-stores-feast-tecton-production","title":"MLOps Feature Stores: Feast, Tecton, Features en Tiempo Real y Arquitectura de Pipelines ML en Producción","kind":"blog","language":"es","contentHash":"ea9b9faeda05fcfd099d506d7bb5d682dbac0f3e00265166f0a0935306279b97","datePublished":"2025-11-30","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/mlops-feature-stores-feast-tecton-production.md","json":"https://lucioduran.com/es/blog/mlops-feature-stores-feast-tecton-production.json"}},{"url":"https://lucioduran.com/es/blog/model-context-protocol-mcp-ai-integration","title":"Model Context Protocol (MCP): La Capa de Estandarización que Faltaba para Integrar IA con Herramientas","kind":"blog","language":"es","contentHash":"f79d3ef9bd099579fbec301043a678070c4860c441ba332a28ee8840ba07c761","datePublished":"2026-03-08","dateModified":"2026-10-21","passages":20,"representations":{"markdown":"https://lucioduran.com/es/blog/model-context-protocol-mcp-ai-integration.md","json":"https://lucioduran.com/es/blog/model-context-protocol-mcp-ai-integration.json"}},{"url":"https://lucioduran.com/es/blog/mojo-language-python-superset-performance","title":"Mojo como Superset de Python: Rendimiento en Cargas de Trabajo ML de Producción","kind":"blog","language":"es","contentHash":"c72bb3435809fe27a75b0bc2b845e83b0d91a30f46acbc7aa7b81070c9741033","datePublished":"2026-02-11","dateModified":null,"passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/mojo-language-python-superset-performance.md","json":"https://lucioduran.com/es/blog/mojo-language-python-superset-performance.json"}},{"url":"https://lucioduran.com/es/blog/next-js-15-ppr-partial-prerendering","title":"Next.js 15 PPR: Partial Prerendering, Static Shells, y el Fin del Debate ISR vs SSR","kind":"blog","language":"es","contentHash":"1666d26068659e221c95fed78798f9d1068b46df1760ac60813092acfc3bb1ee","datePublished":"2025-12-17","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/next-js-15-ppr-partial-prerendering.md","json":"https://lucioduran.com/es/blog/next-js-15-ppr-partial-prerendering.json"}},{"url":"https://lucioduran.com/es/blog/nix-flakes-reproducible-dev-environments","title":"Nix Flakes como Reemplazo de Docker para Entornos de Desarrollo Local","kind":"blog","language":"es","contentHash":"4da6e913a7913fdc834fef6fd134a8e77fc0e2e705b5ba9f0ed55a4593d78c6b","datePublished":"2025-11-19","dateModified":null,"passages":21,"representations":{"markdown":"https://lucioduran.com/es/blog/nix-flakes-reproducible-dev-environments.md","json":"https://lucioduran.com/es/blog/nix-flakes-reproducible-dev-environments.json"}},{"url":"https://lucioduran.com/es/blog/object-storage-s3-compatible-minio-tigris","title":"Object Storage S3-Compatible: MinIO, Tigris, R2 e Internals del Multipart Upload","kind":"blog","language":"es","contentHash":"aed4af90b543c940f689c547248e8040fa9295e1a258a5383bf5b45318d3e610","datePublished":"2025-11-05","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/object-storage-s3-compatible-minio-tigris.md","json":"https://lucioduran.com/es/blog/object-storage-s3-compatible-minio-tigris.json"}},{"url":"https://lucioduran.com/es/blog/openapi-4-moonwalk-api-specification","title":"OpenAPI 4.0 (Moonwalk): La Reescritura de Spec que Realmente Importa","kind":"blog","language":"es","contentHash":"b1d8aba23ea158ea0c20f7409ece2c151a382497093bb5a9d9dd383e37145270","datePublished":"2025-10-26","dateModified":null,"passages":13,"representations":{"markdown":"https://lucioduran.com/es/blog/openapi-4-moonwalk-api-specification.md","json":"https://lucioduran.com/es/blog/openapi-4-moonwalk-api-specification.json"}},{"url":"https://lucioduran.com/es/blog/opentelemetry-distributed-tracing-microservices","title":"OpenTelemetry en Producción: Implementación de Distributed Tracing y Control de Costos","kind":"blog","language":"es","contentHash":"6887540cede885c2bb6ff1727303df5dd6f3ee730afd3bccf4b086633fd21e3b","datePublished":"2025-12-11","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/opentelemetry-distributed-tracing-microservices.md","json":"https://lucioduran.com/es/blog/opentelemetry-distributed-tracing-microservices.json"}},{"url":"https://lucioduran.com/es/blog/passkeys-webauthn-passwordless-implementation","title":"Passkeys y WebAuthn: Guía de Implementación en Producción para Autenticación FIDO2 sin Contraseña","kind":"blog","language":"es","contentHash":"38d94835a7d0ec822d64eea37bdede91649aed2b8da7615c982dc2692476c375","datePublished":"2025-12-29","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/passkeys-webauthn-passwordless-implementation.md","json":"https://lucioduran.com/es/blog/passkeys-webauthn-passwordless-implementation.json"}},{"url":"https://lucioduran.com/es/blog/platform-engineering-idp-backstage-port","title":"Platform Engineering: Construyendo IDPs con Backstage y Port","kind":"blog","language":"es","contentHash":"d45d987057269c0170dda790cc790725990aacb0b08282d42fd08d18baa1e9d1","datePublished":"2025-12-27","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/platform-engineering-idp-backstage-port.md","json":"https://lucioduran.com/es/blog/platform-engineering-idp-backstage-port.json"}},{"url":"https://lucioduran.com/es/blog/postgres-logical-replication-cdc-debezium","title":"PostgreSQL CDC con Debezium: Replicación Lógica, Decodificación WAL y Arquitectura Event-Driven Real","kind":"blog","language":"es","contentHash":"9ee9338a39b64c3d618108da28706c627e4662dc6c24928ec5c58f91b6bb2acc","datePublished":"2026-01-13","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/postgres-logical-replication-cdc-debezium.md","json":"https://lucioduran.com/es/blog/postgres-logical-replication-cdc-debezium.json"}},{"url":"https://lucioduran.com/es/blog/postgresql-17-incremental-backup-logical-replication","title":"PostgreSQL 17: Backup Incremental, Failover de Replicación Lógica y Mejoras Operacionales","kind":"blog","language":"es","contentHash":"8d7a78ba86e8801a11f8080bcb913468edd3aece5419eceee0cdb264307bf1ec","datePublished":"2025-10-14","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/postgresql-17-incremental-backup-logical-replication.md","json":"https://lucioduran.com/es/blog/postgresql-17-incremental-backup-logical-replication.json"}},{"url":"https://lucioduran.com/es/blog/rag-pipeline-architecture-chunking-reranking-evaluation","title":"Arquitectura de Pipelines RAG: Estrategias de Chunking, Búsqueda Híbrida, Reranking y Frameworks de Evaluación","kind":"blog","language":"es","contentHash":"8def0f00edc6ddc3ef4adebe14b8cad09c6cebc1a46522e345ef7fa75be78f52","datePublished":"2026-04-16","dateModified":"2026-10-21","passages":43,"representations":{"markdown":"https://lucioduran.com/es/blog/rag-pipeline-architecture-chunking-reranking-evaluation.md","json":"https://lucioduran.com/es/blog/rag-pipeline-architecture-chunking-reranking-evaluation.json"}},{"url":"https://lucioduran.com/es/blog/rate-limiting-algorithms-token-bucket-sliding-window","title":"Algoritmos de Rate Limiting: De Token Buckets a Scripts Lua Distribuidos","kind":"blog","language":"es","contentHash":"59f1e5fe3b92dbafb8221b15bc9f7857198da729d629ab92bb6021ef12b8daef","datePublished":"2025-10-21","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/rate-limiting-algorithms-token-bucket-sliding-window.md","json":"https://lucioduran.com/es/blog/rate-limiting-algorithms-token-bucket-sliding-window.json"}},{"url":"https://lucioduran.com/es/blog/react-server-components-streaming-architecture","title":"React Server Components: Arquitectura de Streaming, Costos de Rendimiento y Patrones de Migración","kind":"blog","language":"es","contentHash":"87fa5088047e4b2f1285bee836a546709f0eebcf24c5c88cf15577ed85f3b511","datePublished":"2026-01-01","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/react-server-components-streaming-architecture.md","json":"https://lucioduran.com/es/blog/react-server-components-streaming-architecture.json"}},{"url":"https://lucioduran.com/es/blog/recursive-agent-harnesses-context-budgets-provenance","title":"Agentes recursivos: contexto externo, presupuestos y evidencia que sobrevive a la delegación","kind":"blog","language":"es","contentHash":"eaa280a17bb055e99143f0bc23eb828a3673186761f09d1e9dd8983aa24da05b","datePublished":"2026-10-07","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/recursive-agent-harnesses-context-budgets-provenance.md","json":"https://lucioduran.com/es/blog/recursive-agent-harnesses-context-budgets-provenance.json"}},{"url":"https://lucioduran.com/es/blog/risc-v-embedded-systems-rust-firmware","title":"RISC-V + Rust Firmware: Armando un Nodo IoT de Sensores con Embassy-rs en el ESP32-C6","kind":"blog","language":"es","contentHash":"198a85976becb0359bfe1ee336a4c722840011c1bc7522c5eef41ce908b945f3","datePublished":"2026-03-03","dateModified":null,"passages":13,"representations":{"markdown":"https://lucioduran.com/es/blog/risc-v-embedded-systems-rust-firmware.md","json":"https://lucioduran.com/es/blog/risc-v-embedded-systems-rust-firmware.json"}},{"url":"https://lucioduran.com/es/blog/rust-wasm-component-model-production","title":"Rust + WASM Component Model en Producción: Microservicios Políglotas Que Realmente Funcionan","kind":"blog","language":"es","contentHash":"08bfc015be15cea25df794076bdf3d4ca73688a34916475b55b158c4d7b368f7","datePublished":"2025-10-08","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/rust-wasm-component-model-production.md","json":"https://lucioduran.com/es/blog/rust-wasm-component-model-production.json"}},{"url":"https://lucioduran.com/es/blog/scylladb-cassandra-compatible-low-latency","title":"ScyllaDB: Arquitectura Shard-Per-Core, Benchmarks de Latencia y Migración desde Cassandra","kind":"blog","language":"es","contentHash":"e01b23ff54ad246b9f49b5184727a7088a8ba14cd11b9d1a8b00bb4455dca045","datePublished":"2025-11-20","dateModified":null,"passages":19,"representations":{"markdown":"https://lucioduran.com/es/blog/scylladb-cassandra-compatible-low-latency.md","json":"https://lucioduran.com/es/blog/scylladb-cassandra-compatible-low-latency.json"}},{"url":"https://lucioduran.com/es/blog/semantic-kernel-langchain-ai-orchestration","title":"Frameworks de Orquestación AI: Semantic Kernel vs LangChain vs LlamaIndex","kind":"blog","language":"es","contentHash":"2f0f1c839a113a6b0cc56533801c89803ac0ad8b2a3f1ecf61b9603fe69d8813","datePublished":"2026-01-18","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/semantic-kernel-langchain-ai-orchestration.md","json":"https://lucioduran.com/es/blog/semantic-kernel-langchain-ai-orchestration.json"}},{"url":"https://lucioduran.com/es/blog/serverless-cold-starts-optimization-strategies","title":"Cold Starts en Serverless: Guía Completa de Estrategias de Optimización","kind":"blog","language":"es","contentHash":"3949cdd7c4af228d02aa1a7714aad1cad2ab49b3d945406c8ccc44858484dabc","datePublished":"2025-10-03","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/serverless-cold-starts-optimization-strategies.md","json":"https://lucioduran.com/es/blog/serverless-cold-starts-optimization-strategies.json"}},{"url":"https://lucioduran.com/es/blog/service-mesh-ambient-mesh-istio-linkerd","title":"Evolución del Service Mesh: Istio Ambient Mesh, Linkerd y las Arquitecturas Sin Sidecars","kind":"blog","language":"es","contentHash":"d07e5d3213334c2a744f53fae08a234ffb0a292ff4ebcc31d5de1b48ee368f89","datePublished":"2026-03-13","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/service-mesh-ambient-mesh-istio-linkerd.md","json":"https://lucioduran.com/es/blog/service-mesh-ambient-mesh-istio-linkerd.json"}},{"url":"https://lucioduran.com/es/blog/signals-reactivity-angular-solid-preact","title":"Signals y Reactividad Fine-Grained: Angular, SolidJS, Preact y la Transición del Diffing de Virtual DOM","kind":"blog","language":"es","contentHash":"7c9384c38656c3bbf2f2c8a6ec8ed2083214f96a8691558d7700d934571792c6","datePublished":"2026-02-01","dateModified":null,"passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/signals-reactivity-angular-solid-preact.md","json":"https://lucioduran.com/es/blog/signals-reactivity-angular-solid-preact.json"}},{"url":"https://lucioduran.com/es/blog/smithy-api-modeling-aws-sdk-generation","title":"Smithy: El Lenguaje de Modelado de APIs de AWS y Construcción de Generadores de SDK","kind":"blog","language":"es","contentHash":"8c329babbfa26b5e257abc1d3cd2aac9243b8204e3ff222b7311ffcb4fc73c8f","datePublished":"2025-11-07","dateModified":null,"passages":13,"representations":{"markdown":"https://lucioduran.com/es/blog/smithy-api-modeling-aws-sdk-generation.md","json":"https://lucioduran.com/es/blog/smithy-api-modeling-aws-sdk-generation.json"}},{"url":"https://lucioduran.com/es/blog/spdk-nvme-storage-performance-optimization","title":"SPDK + NVMe: Construcción de un Storage Engine en User-Space con 10M IOPS","kind":"blog","language":"es","contentHash":"36fc328921072399f988c21df98bc0cfa501c9436067c9ab2f97488513972cbc","datePublished":"2026-02-26","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/spdk-nvme-storage-performance-optimization.md","json":"https://lucioduran.com/es/blog/spdk-nvme-storage-performance-optimization.json"}},{"url":"https://lucioduran.com/es/blog/speculation-rules-api-prerender-navigation","title":"Speculation Rules API: Pre-renderizado de Páginas Antes de la Navegación e Impacto Medido en Core Web Vitals","kind":"blog","language":"es","contentHash":"8e2d279a2dbd2418cd67e4259bac862ce04aeaece6a77abbdc7f511388d363c1","datePublished":"2026-03-05","dateModified":null,"passages":16,"representations":{"markdown":"https://lucioduran.com/es/blog/speculation-rules-api-prerender-navigation.md","json":"https://lucioduran.com/es/blog/speculation-rules-api-prerender-navigation.json"}},{"url":"https://lucioduran.com/es/blog/sqlite-litefs-distributed-edge-databases","title":"SQLite en el Edge: LiteFS, Turso, y Por Qué Postgres No Siempre Es la Respuesta","kind":"blog","language":"es","contentHash":"424092e000ea2de4bf54f720d7086d0899a31f967e57889ec86a8cff4414f726","datePublished":"2025-10-30","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/sqlite-litefs-distributed-edge-databases.md","json":"https://lucioduran.com/es/blog/sqlite-litefs-distributed-edge-databases.json"}},{"url":"https://lucioduran.com/es/blog/streaming-html-out-of-order-island-architecture","title":"Streaming HTML: Out-of-Order Streaming, Island Architecture e Hidratación Selectiva","kind":"blog","language":"es","contentHash":"b3f5958ec7c24fa670a8320e8e0db9d2dc6a3913e6d5af39a78fc1fc994a2b72","datePublished":"2026-01-03","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/streaming-html-out-of-order-island-architecture.md","json":"https://lucioduran.com/es/blog/streaming-html-out-of-order-island-architecture.json"}},{"url":"https://lucioduran.com/es/blog/structured-concurrency-java-21-virtual-threads","title":"Concurrencia Estructurada en Java 21: Virtual Threads y Arquitectura de Servidores","kind":"blog","language":"es","contentHash":"c0c93b6d071ae7f1cb922147ef9316e0ca397e8727d256ca31b45cc1ef2f7732","datePublished":"2026-02-12","dateModified":null,"passages":17,"representations":{"markdown":"https://lucioduran.com/es/blog/structured-concurrency-java-21-virtual-threads.md","json":"https://lucioduran.com/es/blog/structured-concurrency-java-21-virtual-threads.json"}},{"url":"https://lucioduran.com/es/blog/supabase-realtime-presence-multiplayer","title":"Supabase Realtime: Implementación de Funcionalidades Multiplayer Sin Gestionar Servidores WebSocket","kind":"blog","language":"es","contentHash":"178629a9c896873fbc6f2cda37c2e0cecbda8aa8d49c7b2b7010e9215777f1fb","datePublished":"2026-02-19","dateModified":null,"passages":20,"representations":{"markdown":"https://lucioduran.com/es/blog/supabase-realtime-presence-multiplayer.md","json":"https://lucioduran.com/es/blog/supabase-realtime-presence-multiplayer.json"}},{"url":"https://lucioduran.com/es/blog/supply-chain-security-sigstore-slsa-sbom","title":"Seguridad de la Cadena de Suministro: Sigstore, SLSA, SBOMs y Asegurando el Pipeline de Build de Punta a Punta","kind":"blog","language":"es","contentHash":"58ac4af1462162528cf2fff2413c70a1d8c4a7fa323827352bc14501543d660c","datePublished":"2025-12-31","dateModified":null,"passages":13,"representations":{"markdown":"https://lucioduran.com/es/blog/supply-chain-security-sigstore-slsa-sbom.md","json":"https://lucioduran.com/es/blog/supply-chain-security-sigstore-slsa-sbom.json"}},{"url":"https://lucioduran.com/es/blog/tcp-quic-http3-kernel-bypass-performance","title":"TCP vs QUIC vs HTTP/3: Kernel Bypass, Zero-Copy y Optimización de Latencia","kind":"blog","language":"es","contentHash":"ccdc03817f8bca431b8919b37eb46f77d0422a44c868c5bb4582292e371b6a31","datePublished":"2025-12-07","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/tcp-quic-http3-kernel-bypass-performance.md","json":"https://lucioduran.com/es/blog/tcp-quic-http3-kernel-bypass-performance.json"}},{"url":"https://lucioduran.com/es/blog/temporal-workflow-engine-durable-execution","title":"Temporal.io: Reemplazando Colas de Mensajes con Ejecución Durable para Orquestación Compleja","kind":"blog","language":"es","contentHash":"8ca21e98cb30b6fbb9c6d359419657d7bf3db215348af5350f1650390bcf4d7d","datePublished":"2026-02-28","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/temporal-workflow-engine-durable-execution.md","json":"https://lucioduran.com/es/blog/temporal-workflow-engine-durable-execution.json"}},{"url":"https://lucioduran.com/es/blog/time-series-databases-timescaledb-questdb-influx","title":"Bases de Datos de Series Temporales: TimescaleDB Hypertables, QuestDB Columnar e InfluxDB IOx","kind":"blog","language":"es","contentHash":"71ef4892053cfbeb3102729f6321c0581fa3033883971929c5afc5a1e080f099","datePublished":"2026-01-10","dateModified":null,"passages":19,"representations":{"markdown":"https://lucioduran.com/es/blog/time-series-databases-timescaledb-questdb-influx.md","json":"https://lucioduran.com/es/blog/time-series-databases-timescaledb-questdb-influx.json"}},{"url":"https://lucioduran.com/es/blog/tls-1-3-post-quantum-kyber-hybrid","title":"TLS 1.3 + Post-Quantum: Intercambio de Claves Híbrido ML-KEM (Kyber) en el Mundo Real","kind":"blog","language":"es","contentHash":"8035bf1383faf9d06b75920dd9d376495178c62630997c73418f2eeee3803682","datePublished":"2026-03-10","dateModified":null,"passages":18,"representations":{"markdown":"https://lucioduran.com/es/blog/tls-1-3-post-quantum-kyber-hybrid.md","json":"https://lucioduran.com/es/blog/tls-1-3-post-quantum-kyber-hybrid.json"}},{"url":"https://lucioduran.com/es/blog/typescript-5-5-type-predicates-inference","title":"TypeScript 5.5: Type Predicates Inferidos, Isolated Declarations y Gotchas del Mundo Real","kind":"blog","language":"es","contentHash":"bee4053d4cae3fb220e10ba117d9998fe1727729f7ba2545cd9fc160f9250fb6","datePublished":"2025-12-24","dateModified":null,"passages":19,"representations":{"markdown":"https://lucioduran.com/es/blog/typescript-5-5-type-predicates-inference.md","json":"https://lucioduran.com/es/blog/typescript-5-5-type-predicates-inference.json"}},{"url":"https://lucioduran.com/es/blog/unikernels-firecracker-microvm-serverless","title":"Unikernels vs MicroVMs: Los Internals de Firecracker, Unikraft, y el Costo Real del Aislamiento Serverless","kind":"blog","language":"es","contentHash":"51d90c160d828ca3055c454461b23e12eae95bff6e67591bdc1714e5eefec9bd","datePublished":"2025-12-09","dateModified":null,"passages":14,"representations":{"markdown":"https://lucioduran.com/es/blog/unikernels-firecracker-microvm-serverless.md","json":"https://lucioduran.com/es/blog/unikernels-firecracker-microvm-serverless.json"}},{"url":"https://lucioduran.com/es/blog/v8-maglev-turboshaft-compiler-pipeline","title":"Maglev y Turboshaft en V8: Arquitectura del Compilador Mid-Tier y Backend de V8","kind":"blog","language":"es","contentHash":"cc08107df42cce33e79d4b2c83ae58c8aa70be22ce9274d1cac55fcfd63c93dd","datePublished":"2025-10-19","dateModified":null,"passages":22,"representations":{"markdown":"https://lucioduran.com/es/blog/v8-maglev-turboshaft-compiler-pipeline.md","json":"https://lucioduran.com/es/blog/v8-maglev-turboshaft-compiler-pipeline.json"}},{"url":"https://lucioduran.com/es/blog/valkey-redis-fork-performance-analysis","title":"Valkey vs Redis: Migrando 14TB de Datos en Producción, Lo Que la Documentación No Cubre","kind":"blog","language":"es","contentHash":"b619afc4016a75601eb013d0960b1db8bf64191110fe9232b4853ab53d3a5768","datePublished":"2026-02-02","dateModified":null,"passages":15,"representations":{"markdown":"https://lucioduran.com/es/blog/valkey-redis-fork-performance-analysis.md","json":"https://lucioduran.com/es/blog/valkey-redis-fork-performance-analysis.json"}},{"url":"https://lucioduran.com/es/blog/vector-databases-pgvector-qdrant-pinecone","title":"Bases de Datos Vectoriales Comparadas: Ejecutando el Mismo Pipeline RAG en pgvector, Qdrant, Pinecone y Weaviate","kind":"blog","language":"es","contentHash":"f2cecca2ac72b5ac5ef53b916a937dcd26664098597698e1e483035a4f86b8a7","datePublished":"2025-12-02","dateModified":null,"passages":24,"representations":{"markdown":"https://lucioduran.com/es/blog/vector-databases-pgvector-qdrant-pinecone.md","json":"https://lucioduran.com/es/blog/vector-databases-pgvector-qdrant-pinecone.json"}}]}