<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Antonio Cortés (DrZippie)</title><link>https://antoniocortes.com/post/</link><description>Recent content in Posts on Antonio Cortés (DrZippie)</description><generator>Hugo</generator><language>es-es</language><lastBuildDate>Mon, 30 Mar 2026 10:26:28 +0200</lastBuildDate><atom:link href="https://antoniocortes.com/post/index.xml" rel="self" type="application/rss+xml"/><item><title>Auto Memory y Auto Dream: como Claude Code aprende y consolida su memoria</title><link>https://antoniocortes.com/2026/03/30/auto-memory-y-auto-dream-como-claude-code-aprende-y-consolida-su-memoria/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/03/30/auto-memory-y-auto-dream-como-claude-code-aprende-y-consolida-su-memoria/</guid><description>&lt;p&gt;Si llevas un tiempo usando Claude Code con Auto Memory activado, probablemente hayas notado que al cabo de unas cuantas sesiones, las notas que Claude toma sobre tu proyecto empiezan a acumular contradicciones. Entradas que dicen &amp;ldquo;ayer decidimos usar Redis&amp;rdquo; sin especificar qué día era ese &amp;ldquo;ayer&amp;rdquo;. Notas de debugging que referencian ficheros que ya no existen. Tres entradas diferentes sobre el mismo bug del build. Lo que empezó como un cuaderno útil se convierte en ruido.&lt;/p&gt;</description></item><item><title>Claude Code con LSP: de buscar texto a entender codigo</title><link>https://antoniocortes.com/2026/03/10/claude-code-con-lsp-de-buscar-texto-a-entender-codigo/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/03/10/claude-code-con-lsp-de-buscar-texto-a-entender-codigo/</guid><description>&lt;p&gt;Llevo meses usando Claude Code a diario y hay una configuración que ha cambiado por completo cómo trabaja con mi código. No es un plugin nuevo, ni un modelo más potente, ni un prompt mágico. Es algo que existe desde 2016 y que la mayoría de desarrolladores usamos sin saberlo cada vez que abrimos VS Code: el Language Server Protocol (LSP).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://karanbansal.in/blog/claude-code-lsp/"&gt;Karan Bansal publicó un artículo excelente&lt;/a&gt; explicando en detalle cómo activar LSP en Claude Code y por qué importa. Después de probarlo, puedo confirmar que la diferencia es real y significativa.&lt;/p&gt;</description></item><item><title>Ghost Jobs: la economía construida sobre empleos que no existen</title><link>https://antoniocortes.com/2026/03/10/ghost-jobs-la-econom%C3%ADa-construida-sobre-empleos-que-no-existen/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/03/10/ghost-jobs-la-econom%C3%ADa-construida-sobre-empleos-que-no-existen/</guid><description>&lt;p&gt;Cada mes, 2,2 millones de ofertas de empleo en Estados Unidos no resultan en ninguna contratación. Cuatro de cada diez empresas admiten que sus ofertas son falsas. Siete de cada diez lo consideran moralmente aceptable. El 85 por ciento de ellas llega a entrevistar candidatos para esos puestos inexistentes.&lt;/p&gt;
&lt;p&gt;Estos no son datos de un blog conspiranoico. Son datos del Bureau of Labor Statistics, de encuestas a 650 responsables de contratación publicadas por ResumeBuilder, y de análisis de Revelio Labs. La economía de los empleos fantasma es un fenómeno documentado, cuantificado y, por lo que parece, perfectamente tolerado.&lt;/p&gt;</description></item><item><title>DuckDB y httpfs detrás de un proxy: el secreto que nadie te cuenta</title><link>https://antoniocortes.com/2026/03/02/duckdb-y-httpfs-detr%C3%A1s-de-un-proxy-el-secreto-que-nadie-te-cuenta/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/03/02/duckdb-y-httpfs-detr%C3%A1s-de-un-proxy-el-secreto-que-nadie-te-cuenta/</guid><description>&lt;h2 id="el-problema-httpfs-ignora-tus-variables-de-entorno"&gt;El problema: httpfs ignora tus variables de entorno&lt;/h2&gt;
&lt;p&gt;Si trabajas con DuckDB y la extensión &lt;code&gt;httpfs&lt;/code&gt; para leer Parquet remotos, CSVs desde S3 o cualquier recurso HTTP, probablemente asumes que las variables de entorno &lt;code&gt;HTTP_PROXY&lt;/code&gt; y &lt;code&gt;HTTPS_PROXY&lt;/code&gt; funcionan igual que en cualquier otra herramienta. Curl las respeta. wget las respeta. Python requests las respeta. Node.js las respeta.&lt;/p&gt;
&lt;p&gt;DuckDB no.&lt;/p&gt;
&lt;p&gt;Me he encontrado con esto trabajando en un entorno corporativo con proxy obligatorio. Tenía un script que leía ficheros Parquet desde Google Cloud Storage usando &lt;code&gt;httpfs&lt;/code&gt;, y simplemente no funcionaba. Sin error claro, sin timeout descriptivo, solo silencio. Mientras tanto, un &lt;code&gt;curl&lt;/code&gt; al mismo recurso con las mismas variables de entorno devolvía los datos sin problema.&lt;/p&gt;</description></item><item><title>Cómo PostgreSQL estima tus consultas (y por qué a veces se equivoca)</title><link>https://antoniocortes.com/postgresql-statistics/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/postgresql-statistics/</guid><description>&lt;p&gt;Toda consulta empieza con un plan. Toda consulta lenta probablemente empieza con uno malo. Y más a menudo de lo que crees, las estadísticas son las culpables.&lt;/p&gt;
&lt;p&gt;Pero ¿cómo funciona realmente? PostgreSQL no ejecuta la consulta para averiguarlo — estima el coste. Lee datos precalculados de &lt;code&gt;pg_class&lt;/code&gt; y &lt;code&gt;pg_statistic&lt;/code&gt; y hace los cálculos para encontrar la ruta más barata hacia tus datos.&lt;/p&gt;
&lt;p&gt;En el escenario ideal, los números que lee son precisos y obtienes el plan que esperas. Pero cuando están desactualizados, la situación se descontrola. El planificador estima 500 filas, planifica un nested loop, y se encuentra con 25,000. Lo que parecía un plan óptimo se convierte en una falla en cascada.&lt;/p&gt;</description></item><item><title>Analizando el aislamiento de filesystems en contenedores para cargas multi-tenant</title><link>https://antoniocortes.com/aislamiento-filesystem-contenedores-multitenencia/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/aislamiento-filesystem-contenedores-multitenencia/</guid><description>&lt;p&gt;Recientemente me encontré con un análisis técnico excepcionalmente denso sobre seguridad de contenedores que merece la pena ser compartido. El autor empezó con una hipótesis simple: el aislamiento de filesystems de los contenedores debería ser suficiente para cargas de trabajo multi-tenant sin necesidad de máquinas virtuales, si se entiende suficientemente bien qué está pasando a nivel de syscall.&lt;/p&gt;
&lt;p&gt;Después de una investigación exhaustiva, la conclusión es más incómoda de lo que esperaba: los valores por defecto te protegen bien, pero en el momento que empiezas a usar características &amp;ldquo;avanzadas&amp;rdquo; como la propagación de montajes bidireccional o el reetiquetado de SELinux, estás a un paso de entregarle las llaves de tu host a un atacante.&lt;/p&gt;</description></item><item><title>El renacimiento del desarrollo de software con agentes de IA</title><link>https://antoniocortes.com/ia-agentes-renacimiento-desarrollo-software/</link><pubDate>Fri, 06 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/ia-agentes-renacimiento-desarrollo-software/</guid><description>&lt;p&gt;Greg Brockman, presidente y co-fundador de OpenAI, publicó recientemente un hilo que describe perfectamente el momento que estamos viviendo en el desarrollo de software. Según él, estamos presenciando un auténtico renacimiento del desarrollo de software, impulsado por herramientas de IA que han mejorado exponencialmente desde diciembre.&lt;/p&gt;
&lt;h2 id="el-salto-cualitativo"&gt;El salto cualitativo&lt;/h2&gt;
&lt;p&gt;Lo más llamativo del hilo de Brockman es cómo describen el cambio interno en OpenAI: ingenieros que antes usaban Codex para tests unitarios ahora ven que la herramienta escribe prácticamente todo el código y se encarga de una gran parte de las operaciones y debugging. No es una mejora incremental, es un cambio de paradigma.&lt;/p&gt;</description></item><item><title>La atención es lo que tenemos</title><link>https://antoniocortes.com/la-atencion-es-lo-que-tenemos/</link><pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/la-atencion-es-lo-que-tenemos/</guid><description>&lt;p&gt;Hace unos días leía un ensayo fascinante de David Bessis que me hizo reflexionar profundamente sobre algo que todos damos por hecho: la inteligencia. Bessis, matemático y autor de &lt;em&gt;Mathematica: A Secret World of Intuition and Curiosity&lt;/em&gt;, plantea una tesis que desafía muchas de nuestras creencias más arraigadas sobre el origen de las diferencias cognitivas entre las personas.&lt;/p&gt;
&lt;p&gt;Lo más interesante de su planteamiento no es tanto la conclusión -a la que llegaré- sino el camino que traza para llegar allí, un camino que mezcla matemáticas, neurociencia y una buena dosis de experiencia personal.&lt;/p&gt;</description></item><item><title>Agent Lightning: Microsoft y el futuro de la orquestación de agentes de IA</title><link>https://antoniocortes.com/agent-lightning/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/agent-lightning/</guid><description>&lt;p&gt;Hace pocos días descubrí &lt;a href="https://github.com/microsoft/agent-lightning"&gt;Agent Lightning&lt;/a&gt;, un proyecto de Microsoft que creo que marca un antes y un después en cómo pensamos la orquestación de agentes de IA. No es solo otra librería más; es un intento serio de estandarizar cómo construimos sistemas multiagente.&lt;/p&gt;
&lt;h2 id="qué-es-agent-lightning"&gt;¿Qué es Agent Lightning?&lt;/h2&gt;
&lt;p&gt;Agent Lightning es un framework de Microsoft para orquestar agentes de IA. Permite composición, integración y despliegue de sistemas multiagente de forma modular y escalable. La premisa es simple pero poderosa: los agentes deben ser componentes que se pueden combinar, conectar y reutilizar.&lt;/p&gt;</description></item><item><title>Jeffrey Way: 'I'm Done' - La cruda realidad de la IA en la educación de programación</title><link>https://antoniocortes.com/jeffrey-way-ia-realidad/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/jeffrey-way-ia-realidad/</guid><description>&lt;p&gt;Hace unos días vi &lt;a href="https://www.youtube.com/watch?v=g_Bvo0tsD9s"&gt;un video&lt;/a&gt; que me ha dado mucho que pensar. Jeffrey Way, el fundador de Laracasts y una de las personas más influyentes en la comunidad Laravel/PHP, compartió una reflexión brutalmente honesta sobre cómo la inteligencia artificial está transformando su negocio y su profesión.&lt;/p&gt;
&lt;p&gt;El video empieza con una frase que te deja helado: &lt;em&gt;&amp;ldquo;I&amp;rsquo;m Done&amp;rdquo;&lt;/em&gt;. No es un adiós a la programación, sino una aceptación de la realidad que viene.&lt;/p&gt;</description></item><item><title>Tangible Media Collection: La curiosidad como forma de vida</title><link>https://antoniocortes.com/tangible-media-collection/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/tangible-media-collection/</guid><description>&lt;p&gt;Hace pocos días descubrí &lt;a href="https://tangiblemediacollection.com/"&gt;Tangible Media Collection&lt;/a&gt;, un sitio web que me ha resonado profundamente. Es una colección de unos 1700 objetos relacionados con el almacenamiento de información: desde discos de vinilo y cintas magnéticas hasta tarjetas perforadas y discos ópticos. Pero no es solo una colección de objetos tecnológicos; es un testimonio de curiosidad humana.&lt;/p&gt;
&lt;h2 id="la-colección-que-nació-de-una-cinta-perdida"&gt;La colección que nació de una cinta perdida&lt;/h2&gt;
&lt;p&gt;La historia de cómo empezó esta colección es fascinante. En 2001, John Wallace (el coleccionista) encontró en un cajón una cinta de computadora de finales de los 80. Sabía qué contenía: un archivo de imágenes generadas por computadora de su época de estudiante, el producto de noches y fines de semana en el laboratorio de computación. Pero la unidad de cinta que podía leerla ya no existía.&lt;/p&gt;</description></item><item><title>Vercel Sandbox: ¿Ejecutar código PHP, Node y Go de forma segura?</title><link>https://antoniocortes.com/vercel-sandbox/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/vercel-sandbox/</guid><description>&lt;p&gt;Vercel ha anunciado la disponibilidad general de &lt;a href="https://vercel.com/blog/vercel-sandbox-is-now-generally-available"&gt;Vercel Sandbox&lt;/a&gt;, una capa de ejecución diseñada específicamente para agentes de IA. Pero más allá del hype de los agentes, hay una pregunta interesante: ¿puede servirnos para ejecutar código de forma segura en diferentes lenguajes como PHP, Node o Go?&lt;/p&gt;
&lt;h2 id="qué-es-vercel-sandbox"&gt;¿Qué es Vercel Sandbox?&lt;/h2&gt;
&lt;p&gt;Vercel Sandbox proporciona microVMs Linux bajo demanda. Cada sandbox está aislado, con su propio sistema de archivos, red y espacio de procesos. Obtienes acceso &lt;code&gt;sudo&lt;/code&gt;, gestores de paquetes y la capacidad de ejecutar los mismos comandos que ejecutarías en una máquina Linux.&lt;/p&gt;</description></item><item><title>AI Coding Agents: Rules, Commands, Skills, MCP y Hooks explicados</title><link>https://antoniocortes.com/2026/02/01/ai-coding-agents-conceptos-clave/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/02/01/ai-coding-agents-conceptos-clave/</guid><description>&lt;p&gt;Si estás usando herramientas como Claude Code, GitHub Copilot Workspace o similares, habrás notado que hay una jerga técnica que va más allá de simplemente &amp;ldquo;chatear con la IA&amp;rdquo;. Hablo de términos como &lt;strong&gt;rules&lt;/strong&gt;, &lt;strong&gt;commands&lt;/strong&gt;, &lt;strong&gt;skills&lt;/strong&gt;, &lt;strong&gt;MCP&lt;/strong&gt; y &lt;strong&gt;hooks&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Estos conceptos son la arquitectura que hace que los agentes de IA sean realmente útiles para desarrollo de software. No son solo palabras bonitas de marketing — cada uno cumple una función específica en cómo el agente trabaja.&lt;/p&gt;
&lt;p&gt;Vamos a desglosarlos uno por uno de forma clara.&lt;/p&gt;</description></item><item><title>DuckDB: Formatos de archivo y optimizaciones de rendimiento</title><link>https://antoniocortes.com/duckdb-formatos-archivos-optimizacion/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/duckdb-formatos-archivos-optimizacion/</guid><description>&lt;p&gt;Últimamente estoy trabajando bastante con &lt;strong&gt;DuckDB&lt;/strong&gt;, y una de las cosas que más me interesan es entender cómo optimizar el rendimiento según el formato de archivo que estemos usando.&lt;/p&gt;
&lt;p&gt;No es lo mismo trabajar con Parquet, con CSV comprimido, o con CSV descomprimido. Y las diferencias de rendimiento pueden ser &lt;strong&gt;dramáticas&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Vamos a revisar las optimizaciones clave que hay que tener en cuenta cuando trabajamos con diferentes formatos de archivo en DuckDB.&lt;/p&gt;</description></item><item><title>European Open Source AI Index: Midiendo la verdadera apertura de la IA</title><link>https://antoniocortes.com/european-open-source-ai-index/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/european-open-source-ai-index/</guid><description>&lt;p&gt;Últimamente veo cada vez más modelos de IA que se autodenominan &amp;ldquo;open source&amp;rdquo;. Llama, Mistral, Falcon&amp;hellip; todos dicen ser &amp;ldquo;abiertos&amp;rdquo;. Pero, ¿realmente lo son? ¿Hasta qué punto son abiertos de verdad?&lt;/p&gt;
&lt;p&gt;Hace poco descubrí el &lt;strong&gt;European Open Source AI Index (OSAI)&lt;/strong&gt;, una iniciativa europea que está haciendo un trabajo excelente evaluando de forma sistemática qué tan abiertos son realmente los modelos de IA generativa.&lt;/p&gt;</description></item><item><title>NativePHP for Mobile es ahora gratuito: ¡Por fin puedo probarlo!</title><link>https://antoniocortes.com/nativephp-mobile-gratuito/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/nativephp-mobile-gratuito/</guid><description>&lt;p&gt;Confieso que llevo siguiendo &lt;strong&gt;NativePHP for Mobile&lt;/strong&gt; desde que se anunció. La idea de poder hacer aplicaciones móviles nativas con Laravel y &lt;strong&gt;solo PHP&lt;/strong&gt; me parecía —y me parece— una cosa muy buena.&lt;/p&gt;
&lt;p&gt;Pero había un problema: el precio. Cuando solo quería probarlo, experimentar, jugar un rato&amp;hellip; el coste de la licencia me echaba para atrás. No podía justificar el gasto solo para &amp;ldquo;curiosear&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Pues bien, &lt;strong&gt;acaban de anunciar que NativePHP for Mobile v3 es completamente gratuito&lt;/strong&gt;. Open Source, licencia MIT, gratis para siempre.&lt;/p&gt;</description></item><item><title>Self-Improving Agents: Cuando la IA empieza a mejorarse a sí misma</title><link>https://antoniocortes.com/self-improving-agents/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/self-improving-agents/</guid><description>&lt;p&gt;Hace poco, Addy Osmani publicó un artículo que me dio mucho en qué pensar: &lt;em&gt;&amp;ldquo;Self-Improving Coding Agents&amp;rdquo;&lt;/em&gt;. La idea es simple pero potente: &lt;strong&gt;agentes que no solo ejecutan tareas, sino que mejoran su propio rendimiento con el tiempo&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Esto no es ciencia ficción. Es algo que está pasando ya, ahora mismo, en 2026. Y tiene implicaciones profundas para el futuro del desarrollo de software y, por extensión, para todas las profesiones.&lt;/p&gt;</description></item><item><title>¿Estamos subcontratando nuestro pensamiento? Reflexiones sobre IA y cognición</title><link>https://antoniocortes.com/estamos-subcontratando-nuestro-pensamiento/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/estamos-subcontratando-nuestro-pensamiento/</guid><description>&lt;p&gt;Últimamente vengo siguiendo una discusión que me tiene bastante preocupado: &lt;strong&gt;hasta qué punto estamos delegando nuestro pensamiento a la IA&lt;/strong&gt;. No es una pregunta abstracta o filosófica, es algo muy real que estoy viendo día a día en nuestra profesión y en la sociedad en general.&lt;/p&gt;
&lt;p&gt;Hace poco leí un artículo de Erik Johannes Husom titulado &lt;em&gt;&amp;ldquo;Outsourcing thinking&amp;rdquo;&lt;/em&gt; que, entre otras cosas, discute el concepto de &lt;em&gt;&amp;ldquo;lump of cognition fallacy&amp;rdquo;&lt;/em&gt; (la falacia de la suma de cognición). La idea es que, igual que hay una falacia económica que dice que hay una cantidad fija de trabajo que hacer, algunos creen que hay una cantidad fija de pensamiento que hacer, y que si las máquinas piensan por nosotros, simplemente pensaremos sobre otras cosas.&lt;/p&gt;</description></item><item><title>Cuando Claude planea tu ruta en Marte: NASA usa IA para Perseverance</title><link>https://antoniocortes.com/2026/01/31/cuando-claude-planea-tu-ruta-en-marte-nasa-usa-ia-para-perseverance/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/01/31/cuando-claude-planea-tu-ruta-en-marte-nasa-usa-ia-para-perseverance/</guid><description>&lt;p&gt;Hace unos días leí una noticia que me dejó pensando rato largo. No es que sea la primera vez que oigo de IA en el espacio, pero sí es la primera vez que leo sobre Claude planeando rutas en Marte. Y lo mejor: funcionó.&lt;/p&gt;
&lt;p&gt;La NASA ha estado usando Anthropic&amp;rsquo;s Claude para planear las rutas del rover Perseverance en Marte. Sí, has leído bien: un modelo de lenguaje generando rutas de navegación para un rover que está a 225 millones de kilómetros de distancia.&lt;/p&gt;</description></item><item><title>Cuando la curiosidad se encuentra con Go: TinyEMU-Go y el arte de portar un emulador con IA</title><link>https://antoniocortes.com/2026/01/31/cuando-la-curiosidad-se-encuentra-con-go-tinyemu-go-y-el-arte-de-portar-un-emulador-con-ia/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/01/31/cuando-la-curiosidad-se-encuentra-con-go-tinyemu-go-y-el-arte-de-portar-un-emulador-con-ia/</guid><description>&lt;p&gt;Hace unos días me topé con un artículo que me dejó literalmente con la boca abierta. No es que sea nuevo - en realidad es de enero de 2026, pero bueno, a veces llega tarde a mi radar - pero la combinación de tecnologías y la historia detrás me parecen fascinantes.&lt;/p&gt;
&lt;p&gt;Se trata de &lt;strong&gt;TinyEMU-Go&lt;/strong&gt;: un emulador de RISC-V escrito completamente en Go, portado desde C usando Claude. Y lo mejor: puedes ejecutar un Linux completo con un solo comando.&lt;/p&gt;</description></item><item><title>Laravel Fuse: Circuit Breaker para Queue Jobs</title><link>https://antoniocortes.com/laravel-fuse-circuit-breaker-queue-jobs/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/laravel-fuse-circuit-breaker-queue-jobs/</guid><description>&lt;p&gt;Acaba de anunciarse en Laracon India 2026 un paquete interesante: &lt;strong&gt;Laravel Fuse&lt;/strong&gt;. Es un circuit breaker implementado como middleware para jobs de Laravel Queue, y resuelve un problema que todos los que trabajamos con servicios externos hemos tenido alguna vez.&lt;/p&gt;</description></item><item><title>Cuando la IA nos desempodera: patrones preocupantes en el uso real de Claude</title><link>https://antoniocortes.com/2026/01/30/cuando-la-ia-nos-desempodera-patrones-preocupantes-en-el-uso-real-de-claude/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2026/01/30/cuando-la-ia-nos-desempodera-patrones-preocupantes-en-el-uso-real-de-claude/</guid><description>&lt;p&gt;Hace unos días Anthropic publicó un paper que me ha dado mucho en qué pensar. Se titula &amp;ldquo;Disempowerment patterns in real-world AI usage&amp;rdquo; y analiza, por primera vez a gran escala, cómo las interacciones con IA pueden estar disminuyendo nuestra capacidad de juicio autónomo.&lt;/p&gt;
&lt;p&gt;Y no, no estamos hablando de escenarios de ciencia ficción tipo &amp;ldquo;Skynet toma el control&amp;rdquo;. Estamos hablando de algo mucho más sutil y, quizás por eso, más peligroso: la cesión voluntaria de nuestro juicio crítico a un sistema de IA.&lt;/p&gt;</description></item><item><title>MCPHero: El puente entre MCP y las librerías tradicionales de IA</title><link>https://antoniocortes.com/mcphero-puente-mcp-libs-ia/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/mcphero-puente-mcp-libs-ia/</guid><description>&lt;p&gt;Últimamente estoy siguiendo de cerca todo lo que rodea al &lt;strong&gt;protocolo MCP&lt;/strong&gt; (Model Context Protocol), y hace poco me encontré con un proyecto que tiene bastante sentido: &lt;strong&gt;MCPHero&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;La realidad es que aunque MCP está pegando fuerte, muchas librerías de IA &amp;ldquo;tradicionales&amp;rdquo; como &lt;code&gt;openai&lt;/code&gt; o &lt;code&gt;google-genai&lt;/code&gt; siguen sin soporte nativo para MCP. Solo soportan tool/function calls. MCPHero viene a solucionar precisamente esto: hacer de puente entre servidores MCP y estas librerías.&lt;/p&gt;</description></item><item><title>Laravel Boost v2 y las nuevas Skills: En mi lista de tareas para probar</title><link>https://antoniocortes.com/laravel-boost-v2-skills/</link><pubDate>Thu, 29 Jan 2026 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/laravel-boost-v2-skills/</guid><description>&lt;p&gt;Hace pocos días se lanzó &lt;strong&gt;Laravel Boost v2.0&lt;/strong&gt; y, como buen curioso que soy de todo lo que rodea al ecosistema de Laravel, no he podido evitar perder un buen rato leyendo sobre las novedades. La verdad es que hay una feature que tiene especialmente mi atención: el sistema de &lt;strong&gt;Skills&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Cinco principios para usar IA profesionalmente (sin volverse loco)</title><link>https://antoniocortes.com/2025/07/23/cinco-principios-para-usar-ia-profesionalmente-sin-volverse-loco/</link><pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/23/cinco-principios-para-usar-ia-profesionalmente-sin-volverse-loco/</guid><description>&lt;p&gt;Hace unos días leí un artículo de &lt;a href="https://dominiek.substack.com/p/the-5-principles-of-using-ai-professionally"&gt;Dominiek sobre los 5 principios para usar IA profesionalmente&lt;/a&gt; y me encontré asintiendo constantemente. Después de años viendo llegar y evolucionar tecnologías, la IA me genera las mismas sensaciones que tuve con otras &amp;ldquo;revoluciones&amp;rdquo;: entusiasmo mezclado con una necesaria dosis de escepticismo.&lt;/p&gt;
&lt;p&gt;El artículo de Dominiek me resonó especialmente porque describe perfectamente lo que estamos viviendo: un mundo donde la IA se está metiendo en todo, pero no siempre de la manera más útil o sensata.&lt;/p&gt;</description></item><item><title>IA Local en Raspberry Pi 5 con Ollama: Tu servidor de IA privado en casa</title><link>https://antoniocortes.com/2025/07/21/ia-local-en-raspberry-pi-5-con-ollama-tu-servidor-de-ia-privado-en-casa/</link><pubDate>Mon, 21 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/21/ia-local-en-raspberry-pi-5-con-ollama-tu-servidor-de-ia-privado-en-casa/</guid><description>&lt;p&gt;Hace unos meses me topé con algo que realmente me llamó la atención: la posibilidad de tener mi propio &amp;ldquo;ChatGPT&amp;rdquo; funcionando en casa, sin enviar datos a ningún lado, usando únicamente un Raspberry Pi 5. Suena demasiado bueno para ser verdad, ¿no?&lt;/p&gt;
&lt;p&gt;Pues resulta que con &lt;strong&gt;Ollama&lt;/strong&gt; y un Pi 5 es perfectamente posible montar un servidor de IA local que funciona sorprendentemente bien. Te cuento mi experiencia y cómo puedes hacerlo tú también.&lt;/p&gt;</description></item><item><title>Amazon S3 Vectors: Almacenamiento vectorial nativo en la nube</title><link>https://antoniocortes.com/2025/07/17/amazon-s3-vectors-almacenamiento-vectorial-nativo-en-la-nube/</link><pubDate>Thu, 17 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/17/amazon-s3-vectors-almacenamiento-vectorial-nativo-en-la-nube/</guid><description>&lt;p&gt;Amazon ha dado un paso importante en el mundo de la inteligencia artificial con el lanzamiento de &lt;strong&gt;S3 Vectors&lt;/strong&gt;, el primer servicio de almacenamiento en la nube con soporte nativo para vectores a gran escala. Esta novedad promete reducir hasta un 90% los costes de subida, almacenamiento y consulta de datos vectoriales.&lt;/p&gt;
&lt;h2 id="qué-son-los-vectores-y-por-qué-nos-importan"&gt;¿Qué son los vectores y por qué nos importan?&lt;/h2&gt;
&lt;p&gt;Los vectores son representaciones numéricas de datos no estructurados (texto, imágenes, audio, video) generados por modelos de embedding. Son la base de las aplicaciones de IA generativa que necesitan encontrar similitudes entre datos usando métricas de distancia.&lt;/p&gt;</description></item><item><title>Docker pushrm: simplificando la documentación de contenedores</title><link>https://antoniocortes.com/2025/07/15/docker-pushrm-simplificando-la-documentaci%C3%B3n-de-contenedores/</link><pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/15/docker-pushrm-simplificando-la-documentaci%C3%B3n-de-contenedores/</guid><description>&lt;p&gt;Hace unos días, trabajando con Claude Code, me topé con una herramienta que lleva bastante tiempo en el ecosistema Docker pero que no conocía: &lt;strong&gt;docker pushrm&lt;/strong&gt;. Y la verdad es que me ha sorprendido lo útil que resulta para algo tan simple como mantener sincronizada la documentación de tus repositorios de contenedores.&lt;/p&gt;
&lt;h2 id="el-problema-que-resuelve"&gt;El problema que resuelve&lt;/h2&gt;
&lt;p&gt;Cualquiera que haya trabajado con Docker Hub, Quay o Harbor conoce el típico flujo: actualizas el README de tu proyecto en GitHub, construyes y pusheas tu imagen, pero&amp;hellip; el README del registro de contenedores sigue desactualizado. Tienes que ir manualmente al navegador, copiar y pegar el contenido, y hacer el update manualmente.&lt;/p&gt;</description></item><item><title>Claude Code Avanzado: Tips, trucos y comandos personalizados para maximizar tu productividad</title><link>https://antoniocortes.com/2025/07/13/claude-code-avanzado-tips-trucos-y-comandos-personalizados-para-maximizar-tu-productividad/</link><pubDate>Sun, 13 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/13/claude-code-avanzado-tips-trucos-y-comandos-personalizados-para-maximizar-tu-productividad/</guid><description>&lt;p&gt;Después de mi &lt;a href="https://antoniocortes.com/2025/07/13/programaci%C3%B3n-ag%C3%A9ntica-con-claude-mi-experiencia-pr%C3%A1ctica-desarrollando-con-ia/"&gt;anterior artículo sobre programación agéntica&lt;/a&gt;, he estado investigando más sobre técnicas avanzadas para usar Claude Code de forma realmente productiva. Como programador con 30 años de experiencia, he visto muchas herramientas prometedoras que al final no cumplían sus promesas. Pero Claude Code, cuando se usa correctamente, está siendo un game-changer real.&lt;/p&gt;
&lt;h2 id="más-allá-de-lo-básico-la-diferencia-entre-jugar-y-trabajar-en-serio"&gt;Más allá de lo básico: La diferencia entre jugar y trabajar en serio&lt;/h2&gt;
&lt;p&gt;Una cosa es usar Claude Code para experimentos o proyectos personales, y otra muy distinta es integrarlo en un flujo de trabajo profesional. Para proyectos serios, necesitas un enfoque diferente:&lt;/p&gt;</description></item><item><title>Programación Agéntica con Claude: Mi experiencia práctica desarrollando con IA</title><link>https://antoniocortes.com/2025/07/13/programaci%C3%B3n-ag%C3%A9ntica-con-claude-mi-experiencia-pr%C3%A1ctica-desarrollando-con-ia/</link><pubDate>Sun, 13 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/13/programaci%C3%B3n-ag%C3%A9ntica-con-claude-mi-experiencia-pr%C3%A1ctica-desarrollando-con-ia/</guid><description>&lt;p&gt;Hace unos días me topé con un stream muy interesante donde alguien mostraba su setup para programación agéntica usando Claude Code. Después de años desarrollando &amp;ldquo;a la vieja usanza&amp;rdquo;, tengo que admitir que esto me ha resultado revelador.&lt;/p&gt;
&lt;h2 id="qué-es-la-programación-agéntica"&gt;¿Qué es la programación agéntica?&lt;/h2&gt;
&lt;p&gt;Para los que no estéis familiarizados con el término, la programación agéntica es básicamente dejar que un agente de IA (en este caso Claude) escriba código por ti. Pero no hablo de pedirle que te genere un snippet, sino de darle acceso completo a tu sistema para que pueda leer, escribir, ejecutar y debuggear código de forma autónoma.&lt;/p&gt;</description></item><item><title>NGINX njs ahora soporta QuickJS: Adiós LUA, hola JavaScript moderno</title><link>https://antoniocortes.com/2025/07/11/nginx-njs-ahora-soporta-quickjs-adi%C3%B3s-lua-hola-javascript-moderno/</link><pubDate>Fri, 11 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/11/nginx-njs-ahora-soporta-quickjs-adi%C3%B3s-lua-hola-javascript-moderno/</guid><description>&lt;h2 id="por-fin-javascript-moderno-en-nginx-y-podemos-olvidarnos-de-lua"&gt;Por fin: JavaScript moderno en NGINX (y podemos olvidarnos de LUA)&lt;/h2&gt;
&lt;p&gt;Cuando leí el &lt;a href="https://blog.nginx.org/blog/quickjs-engine-support-for-njs"&gt;anuncio de NGINX sobre el soporte QuickJS en njs&lt;/a&gt;, no pude evitar sonreír. &lt;strong&gt;Por fin puedo dejar de luchar con LUA&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Como alguien que ha configurado más servidores NGINX de los que puedo recordar (desde mi época en Arrakis hasta ahora en Carto), siempre me ha molestado la limitación de tener que usar LUA para lógica compleja en NGINX. No es que LUA sea malo, pero&amp;hellip; &lt;strong&gt;¿por qué aprender otro lenguaje cuando ya domino JavaScript?&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Cómo construir un agente: de la idea a la realidad</title><link>https://antoniocortes.com/2025/07/10/c%C3%B3mo-construir-un-agente-de-la-idea-a-la-realidad/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/10/c%C3%B3mo-construir-un-agente-de-la-idea-a-la-realidad/</guid><description>&lt;p&gt;Últimamente no para de hablarse de agentes de IA por todas partes. Cada empresa tiene su roadmap lleno de &amp;ldquo;agentes que van a revolucionar esto y aquello&amp;rdquo;, pero cuando rascas un poco, te das cuenta de que pocos han conseguido realmente construir algo útil y que funcione en producción.&lt;/p&gt;
&lt;p&gt;Hace poco leí un &lt;a href="https://blog.langchain.com/how-to-build-an-agent/"&gt;artículo muy interesante de LangChain&lt;/a&gt; sobre cómo construir agentes de forma práctica, y me ha parecido un enfoque muy sensato que quería compartir contigo. Lo he adaptado con mis propias reflexiones después de haberme dado más de un cabezazo intentando implementar sistemas &amp;ldquo;inteligentes&amp;rdquo; que al final no lo eran tanto.&lt;/p&gt;</description></item><item><title>La nueva promiscuidad de los desarrolladores: cuando ser infiel a las herramientas es lo normal</title><link>https://antoniocortes.com/2025/07/10/la-nueva-promiscuidad-de-los-desarrolladores-cuando-ser-infiel-a-las-herramientas-es-lo-normal/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/10/la-nueva-promiscuidad-de-los-desarrolladores-cuando-ser-infiel-a-las-herramientas-es-lo-normal/</guid><description>&lt;p&gt;A lo largo de mi carrera he visto cambiar muchas cosas. He pasado de Borland a Visual Studio, de vi a Sublime Text, de Sublime a VS Code&amp;hellip; Y créeme, cada cambio fue una decisión meditada que me costó semanas de adaptación. Pero lo que está pasando ahora con las herramientas de IA es algo completamente diferente.&lt;/p&gt;
&lt;p&gt;Me he encontrado usando Copilot por la mañana, probando Cursor por la tarde, y echando un vistazo a Claude Code antes de irme a dormir. Y no soy el único. Los desarrolladores hemos pasado de ser fieles como perros a nuestras herramientas a ser&amp;hellip; bueno, promiscuos.&lt;/p&gt;</description></item><item><title>A2A vs MCP: ¿Herramientas o Agentes? La diferencia que cambiará cómo construimos sistemas de IA</title><link>https://antoniocortes.com/2025/07/09/a2a-vs-mcp-herramientas-o-agentes-la-diferencia-que-cambiar%C3%A1-c%C3%B3mo-construimos-sistemas-de-ia/</link><pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/09/a2a-vs-mcp-herramientas-o-agentes-la-diferencia-que-cambiar%C3%A1-c%C3%B3mo-construimos-sistemas-de-ia/</guid><description>&lt;h2 id="dos-protocolos-dos-filosofías"&gt;Dos protocolos, dos filosofías&lt;/h2&gt;
&lt;p&gt;En los últimos meses han aparecido dos protocolos que van a cambiar cómo construimos sistemas de IA: &lt;strong&gt;&lt;a href="https://a2aprotocol.ai/"&gt;Agent2Agent Protocol (A2A)&lt;/a&gt;&lt;/strong&gt; de Google y &lt;strong&gt;&lt;a href="https://modelcontextprotocol.io/"&gt;Model Context Protocol (MCP)&lt;/a&gt;&lt;/strong&gt; de Anthropic. Pero aquí está el tema: &lt;strong&gt;no compiten entre sí&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Es más, tras analizar ambos durante semanas, me he dado cuenta de que entender la diferencia entre A2A y MCP es crucial para cualquiera que esté construyendo sistemas de IA más allá de simples chatbots.&lt;/p&gt;</description></item><item><title>AgentHouse: Cuando las bases de datos empiezan a hablar nuestro idioma</title><link>https://antoniocortes.com/2025/07/09/agenthouse-cuando-las-bases-de-datos-empiezan-a-hablar-nuestro-idioma/</link><pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/09/agenthouse-cuando-las-bases-de-datos-empiezan-a-hablar-nuestro-idioma/</guid><description>&lt;p&gt;Hace unos meses, cuando Anthropic lanzó su protocolo MCP (Model Context Protocol), sabía que íbamos a ver integraciones interesantes entre LLMs y bases de datos. Lo que no esperaba era ver algo tan pulido y funcional como AgentHouse de ClickHouse tan pronto.&lt;/p&gt;
&lt;p&gt;Tengo planificado probar esta demo en breve, pero ya solo leyendo sobre ella me parece fascinante la idea de poder preguntarle a una base de datos cosas como &amp;ldquo;¿cuáles son los repositorios más populares de GitHub este mes?&amp;rdquo; y obtener no solo una respuesta, sino visualizaciones automáticas.&lt;/p&gt;</description></item><item><title>Jest: Cuando fallar rápido es la estrategia inteligente</title><link>https://antoniocortes.com/2025/07/09/jest-cuando-fallar-r%C3%A1pido-es-la-estrategia-inteligente/</link><pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/09/jest-cuando-fallar-r%C3%A1pido-es-la-estrategia-inteligente/</guid><description>&lt;p&gt;Trabajando en proyectos grandes, es habitual tener suites de tests que pueden tardar varios minutos en ejecutarse. Y cuando uno de esos tests falla al principio de la ejecución, es frustrante esperar a que todos los demás se ejecuten para ver el resultado completo.&lt;/p&gt;
&lt;p&gt;Jest incluye una funcionalidad que he encontrado muy útil en desarrollo: la opción &lt;code&gt;bail&lt;/code&gt;, que permite parar la ejecución de tests después de un número determinado de fallos. Es una de esas características que una vez la conoces y empiezas a usar, no entiendes cómo has vivido sin ella.&lt;/p&gt;</description></item><item><title>LM Studio elimina las barreras: ahora es gratis también para el trabajo</title><link>https://antoniocortes.com/2025/07/09/lm-studio-elimina-las-barreras-ahora-es-gratis-tambi%C3%A9n-para-el-trabajo/</link><pubDate>Wed, 09 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/09/lm-studio-elimina-las-barreras-ahora-es-gratis-tambi%C3%A9n-para-el-trabajo/</guid><description>&lt;p&gt;En mis años desarrollando software, he aprendido que las mejores herramientas son las que eliminan fricciones innecesarias. Y LM Studio acaba de dar un paso enorme en esa dirección: &lt;strong&gt;&lt;a href="https://lmstudio.ai/blog/free-for-work"&gt;ya es completamente gratuito para uso empresarial&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Esto puede sonar como &amp;ldquo;otra noticia más&amp;rdquo; de IA, pero para quienes llevamos tiempo experimentando con modelos locales, es un cambio de paradigma importante.&lt;/p&gt;
&lt;h2 id="el-problema-que-había-antes"&gt;El problema que había antes&lt;/h2&gt;
&lt;p&gt;Desde su lanzamiento en mayo de 2023, LM Studio siempre fue gratuito para uso personal. Pero si querías usarlo en tu empresa, tenías que contactar con ellos para obtener una licencia comercial. Esto creaba exactamente el tipo de fricción que mata la experimentación en equipos.&lt;/p&gt;</description></item><item><title>Reaper: cuando eliminar código es tan importante como escribirlo</title><link>https://antoniocortes.com/2025/07/08/reaper-cuando-eliminar-c%C3%B3digo-es-tan-importante-como-escribirlo/</link><pubDate>Tue, 08 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/08/reaper-cuando-eliminar-c%C3%B3digo-es-tan-importante-como-escribirlo/</guid><description>&lt;p&gt;En mi experiencia con desarrollo móvil, he visto cómo las apps se vuelven cada vez más complejas y los proyectos crecen sin control. Recuerdo perfectamente esa sensación de tener miles de líneas de código y no estar seguro de qué se estaba usando realmente y qué no.&lt;/p&gt;
&lt;p&gt;Por eso me ha llamado tanto la atención esta herramienta que ha liberado Sentry (que antes era de Emerge Tools): &lt;strong&gt;&lt;a href="https://blog.sentry.io/an-open-source-sdk-for-finding-dead-code/"&gt;Reaper&lt;/a&gt;&lt;/strong&gt;. Un SDK de código abierto que hace algo que suena simple pero es tremendamente útil: encontrar código muerto en tus aplicaciones móviles.&lt;/p&gt;</description></item><item><title>Context Engineering: El prompt engineering ha crecido</title><link>https://antoniocortes.com/2025/07/05/context-engineering-el-prompt-engineering-ha-crecido/</link><pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/05/context-engineering-el-prompt-engineering-ha-crecido/</guid><description>&lt;p&gt;Hace unos años, muchos investigadores de IA (incluso los más reputados) predecían que el prompt engineering sería una habilidad temporal que desaparecería rápidamente. Se equivocaron completamente. No solo no ha desaparecido, sino que &lt;strong&gt;ha evolucionado hacia algo mucho más sofisticado: Context Engineering&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Y no, no es solo otro término de moda. Es una evolución natural que refleja la complejidad real de trabajar con LLMs en aplicaciones productivas.&lt;/p&gt;
&lt;h2 id="de-prompt-engineering-a-context-engineering"&gt;De prompt engineering a context engineering&lt;/h2&gt;
&lt;p&gt;El problema con el término &amp;ldquo;prompt engineering&amp;rdquo; es que mucha gente lo confunde con &lt;strong&gt;blind prompting&lt;/strong&gt; - simplemente escribir una pregunta en ChatGPT y esperar un resultado. Eso no es ingeniería, es usar una herramienta.&lt;/p&gt;</description></item><item><title>Deno 2.4: El bundle ha vuelto</title><link>https://antoniocortes.com/2025/07/05/deno-2.4-el-bundle-ha-vuelto/</link><pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/05/deno-2.4-el-bundle-ha-vuelto/</guid><description>&lt;p&gt;Deno 2.4 acaba de ser liberado, y debo admitir que me ha sorprendido gratamente. No solo por la cantidad de características nuevas, sino por una en particular que muchos creíamos que no volvería: &lt;strong&gt;&lt;code&gt;deno bundle&lt;/code&gt; ha regresado&lt;/strong&gt;. Y esta vez, para quedarse.&lt;/p&gt;
&lt;p&gt;Esta versión viene cargada de mejoras que van desde importar archivos de texto directamente hasta observabilidad estable con OpenTelemetry. Vamos a ver qué nos trae esta release.&lt;/p&gt;
&lt;h2 id="el-regreso-triunfal-de-deno-bundle"&gt;El regreso triunfal de &lt;code&gt;deno bundle&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Para los que llevamos tiempo con Deno, &lt;code&gt;deno bundle&lt;/code&gt; fue una de esas características que usábamos constantemente hasta que &lt;a href="https://github.com/denoland/deno/issues/11073"&gt;fue deprecada en 2021&lt;/a&gt;. El equipo de Deno admitió que el bundling es un problema complejo y que no podían hacerlo bien.&lt;/p&gt;</description></item><item><title>JSONPath: El XPath que necesitábamos para JSON</title><link>https://antoniocortes.com/2025/07/05/jsonpath-el-xpath-que-necesit%C3%A1bamos-para-json/</link><pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/05/jsonpath-el-xpath-que-necesit%C3%A1bamos-para-json/</guid><description>&lt;p&gt;He visto cómo ciertos estándares y herramientas se convierten en imprescindibles cuando trabajas con datos. Y si hay algo que hemos aprendido en estos años es que &lt;strong&gt;JSON está en todas partes&lt;/strong&gt;: APIs, logs, configuraciones, bases de datos NoSQL&amp;hellip; La pregunta ya no es si trabajarás con JSON, sino cuándo te enfrentarás a esa estructura anidada de 15 niveles que te hace suspirar.&lt;/p&gt;
&lt;h2 id="el-problema-que-todos-hemos-vivido"&gt;El problema que todos hemos vivido&lt;/h2&gt;
&lt;p&gt;¿Cuántas veces has tenido que escribir algo como esto?&lt;/p&gt;</description></item><item><title>PHP 8.5.0 Alpha 1: Pipeline hacia el futuro</title><link>https://antoniocortes.com/2025/07/05/php-8.5.0-alpha-1-pipeline-hacia-el-futuro/</link><pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/05/php-8.5.0-alpha-1-pipeline-hacia-el-futuro/</guid><description>&lt;p&gt;La primera versión alpha de PHP 8.5 acaba de ser liberada, y debo confesar que me tiene más emocionado que las últimas versiones. No es solo por las mejoras técnicas (que son muchas), sino porque &lt;strong&gt;PHP 8.5 introduce características que van a cambiar la forma en que escribimos código&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Y cuando digo &amp;ldquo;cambiar&amp;rdquo;, me refiero a ese tipo de cambios que, una vez que los usas, no puedes volver atrás. Como cuando apareció el null coalescing operator (&lt;code&gt;??&lt;/code&gt;) en PHP 7, o las arrow functions en PHP 7.4.&lt;/p&gt;</description></item><item><title>WebAssembly Agents: AI en el navegador sin complicaciones</title><link>https://antoniocortes.com/2025/07/04/webassembly-agents-ai-en-el-navegador-sin-complicaciones/</link><pubDate>Fri, 04 Jul 2025 12:00:00 +0200</pubDate><guid>https://antoniocortes.com/2025/07/04/webassembly-agents-ai-en-el-navegador-sin-complicaciones/</guid><description>&lt;h2 id="mozilla-ai-vuelve-a-sorprender-agentes-de-ia-que-funcionan-con-solo-abrir-un-html"&gt;Mozilla AI vuelve a sorprender: agentes de IA que funcionan con solo abrir un HTML&lt;/h2&gt;
&lt;p&gt;Hace unos días me topé con un proyecto de Mozilla AI que me ha llamado muchísimo la atención: &lt;a href="https://blog.mozilla.ai/wasm-agents-ai-agents-running-in-your-browser/"&gt;WebAssembly Agents&lt;/a&gt;. Y es que después de 30 años viendo cómo la industria se complica la vida con dependencias, instalaciones y configuraciones, ver algo que funciona con solo &amp;ldquo;abrir un HTML&amp;rdquo; me ha hecho sonreír.&lt;/p&gt;
&lt;h3 id="el-problema-que-resuelve-y-que-todos-conocemos"&gt;El problema que resuelve (y que todos conocemos)&lt;/h3&gt;
&lt;p&gt;¿Cuántas veces habéis intentado probar un proyecto de IA y os habéis encontrado con esto?&lt;/p&gt;</description></item><item><title>Baidu y el nuevo paradigma de búsqueda con multi-agentes: cuando la IA aprende a colaborar</title><link>https://antoniocortes.com/2025/07/04/baidu-y-el-nuevo-paradigma-de-b%C3%BAsqueda-con-multi-agentes-cuando-la-ia-aprende-a-colaborar/</link><pubDate>Fri, 04 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/04/baidu-y-el-nuevo-paradigma-de-b%C3%BAsqueda-con-multi-agentes-cuando-la-ia-aprende-a-colaborar/</guid><description>&lt;p&gt;Después de muchos años trabajando con sistemas de toda índole, he visto cómo la búsqueda de información ha evolucionado desde simples bases de datos hasta los sofisticados sistemas de hoy. Pero lo que acaban de proponer los investigadores de Baidu me ha llamado especialmente la atención, y creo que marca un antes y un después en cómo pensamos sobre la recuperación inteligente de información.&lt;/p&gt;
&lt;h2 id="el-problema-que-todos-conocemos-pero-no-siempre-admitimos"&gt;El problema que todos conocemos (pero no siempre admitimos)&lt;/h2&gt;
&lt;p&gt;Si has trabajado con sistemas RAG (Retrieval-Augmented Generation), sabes que funcionan bastante bien para preguntas directas. Pero cuando te enfrentas a consultas que requieren varios pasos de razonamiento, comparar información de múltiples fuentes, o manejar datos contradictorios&amp;hellip; ahí es donde la cosa se complica. Y mucho.&lt;/p&gt;</description></item><item><title>LLMs en Ingeniería de Software: Reality Check de 2025</title><link>https://antoniocortes.com/2025/07/03/llms-en-ingenier%C3%ADa-de-software-reality-check-de-2025/</link><pubDate>Thu, 03 Jul 2025 10:00:00 +0200</pubDate><guid>https://antoniocortes.com/2025/07/03/llms-en-ingenier%C3%ADa-de-software-reality-check-de-2025/</guid><description>&lt;h2 id="el-hype-vs-la-realidad-reflexiones-de-un-desarrollador-con-30-años-de-guerra"&gt;El hype vs la realidad: reflexiones de un desarrollador con 30 años de guerra&lt;/h2&gt;
&lt;p&gt;Esta mañana me he topado con una charla que me ha hecho reflexionar bastante sobre todo este revuelo que hay montado con la IA y el desarrollo de software. El ponente, con una dosis saludable de escepticismo, hace un &amp;ldquo;reality check&amp;rdquo; sobre las afirmaciones grandilocuentes que estamos escuchando por todas partes.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/EO3_qN_Ynsk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;&lt;em&gt;La charla completa que ha inspirado estas reflexiones. Vale la pena verla entera.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Moley: el tool que hace que Cloudflare Tunnels sea finalmente usable (y por qué lo necesitábamos)</title><link>https://antoniocortes.com/2025/07/03/moley-el-tool-que-hace-que-cloudflare-tunnels-sea-finalmente-usable-y-por-qu%C3%A9-lo-necesit%C3%A1bamos/</link><pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/03/moley-el-tool-que-hace-que-cloudflare-tunnels-sea-finalmente-usable-y-por-qu%C3%A9-lo-necesit%C3%A1bamos/</guid><description>&lt;h2 id="el-problema-que-todos-tenemos-pero-solucionamos-mal"&gt;El problema que todos tenemos (pero solucionamos mal)&lt;/h2&gt;
&lt;p&gt;Como DevOps Manager, paso más tiempo del que debería configurando formas para que el equipo pueda &lt;strong&gt;mostrar su trabajo en desarrollo&lt;/strong&gt;. Demos para clientes, webhooks para testing, APIs temporales para integraciones&amp;hellip; siempre necesitamos exponer localhost al mundo.&lt;/p&gt;
&lt;p&gt;Las opciones tradicionales son un dolor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ngrok&lt;/strong&gt;: Funciona, pero URLs feas, límites en el plan gratuito, y cada reinicio genera una URL nueva&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;localtunnel&lt;/strong&gt;: Inestable, URLs que expiran, y a menudo bloqueado por firewalls corporativos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SSH tunneling&lt;/strong&gt;: Requiere servidores propios, configuración manual, y conocimiento de redes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloudflare Tunnels manuales&lt;/strong&gt;: Potente pero&amp;hellip; Dios, la configuración manual es infernal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y entonces descubrí &lt;strong&gt;&lt;a href="https://github.com/stupside/moley"&gt;Moley&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Agent Communication Protocol (ACP): El HTTP de los agentes de IA</title><link>https://antoniocortes.com/2025/07/02/agent-communication-protocol-acp-el-http-de-los-agentes-de-ia/</link><pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/02/agent-communication-protocol-acp-el-http-de-los-agentes-de-ia/</guid><description>&lt;h2 id="otro-protocolo-más-que-promete-cambiarlo-todo"&gt;Otro protocolo más que promete cambiarlo todo&lt;/h2&gt;
&lt;p&gt;Cuando IBM Research anunció el &lt;strong&gt;Agent Communication Protocol (ACP)&lt;/strong&gt; como parte del proyecto BeeAI, mi primera reacción fue la habitual: &lt;em&gt;&amp;ldquo;Ah, otro protocolo universal más&amp;rdquo;&lt;/em&gt;. Con casi 30 años en esto, he visto demasiados &amp;ldquo;estándares definitivos&amp;rdquo; que acabaron en el olvido.&lt;/p&gt;
&lt;p&gt;Pero hay algo diferente en ACP que me hizo prestar atención: &lt;strong&gt;no promete resolver todos los problemas del mundo&lt;/strong&gt;. Simplemente se enfoca en uno muy específico: hacer que agentes de IA de diferentes frameworks puedan hablar entre sí. Y lo hace de una manera que realmente tiene sentido.&lt;/p&gt;</description></item><item><title>Cloudflare vuelve a innovar: autenticación criptográfica para bots (el fin de los user-agents falsos)</title><link>https://antoniocortes.com/2025/07/02/cloudflare-vuelve-a-innovar-autenticaci%C3%B3n-criptogr%C3%A1fica-para-bots-el-fin-de-los-user-agents-falsos/</link><pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/02/cloudflare-vuelve-a-innovar-autenticaci%C3%B3n-criptogr%C3%A1fica-para-bots-el-fin-de-los-user-agents-falsos/</guid><description>&lt;h2 id="el-problema-que-todos-conocemos-pero-fingimos-que-no-existe"&gt;El problema que todos conocemos (pero fingimos que no existe)&lt;/h2&gt;
&lt;p&gt;Como persona que gestiona infraestructuras web desde hace décadas, he visto demasiados bots fingiendo ser lo que no son. &lt;strong&gt;User-Agent: &amp;ldquo;Mozilla/5.0 (Windows NT 10.0; Win64; x64)&amp;rdquo;&lt;/strong&gt; cuando en realidad es un scraper chino aspirando tu contenido a las 3 de la mañana.&lt;/p&gt;
&lt;p&gt;Los métodos tradicionales para identificar bots legítimos han sido, seamos honestos, &lt;strong&gt;patéticos&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rangos de IP&lt;/strong&gt;: Que cambian, se comparten, o se spoofean&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Headers User-Agent&lt;/strong&gt;: Que cualquiera puede falsificar en una línea de código&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reverse DNS&lt;/strong&gt;: Que funciona hasta que no funciona&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hoy Cloudflare anunció que está integrando &lt;strong&gt;HTTP Message Signatures&lt;/strong&gt; directamente en su programa Verified Bots. Y después de leer los detalles técnicos, tengo que admitir algo: &lt;strong&gt;esto puede cambiar las reglas del juego definitivamente&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>El 'AI-Native Software Engineer': Entre el hype y la realidad práctica</title><link>https://antoniocortes.com/2025/07/02/el-ai-native-software-engineer-entre-el-hype-y-la-realidad-pr%C3%A1ctica/</link><pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/02/el-ai-native-software-engineer-entre-el-hype-y-la-realidad-pr%C3%A1ctica/</guid><description>&lt;h2 id="una-reflexión-necesaria-sobre-el-ai-native-engineer"&gt;Una reflexión necesaria sobre el &amp;ldquo;AI-Native Engineer&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;He leído el &lt;a href="https://addyo.substack.com/p/the-ai-native-software-engineer"&gt;artículo de Addyo&lt;/a&gt; sobre el &amp;ldquo;AI-Native Software Engineer&amp;rdquo; y, como Principal Backend Engineer que lleva años viendo promesas tecnológicas ir y venir, tengo opiniones &lt;strong&gt;bastante sinceras&lt;/strong&gt; al respecto. No todas son cómodas de escuchar.&lt;/p&gt;
&lt;p&gt;He visto suficientes &amp;ldquo;revoluciones&amp;rdquo; como para separar el grano de la paja. &lt;strong&gt;Y aquí hay mucho de ambos&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="lo-que-está-funcionando-de-verdad"&gt;Lo que está funcionando (de verdad)&lt;/h2&gt;
&lt;h3 id="1-ia-como-copiloto-no-como-piloto"&gt;&lt;strong&gt;1. IA como copiloto, no como piloto&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;La metáfora del artículo sobre tratar la IA como un &amp;ldquo;programador junior disponible 24/7&amp;rdquo; es &lt;strong&gt;acertada&lt;/strong&gt;. En mi experiencia trabajando con equipos, he visto developers usar GitHub Copilot y Claude de manera efectiva para:&lt;/p&gt;</description></item><item><title>MCP para escépticos: Por qué el Model Context Protocol vale la pena (aunque no lo parezca)</title><link>https://antoniocortes.com/2025/07/02/mcp-para-esc%C3%A9pticos-por-qu%C3%A9-el-model-context-protocol-vale-la-pena-aunque-no-lo-parezca/</link><pubDate>Wed, 02 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/02/mcp-para-esc%C3%A9pticos-por-qu%C3%A9-el-model-context-protocol-vale-la-pena-aunque-no-lo-parezca/</guid><description>&lt;h2 id="confesión-de-un-escéptico-convertido"&gt;Confesión de un escéptico convertido&lt;/h2&gt;
&lt;p&gt;Cuando Anthropic anunció el &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; en noviembre de 2024, mi primera reacción fue: &lt;em&gt;&amp;ldquo;Ah, otro protocolo más que promete resolver todos los problemas de integración&amp;rdquo;&lt;/em&gt;. Como DevOps Manager que ha visto nacer y morir docenas de &amp;ldquo;estándares universales&amp;rdquo;, tengo razones para ser escéptico.&lt;/p&gt;
&lt;p&gt;Pero después de varios meses viendo cómo MCP se ha adoptado masivamente - &lt;strong&gt;OpenAI lo integró en marzo 2025, Google DeepMind en abril&lt;/strong&gt; - decidí investigar más allá del hype. Y tengo que admitir algo: &lt;strong&gt;estaba equivocado&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Claude Code Hooks: Automatización y Personalización de Workflows de Desarrollo</title><link>https://antoniocortes.com/2025/07/01/claude-code-hooks-automatizaci%C3%B3n-y-personalizaci%C3%B3n-de-workflows-de-desarrollo/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/01/claude-code-hooks-automatizaci%C3%B3n-y-personalizaci%C3%B3n-de-workflows-de-desarrollo/</guid><description>&lt;p&gt;Con la evolución constante de las herramientas de desarrollo impulsadas por IA, &lt;strong&gt;Claude Code&lt;/strong&gt; ha introducido una funcionalidad revolucionaria: &lt;strong&gt;Hooks&lt;/strong&gt;. Esta característica permite a los desarrolladores personalizar y automatizar comportamientos específicos en el ciclo de vida de Claude Code, transformando sugerencias en código ejecutable que funciona de manera determinística.&lt;/p&gt;
&lt;p&gt;Los hooks representan un salto cualitativo en la personalización de herramientas de IA para desarrollo, permitiendo que cada equipo y desarrollador adapte Claude Code a sus necesidades específicas y estándares de proyecto.&lt;/p&gt;</description></item><item><title>Cloudflare acaba de cambiar las reglas del juego con 'Pay per Crawl' (y era hora)</title><link>https://antoniocortes.com/2025/07/01/cloudflare-acaba-de-cambiar-las-reglas-del-juego-con-pay-per-crawl-y-era-hora/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/01/cloudflare-acaba-de-cambiar-las-reglas-del-juego-con-pay-per-crawl-y-era-hora/</guid><description>&lt;h2 id="content-independence-day-el-día-que-la-web-dijo-ya-basta"&gt;&amp;ldquo;Content Independence Day&amp;rdquo;: el día que la web dijo &amp;ldquo;ya basta&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Hoy, 1 de julio de 2025, Cloudflare declaró oficialmente el &lt;a href="https://blog.cloudflare.com/content-independence-day-no-ai-crawl-without-compensation/"&gt;&amp;ldquo;Content Independence Day&amp;rdquo;&lt;/a&gt; con el lanzamiento de &lt;strong&gt;&amp;ldquo;Pay per Crawl&amp;rdquo;&lt;/strong&gt;, su nueva herramienta que permite a los propietarios de sitios web cobrar a los crawlers de IA por acceder a su contenido. Como DevOps Manager que gestiona infraestructuras web diariamente, puedo decir que &lt;strong&gt;era hora&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Y es que los números no mienten: mientras Google mantiene una relación de 18 crawls por cada referral que envía (que ya es brutal comparado con los 6:1 de hace seis meses), OpenAI tiene un ratio de &lt;strong&gt;1,500:1&lt;/strong&gt; y Anthropic llega a los &lt;strong&gt;73,000:1&lt;/strong&gt;. Básicamente, están aspirando todo nuestro contenido sin devolver ni una migaja de tráfico.&lt;/p&gt;</description></item><item><title>Por qué me fascina la ordenación distribuida (y por qué debería fascinarte a ti también)</title><link>https://antoniocortes.com/2025/07/01/por-qu%C3%A9-me-fascina-la-ordenaci%C3%B3n-distribuida-y-por-qu%C3%A9-deber%C3%ADa-fascinarte-a-ti-tambi%C3%A9n/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/01/por-qu%C3%A9-me-fascina-la-ordenaci%C3%B3n-distribuida-y-por-qu%C3%A9-deber%C3%ADa-fascinarte-a-ti-tambi%C3%A9n/</guid><description>&lt;h2 id="una-revelación-en-forma-de-algoritmo"&gt;Una revelación en forma de algoritmo&lt;/h2&gt;
&lt;p&gt;Gracias a un artículo de &lt;a href="https://www.systemdesignacademy.com/blog/design-a-system-for-sorting-large-datasets-distributed-sorting-at-scale"&gt;System Design Academy&lt;/a&gt; que me llegó esta semana, he estado reflexionando sobre algo que me parece &lt;strong&gt;curioso y simple&lt;/strong&gt; a la vez: cómo ordenar datasets masivos de manera distribuida. Y sabes qué? Estos patrones son tan elegantes que se pueden aplicar a muchísimos otros problemas que enfrentamos día a día.&lt;/p&gt;
&lt;p&gt;Como desarrollador que ha pasado de JavaScript a PHP, luego Python, y ahora está completamente inmerso en Golang, me llama la atención cómo ciertos patrones trascienden lenguajes y frameworks. La ordenación distribuida es uno de esos casos donde la &lt;strong&gt;arquitectura importa más que la implementación&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Walmart y el futuro agéntico: Cómo el gigante retail está revolucionando las compras con agentes de IA autónomos</title><link>https://antoniocortes.com/2025/07/01/walmart-y-el-futuro-ag%C3%A9ntico-c%C3%B3mo-el-gigante-retail-est%C3%A1-revolucionando-las-compras-con-agentes-de-ia-aut%C3%B3nomos/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/07/01/walmart-y-el-futuro-ag%C3%A9ntico-c%C3%B3mo-el-gigante-retail-est%C3%A1-revolucionando-las-compras-con-agentes-de-ia-aut%C3%B3nomos/</guid><description>&lt;p&gt;El futuro de las compras está aquí, y Walmart está liderando una revolución silenciosa que cambiará para siempre la forma en que interactuamos con el retail. Mientras muchas empresas siguen experimentando con ChatGPT y herramientas básicas de IA generativa, el gigante de Arkansas ha dado un salto cuántico hacia la &lt;strong&gt;IA Agéntica&lt;/strong&gt; (Agentic AI), desarrollando sistemas autónomos que no solo recomiendan productos, sino que actúan, deciden y ejecutan tareas completas por sí mismos.&lt;/p&gt;</description></item><item><title>Apache Iceberg v3: Revolución en Datos Geoespaciales para el Analytics Moderno</title><link>https://antoniocortes.com/2025/06/30/apache-iceberg-v3-revoluci%C3%B3n-en-datos-geoespaciales-para-el-analytics-moderno/</link><pubDate>Mon, 30 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/30/apache-iceberg-v3-revoluci%C3%B3n-en-datos-geoespaciales-para-el-analytics-moderno/</guid><description>&lt;h1 id="apache-iceberg-v3-revolución-en-datos-geoespaciales-para-el-analytics-moderno"&gt;Apache Iceberg v3: Revolución en Datos Geoespaciales para el Analytics Moderno&lt;/h1&gt;
&lt;p&gt;La reciente ratificación de la especificación Apache Iceberg v3 marca un hito significativo en el ecosistema de datos abiertos, especialmente en el ámbito de los &lt;strong&gt;datos geoespaciales&lt;/strong&gt;. Esta actualización no solo consolida a Iceberg como el estándar líder en formatos de tabla abiertos, sino que introduce capacidades geoespaciales nativas que prometen transformar cómo manejamos datos de ubicación y mapeo a gran escala.&lt;/p&gt;</description></item><item><title>Filament v4 Beta: Análisis completo de las características revolucionarias que transformarán el desarrollo de aplicaciones Laravel</title><link>https://antoniocortes.com/2025/06/30/filament-v4-beta-an%C3%A1lisis-completo-de-las-caracter%C3%ADsticas-revolucionarias-que-transformar%C3%A1n-el-desarrollo-de-aplicaciones-laravel/</link><pubDate>Mon, 30 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/30/filament-v4-beta-an%C3%A1lisis-completo-de-las-caracter%C3%ADsticas-revolucionarias-que-transformar%C3%A1n-el-desarrollo-de-aplicaciones-laravel/</guid><description>&lt;p&gt;La &lt;strong&gt;Filament v4 Beta&lt;/strong&gt; ha llegado oficialmente, y es sin duda la actualización más ambiciosa y completa en la historia de este framework. Después de explorar en detalle todas las nuevas características, puedo afirmar que esta versión representa un salto cuántico en términos de rendimiento, facilidad de uso y capacidades de desarrollo.&lt;/p&gt;
&lt;p&gt;En este análisis exhaustivo, vamos a explorar cada una de las nuevas características de Filament v4, explicando no solo qué es nuevo, sino también cómo estas mejoras pueden transformar tu flujo de trabajo y las posibilidades de tus aplicaciones.&lt;/p&gt;</description></item><item><title>Idempotencia en Laravel: Cómo Evitar Duplicados en tus APIs con Elegancia</title><link>https://antoniocortes.com/2025/06/30/idempotencia-en-laravel-c%C3%B3mo-evitar-duplicados-en-tus-apis-con-elegancia/</link><pubDate>Mon, 30 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/30/idempotencia-en-laravel-c%C3%B3mo-evitar-duplicados-en-tus-apis-con-elegancia/</guid><description>&lt;h1 id="idempotencia-en-laravel-cómo-evitar-duplicados-en-tus-apis-con-elegancia"&gt;Idempotencia en Laravel: Cómo Evitar Duplicados en tus APIs con Elegancia&lt;/h1&gt;
&lt;p&gt;En el desarrollo de APIs modernas, uno de los desafíos más críticos es garantizar que las operaciones no se ejecuten múltiples veces de forma accidental. Imagina un usuario que realiza un pago y, por problemas de conectividad, hace clic varias veces en el botón &amp;ldquo;Pagar&amp;rdquo;. Sin las medidas adecuadas, podrías procesar múltiples pagos por la misma transacción. Aquí es donde entra en juego la &lt;strong&gt;idempotencia&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Todo sobre el lanzamiento de Filament v4 Beta: Recursos anidados, autenticación multi-factor y mucho más</title><link>https://antoniocortes.com/2025/06/29/todo-sobre-el-lanzamiento-de-filament-v4-beta-recursos-anidados-autenticaci%C3%B3n-multi-factor-y-mucho-m%C3%A1s/</link><pubDate>Sun, 29 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/29/todo-sobre-el-lanzamiento-de-filament-v4-beta-recursos-anidados-autenticaci%C3%B3n-multi-factor-y-mucho-m%C3%A1s/</guid><description>&lt;p&gt;El equipo de &lt;strong&gt;Filament&lt;/strong&gt; ha anunciado emocionantes detalles sobre el próximo lanzamiento de &lt;strong&gt;Filament v4 Beta&lt;/strong&gt;, y sin duda es la versión más esperada hasta la fecha. Filament v4 es el lanzamiento más grande y repleto de características que Filament haya tenido nunca, superando incluso a la masiva v3 que requirió más de 100 versiones menores.&lt;/p&gt;
&lt;h2 id="las-características-más-destacadas-de-filament-v4"&gt;Las características más destacadas de Filament v4&lt;/h2&gt;
&lt;h3 id="recursos-anidados-nested-resources"&gt;Recursos Anidados (Nested Resources)&lt;/h3&gt;
&lt;p&gt;Una de las solicitudes más longevas de la comunidad finalmente se hace realidad. Los recursos anidados permiten operar sobre un recurso de Filament dentro del contexto de un recurso padre.&lt;/p&gt;</description></item><item><title>Effect TS: La biblioteca que está revolucionando la programación funcional en TypeScript</title><link>https://antoniocortes.com/2025/06/22/effect-ts-la-biblioteca-que-est%C3%A1-revolucionando-la-programaci%C3%B3n-funcional-en-typescript/</link><pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/22/effect-ts-la-biblioteca-que-est%C3%A1-revolucionando-la-programaci%C3%B3n-funcional-en-typescript/</guid><description>&lt;p&gt;Durante mucho tiempo, TypeScript ha carecido de una &lt;strong&gt;biblioteca estándar robusta&lt;/strong&gt;. Mientras que otros lenguajes como Rust, Go o Python ofrecen herramientas estándar para el manejo de errores, concurrencia y efectos secundarios, los desarrolladores de TypeScript hemos tenido que recurrir a múltiples bibliotecas especializadas. &lt;strong&gt;Effect TS&lt;/strong&gt; está cambiando esto al ofrecer una solución unificada y potente para el desarrollo de aplicaciones TypeScript modernas.&lt;/p&gt;
&lt;h2 id="qué-es-effect-ts"&gt;¿Qué es Effect TS?&lt;/h2&gt;
&lt;p&gt;Effect es una poderosa biblioteca de TypeScript diseñada para ayudar a los desarrolladores a crear fácilmente programas complejos, síncronos y asíncronos. Inspirada en &lt;strong&gt;ZIO&lt;/strong&gt; de Scala, Effect trae los principios de la programación funcional a TypeScript de una manera práctica y accesible.&lt;/p&gt;</description></item><item><title>Laravel Blueprint: La herramienta que revoluciona el scaffolding con YAML y te ahorra horas de desarrollo</title><link>https://antoniocortes.com/2025/06/20/laravel-blueprint-la-herramienta-que-revoluciona-el-scaffolding-con-yaml-y-te-ahorra-horas-de-desarrollo/</link><pubDate>Fri, 20 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/20/laravel-blueprint-la-herramienta-que-revoluciona-el-scaffolding-con-yaml-y-te-ahorra-horas-de-desarrollo/</guid><description>&lt;p&gt;¿Cuántas veces has comenzado un proyecto Laravel creando manualmente modelos, controladores, migraciones, factories, form requests y tests uno por uno? Si eres como la mayoría de desarrolladores Laravel, probablemente has perdido incontables horas en estas tareas repetitivas que, aunque necesarias, no aportan valor directo a la lógica de negocio de tu aplicación.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Laravel Blueprint&lt;/strong&gt; está cambiando completamente este paradigma. Esta herramienta de generación de código, creada por Jason McCreary (el mismo genio detrás de Laravel Shift), permite generar múltiples componentes de Laravel desde un único archivo YAML legible y expresivo. En este análisis profundo, exploraremos cómo Blueprint puede transformar tu flujo de desarrollo y por qué está ganando tracción en la comunidad Laravel.&lt;/p&gt;</description></item><item><title>Descubriendo el mundo de la programación GIS con Python: Una inmersión completa en el curso de Qiusheng Wu</title><link>https://antoniocortes.com/2025/06/15/descubriendo-el-mundo-de-la-programaci%C3%B3n-gis-con-python-una-inmersi%C3%B3n-completa-en-el-curso-de-qiusheng-wu/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/15/descubriendo-el-mundo-de-la-programaci%C3%B3n-gis-con-python-una-inmersi%C3%B3n-completa-en-el-curso-de-qiusheng-wu/</guid><description>&lt;p&gt;En el mundo actual, los &lt;strong&gt;datos geoespaciales&lt;/strong&gt; están en todas partes. Desde aplicaciones de mapas en nuestros teléfonos hasta análisis climáticos globales, la capacidad de trabajar con información geográfica se ha vuelto una habilidad fundamental para desarrolladores, científicos de datos y analistas. Recientemente he tenido la oportunidad de explorar el excepcional recurso educativo &lt;strong&gt;&amp;ldquo;Introduction to GIS Programming&amp;rdquo;&lt;/strong&gt; del Dr. Qiusheng Wu, y debo decir que es, sin duda, uno de los materiales más completos y accesibles que he encontrado para adentrarse en este fascinante campo.&lt;/p&gt;</description></item><item><title>Guía completa para configurar Path Aliases en Node.js con TypeScript: Adiós a los '../../../' infinitos</title><link>https://antoniocortes.com/2025/06/-infinitos/</link><pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/06/-infinitos/</guid><description>&lt;p&gt;¿Estás cansado de ver imports como &lt;code&gt;import Logger from &amp;quot;../../../utils/logger&amp;quot;&lt;/code&gt; en tus proyectos de Node.js? Si desarrollas aplicaciones con estructuras de carpetas complejas, seguramente te has encontrado con el &lt;strong&gt;laberinto de puntos y barras&lt;/strong&gt; que pueden llegar a ser los imports relativos. Afortunadamente, TypeScript ofrece una solución elegante: los &lt;strong&gt;Path Aliases&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;En esta guía completa aprenderás a configurar path aliases en proyectos Node.js con TypeScript, eliminando para siempre esos imports confusos y mejorando significativamente la legibilidad y mantenibilidad de tu código.&lt;/p&gt;</description></item><item><title>STORM: El sistema de IA que revoluciona la escritura de artículos largos simulando el proceso de investigación humano</title><link>https://antoniocortes.com/2025/05/18/storm-el-sistema-de-ia-que-revoluciona-la-escritura-de-art%C3%ADculos-largos-simulando-el-proceso-de-investigaci%C3%B3n-humano/</link><pubDate>Sun, 18 May 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/05/18/storm-el-sistema-de-ia-que-revoluciona-la-escritura-de-art%C3%ADculos-largos-simulando-el-proceso-de-investigaci%C3%B3n-humano/</guid><description>&lt;p&gt;La creación de artículos largos y fundamentados ha sido tradicionalmente una tarea compleja que requiere habilidades avanzadas de investigación y escritura. Recientemente, investigadores de Stanford han presentado &lt;strong&gt;STORM&lt;/strong&gt; (&lt;em&gt;Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking&lt;/em&gt;), un sistema revolucionario que automatiza el proceso de escritura de artículos tipo Wikipedia desde cero, y los resultados son realmente impresionantes.&lt;/p&gt;
&lt;p&gt;En este análisis detallado, exploraremos cómo STORM está transformando la manera en que pensamos sobre la escritura asistida por IA y por qué este enfoque podría cambiar para siempre la forma en que creamos contenido informativo.&lt;/p&gt;</description></item><item><title>CookieStore API: El Futuro Asíncrono de la Gestión de Cookies en JavaScript</title><link>https://antoniocortes.com/2025/05/15/cookiestore-api-el-futuro-as%C3%ADncrono-de-la-gesti%C3%B3n-de-cookies-en-javascript/</link><pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2025/05/15/cookiestore-api-el-futuro-as%C3%ADncrono-de-la-gesti%C3%B3n-de-cookies-en-javascript/</guid><description>&lt;h1 id="cookiestore-api-el-futuro-asíncrono-de-la-gestión-de-cookies-en-javascript"&gt;CookieStore API: El Futuro Asíncrono de la Gestión de Cookies en JavaScript&lt;/h1&gt;
&lt;p&gt;Durante décadas, los desarrolladores web hemos dependido de la antigua y limitada interfaz &lt;code&gt;document.cookie&lt;/code&gt; para manejar cookies en el navegador. Esta API síncrona, con su sintaxis peculiar de cadenas de texto, ha sido fuente de frustración y errores. Pero eso está cambiando con la llegada de &lt;strong&gt;CookieStore API&lt;/strong&gt;, una interfaz moderna y asíncrona que promete revolucionar cómo interactuamos with cookies.&lt;/p&gt;</description></item><item><title>Compartir código entre aplicaciones usando Yarn Symlinks: Una alternativa simple a los monorepos complejos</title><link>https://antoniocortes.com/2024/07/15/compartir-c%C3%B3digo-entre-aplicaciones-usando-yarn-symlinks-una-alternativa-simple-a-los-monorepos-complejos/</link><pubDate>Mon, 15 Jul 2024 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2024/07/15/compartir-c%C3%B3digo-entre-aplicaciones-usando-yarn-symlinks-una-alternativa-simple-a-los-monorepos-complejos/</guid><description>&lt;p&gt;¿Te has encontrado alguna vez duplicando utilidades, tipos de datos o componentes entre diferentes aplicaciones? Si trabajas en múltiples proyectos que necesitan compartir código común, seguramente has enfrentado el dilema de cómo gestionar este código compartido de manera eficiente.&lt;/p&gt;
&lt;p&gt;Recientemente, mientras exploraba diferentes enfoques para compartir código entre aplicaciones, me topé con una solución elegante y simple que muchos desarrolladores pasan por alto: &lt;strong&gt;los symlinks de Yarn&lt;/strong&gt;. Esta técnica puede ser la respuesta perfecta si buscas una alternativa liviana a las configuraciones complejas de monorepos.&lt;/p&gt;</description></item><item><title>Recursos 11 de marzo 2022</title><link>https://antoniocortes.com/2022/03/11/recursos-11-de-marzo-2022/</link><pubDate>Fri, 11 Mar 2022 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2022/03/11/recursos-11-de-marzo-2022/</guid><description>&lt;h2 id="options-pattern-in-golang"&gt;&lt;a href="https://levelup.gitconnected.com/options-pattern-in-golang-9a0384a9d8db"&gt;Options Pattern in Golang&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Option pattern is a functional programming pattern that is used to provide optional arguments to a function that can be used to modify its behavior.&lt;/p&gt;
&lt;h2 id="how-to-create-a-simple-event-streaming-in-laravel"&gt;&lt;a href="https://devdojo.com/bobbyiliev/how-to-create-a-simple-event-streaming-in-laravel"&gt;How to create a simple event streaming in Laravel?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Event streams provide you with a way to send events to the client without having to reload the page. This is useful for things like updating the user interface in real-time changes are made to the database.&lt;/p&gt;</description></item><item><title>Recursos Semana 13 de Mayo</title><link>https://antoniocortes.com/2019/05/13/recursos-semana-13-de-mayo/</link><pubDate>Mon, 13 May 2019 11:01:16 +0200</pubDate><guid>https://antoniocortes.com/2019/05/13/recursos-semana-13-de-mayo/</guid><description>&lt;h2 id="tailwindcss-ya-tiene-su-versión-1x"&gt;&lt;a href="https://tailwindcss.com/"&gt;Tailwindcss ya tiene su versión 1.x&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;El genial Utility-first framework de CSS ha liberado su versión 1.0, hay cambios, como la nomenclatura de colores, fuentes, posicionamiento, &amp;hellip; Para actualizarnos deberemos seguir la &lt;a href="https://tailwindcss.com/docs/upgrading-to-v1"&gt;Upgrade Guide&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="best-dashboard-examples-for-inspiration-in-2018"&gt;&lt;a href="https://www.codewall.co.uk/best-dashboard-examples-for-inspiration"&gt;Best Dashboard Examples for Inspiration in 2018&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Ejemplos de múltiples Dashboards que nos ayudarán a diseñar y definir, de forma visual, nuestros dashboards y paneles de control para mostrar la información más clara y directa.&lt;/p&gt;
&lt;h2 id="azure-exam-resources"&gt;&lt;a href="https://gregorsuttie.com/2019/05/13/azure-exam-resources/"&gt;Azure Exam Resources&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Si estais preparando alguna certificación de Azure, no está de más tener a mano esta lista de recursos organizado por cada uno de los exámenes&lt;/p&gt;</description></item><item><title>Migración a Netlify</title><link>https://antoniocortes.com/2019/05/13/migraci%C3%B3n-a-netlify/</link><pubDate>Mon, 13 May 2019 10:35:41 +0200</pubDate><guid>https://antoniocortes.com/2019/05/13/migraci%C3%B3n-a-netlify/</guid><description>&lt;p&gt;En una nueva fase de esta web, y a modo de PoC, se ha migrado a &lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt; y actualizado el repo para Hugo 0.5.5, eliminando el theme como elemento externo.&lt;/p&gt;
&lt;p&gt;Eso significa que puede que tengamos algun error o algún problema temporal con la visualización, certificados o similares.&lt;/p&gt;</description></item><item><title>Certbot y ngnix - renovación y alta sin parada de servicio</title><link>https://antoniocortes.com/2018/06/29/certbot-y-ngnix-renovaci%C3%B3n-y-alta-sin-parada-de-servicio/</link><pubDate>Fri, 29 Jun 2018 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2018/06/29/certbot-y-ngnix-renovaci%C3%B3n-y-alta-sin-parada-de-servicio/</guid><description>&lt;p&gt;A la hora de instalar/renovar let&amp;rsquo;s encrypt en un servidor web con nginx tenemos que decidir si lo hacemos con un servidor temporal, lo que implica que debemos parar el servicio web temporalmente, o indicando cual es el DocumentRoot del servidor web para el dominio.&lt;/p&gt;
&lt;p&gt;Esto último implica que la web o servicio tenga un DocumentRoot &amp;ldquo;público&amp;rdquo;, y eso no es siempre sencillo cuando estamos utilizando, por ejemplo una aplicación en Python, Java, Go y el nginx como proxy.&lt;/p&gt;</description></item><item><title>API Documentation Library</title><link>https://antoniocortes.com/2017/11/27/api-documentation-library/</link><pubDate>Mon, 27 Nov 2017 15:53:40 +0100</pubDate><guid>https://antoniocortes.com/2017/11/27/api-documentation-library/</guid><description>&lt;p&gt;Un recursos interesante para tener a mano cuando tenemos que ponernos a documentar un API:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://apidocs.gallery/"&gt;API Documentation Gallery&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Donde tenemos unos ejemplos, Seleecionados, muy gráficos de como mostrar la documentación de nuestras APIs.&lt;/p&gt;
&lt;p&gt;Si sabeis de alguna interesante no hay más que hacer un pull request a:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/yosriady/apidocs-gallery"&gt;github.com/yosriady/apidocs-gallery&lt;/a&gt;&lt;/p&gt;</description></item><item><title>echarts 3</title><link>https://antoniocortes.com/2017/11/26/echarts-3/</link><pubDate>Sun, 26 Nov 2017 21:38:52 +0100</pubDate><guid>https://antoniocortes.com/2017/11/26/echarts-3/</guid><description>&lt;p&gt;Gracias al tweet de &lt;a href="https://twitter.com/juantomas"&gt;@juantomas&lt;/a&gt; me he encontrado con una lista de 9 librerías para &amp;ldquo;Charts&amp;rdquo; en JavaScript: &lt;a href="https://hackernoon.com/9-best-javascript-charting-libraries-46e7f4dc34e6"&gt;9 Best JavaScript Charting Libraries&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Probando Tailwind CSS</title><link>https://antoniocortes.com/2017/11/26/probando-tailwind-css/</link><pubDate>Sun, 26 Nov 2017 17:43:32 +0100</pubDate><guid>https://antoniocortes.com/2017/11/26/probando-tailwind-css/</guid><description>&lt;p&gt;Esta semana he estado viendo un nuevo concepto de framework CSS, los &amp;ldquo;Utility First&amp;rdquo;, un concepto que planteaba &lt;a href="https://adamwathan.me"&gt;Adam Wathan&lt;/a&gt; en su artículo: &lt;a href="https://adamwathan.me/css-utility-classes-and-separation-of-concerns/"&gt;CSS Utility Classes and &amp;ldquo;Separation of Concerns&amp;rdquo;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Retomando el blog</title><link>https://antoniocortes.com/2017/06/28/retomando-el-blog/</link><pubDate>Wed, 28 Jun 2017 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2017/06/28/retomando-el-blog/</guid><description>&lt;p&gt;El día a día me ha impedido hacer muchas cosas, una de estas es tener actualizado el blog, pero no hay tiempo para todo, y al final el cansancio hace que tenga que reorganizar prioridades.&lt;/p&gt;
&lt;p&gt;Estos últimos meses he estado trabajando en la implantación de RedHat Cloudforms, Ansible Tower, &amp;hellip; por lo que ha sido mucho el Ansible que he
tenido que tocar, ya era habitual, pero últimamente es mucho más.&lt;/p&gt;</description></item><item><title>Un día descubriré lo que es la zona de confort, o no</title><link>https://antoniocortes.com/zona-de-confort/</link><pubDate>Sat, 06 Aug 2016 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/zona-de-confort/</guid><description>&lt;p&gt;Momentos de cambios, momentos de evolución, una constante en mi vida, con el 25 aniversario de la creación de la web he entrado en modo &amp;ldquo;revisión&amp;rdquo; y estoy altamente desconcertado.&lt;/p&gt;
&lt;p&gt;Llevo el mismo tiempo (25 años) haciendo cosas, disfrutando, siempre con el mismo concepto y particularidad: Disfrute y resultado, pero ya hace mucho que no es relevante (cosa que tambien es poco relevante).&lt;/p&gt;
&lt;p&gt;Me he dado cuenta que lo habitual es hacer cosas dentro de tu zona de confort, y yo nunca he tenido una ni he sabido que podía existir, de ahí que haya tocado y hecho cosas poco usuales o quizás a &amp;ldquo;destiempo&amp;rdquo;, cuando cierta tecnología se podía de moda &amp;ldquo;Buzz&amp;rdquo; hacía tiempo que no lo utilizaba porque no me aportaba lo que me aportaba otra cosa, &amp;hellip;&lt;/p&gt;</description></item><item><title>Laravel Collections: Arrays on stereoids</title><link>https://antoniocortes.com/laravel-collections/</link><pubDate>Fri, 01 Jul 2016 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/laravel-collections/</guid><description>&lt;p&gt;Laravel además de utilizar múltiples paquetes de terceros tambien es posible utilizar partes como componentes. Todos los componentes están bajo el namespace &amp;ldquo;Illuminate&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Si hay una clase realmente interesante y útil es &lt;a href="https://laravel.com/docs/5.2/collections"&gt;Collection&lt;/a&gt;, que nos permite trabajar con arrays de datos de una forma sencilla y &amp;ldquo;programática&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Para tener esta clase en nuestro proyecto solo necesitaremos el paquete illuminate/support que podremos instalar con:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;composer require illuminate/support:5.2.x-dev&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Para mostrar algunos ejemplos utilizaremos un pequeño array con estos datos:&lt;/p&gt;</description></item><item><title>Una reflexión sin más</title><link>https://antoniocortes.com/una-reflexion-sin-mas/</link><pubDate>Sat, 07 May 2016 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/una-reflexion-sin-mas/</guid><description>&lt;p&gt;No sabría por donde empezar pero si cómo acabar esta reflexión, y es tan simple que se resumiría en dos frases, &amp;ldquo;No es país para programadores&amp;rdquo; y &amp;ldquo;Ser mediocre es más relajado y te aportará más&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Cuando uno lleva más de 20 años desarrollando y siempre se le ha llenado la boca diciendo que ha disfrutado, disfruta y disfrutará programando, en los lenguajes más extraños o comunes, con las tecnologías más peculiares y extrañas, los más punteros y los más &amp;ldquo;viejunos&amp;rdquo;, pero que cada uno en su momento y sólo para la más (en la medida de lo posible) precisa implementación, mejor debería estar callado.&lt;/p&gt;</description></item><item><title>Novedades de la semana 2016-03-27</title><link>https://antoniocortes.com/2016/03/27/novedades-de-la-semana-2016-03-27/</link><pubDate>Sun, 27 Mar 2016 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2016/03/27/novedades-de-la-semana-2016-03-27/</guid><description>&lt;p&gt;Estos últimos días hemos tenido muchas novedades, artículos, informaciones, en el mundo del desarrollo y tecnología, estas son las más relevantes para mi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://googleresearch.blogspot.com.es/2016/03/machine-learning-in-cloud-with.html"&gt;Google anuncia un nuevo servicio de Machine Learning en la nube&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.haneycodes.net/npm-left-pad-have-we-forgotten-how-to-program/"&gt;NPM &amp;amp; left-pad: Have We Forgotten How To Program?&lt;/a&gt;: El caso Kik - left-pad de NPM y la caida crítica al &amp;ldquo;esto lo hago con un modulo/plugin/paquete/clase&amp;rdquo; de terceros&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm"&gt;El caso Kik - left-pad de NPM y la caida en (oficial) &lt;/a&gt; o de como las dependencias más insignificantes nos pueden dejar realmente tirados.&lt;/p&gt;</description></item><item><title>Go en el mundo real</title><link>https://antoniocortes.com/2016/03/13/go-en-el-mundo-real/</link><pubDate>Sun, 13 Mar 2016 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2016/03/13/go-en-el-mundo-real/</guid><description>&lt;p&gt;En &lt;a href="http://www.sevilladevelopers.com"&gt;Sevilla Developers Conf 2&lt;/a&gt; comenté algunos ejemplos de quién utiliza y para que Go.&lt;/p&gt;
&lt;p&gt;Entre otros estos me han parecido interesantes, y crearé una lista un poco más grande que nos servirá para ver casos de uso reales y casos de éxito a la hora de escoger Go para determinadas soluciones.&lt;/p&gt;</description></item><item><title>Una consulta en Gremlin para Cayley</title><link>https://antoniocortes.com/2015/10/25/cayle-gremlin-example/</link><pubDate>Sun, 25 Oct 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/2015/10/25/cayle-gremlin-example/</guid><description>&lt;p&gt;Desde Cayley podemos hacer consultas vía REST en dos &amp;ldquo;lenguajes&amp;rdquo;: MQL y una versión reducida de Gremlin&lt;/p&gt;
&lt;p&gt;Con el siguiente ejemplo podemos obtener los skills más habituales de personas que pertenezcan a una industria, dentro del sector &amp;ldquo;Edu&amp;rdquo;&lt;/p&gt;







&lt;div class="gist-container my-6"&gt;
 &lt;div class="bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden"&gt;
 &lt;div class="bg-gray-200 dark:bg-gray-700 px-4 py-2 border-b border-gray-300 dark:border-gray-600 flex items-center justify-between"&gt;
 &lt;div class="flex items-center space-x-2"&gt;
 &lt;svg class="w-4 h-4 text-gray-600 dark:text-gray-400" fill="currentColor" viewBox="0 0 20 20"&gt;
 &lt;path fill-rule="evenodd" d="M3 4a1 1 0 011-1h12a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm0 4a1 1 0 011-1h12a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1V8z" clip-rule="evenodd"/&gt;
 &lt;/svg&gt;
 &lt;span class="text-sm font-medium text-gray-700 dark:text-gray-300"&gt;GitHub Gist&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="flex items-center space-x-2"&gt;
 &lt;a href="https://gist.github.com/drzippie/a9141708058960cde31a" 
 target="_blank" rel="noopener noreferrer"
 class="text-sm text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 font-medium"&gt;
 Ver en GitHub →
 &lt;/a&gt;
 &lt;/div&gt;
 &lt;/div&gt;
 
 &lt;div class="p-4"&gt;&lt;script src="https://gist.github.com/drzippie/a9141708058960cde31a.js"&gt;&lt;/script&gt;&lt;noscript&gt;
 &lt;div class="bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-700 rounded-md p-4"&gt;
 &lt;div class="flex"&gt;
 &lt;div class="flex-shrink-0"&gt;
 &lt;svg class="h-5 w-5 text-yellow-400" viewBox="0 0 20 20" fill="currentColor"&gt;
 &lt;path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd" /&gt;
 &lt;/svg&gt;
 &lt;/div&gt;
 &lt;div class="ml-3"&gt;
 &lt;h3 class="text-sm font-medium text-yellow-800 dark:text-yellow-200"&gt;
 JavaScript requerido
 &lt;/h3&gt;
 &lt;div class="mt-2 text-sm text-yellow-700 dark:text-yellow-300"&gt;
 &lt;p&gt;Para ver este Gist, necesitas tener JavaScript habilitado. 
 &lt;a href="https://gist.github.com/drzippie/a9141708058960cde31a" 
 class="underline font-medium" target="_blank" rel="noopener noreferrer"&gt;
 Ver directamente en GitHub
 &lt;/a&gt;
 &lt;/p&gt;</description></item><item><title>Recapitulando</title><link>https://antoniocortes.com/recapitulando/</link><pubDate>Thu, 08 Oct 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/recapitulando/</guid><description>&lt;p&gt;Me he puesto a ver que es lo que estoy tocando últimamente, y por no variar, es … simplemente “excéntrico”, en la suma de los elementos pero no en el uso de cada uno.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Editor de Texto&lt;/strong&gt;: &lt;a href="http://www.sublimetext.com"&gt;Sublime Text&lt;/a&gt;, &lt;a href="https://atom.io"&gt;Atom&lt;/a&gt; no me hago a el (en gran medida por su complicada integración con &lt;a href="http://www.golang.org"&gt;Go&lt;/a&gt; y &lt;a href="http://www.getgb.io"&gt;Gb&lt;/a&gt; ), y lo mismo de atom se aplica a &lt;a href="https://www.jetbrains.com/phpstorm/"&gt;PHPStorm&lt;/a&gt;.En el terminal mi editor de cabecera es &lt;a href="http://joe-editor.sourceforge.net"&gt;Joe&lt;/a&gt;  y esto tiene una explicación: mi primer editor de texto fue &lt;a href="https://es.wikipedia.org/wiki/WordStar"&gt;WordStar&lt;/a&gt; y soy un nostálgico.&lt;/p&gt;</description></item><item><title>Parece que los inicios de Go son similares para todos</title><link>https://antoniocortes.com/cuantos-recuerdos-de-mis-inicios-con-go/</link><pubDate>Wed, 07 Oct 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/cuantos-recuerdos-de-mis-inicios-con-go/</guid><description>&lt;p&gt;Excepto el gorename …&lt;/p&gt;
&lt;p&gt;[https://medium.com/@mandrigin/golang-8-insights-of-the-first-weeks-of-the-real-usage-f01290811b8b](Golang: 8 insights from the first weeks of the real usage)&lt;/p&gt;</description></item><item><title>Qué me gusta de Go</title><link>https://antoniocortes.com/que-me-gusta-de-go/</link><pubDate>Sat, 25 Apr 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/que-me-gusta-de-go/</guid><description>&lt;p&gt;&lt;img class=" size-full wp-image-1901 alignright" src="https://antoniocortes.com/uploads/2015/04/goimg1910.png" alt="goimg1910" data-recalc-dims="1" /&gt;Siempre me ha gustado ver y probar diferentes tecnologías, y dentro de estas, como no, lenguajes de programación.&lt;/p&gt;
&lt;p&gt;Ejemplo de esto fue el uso intensivo que di en su momento, en Arrakis, a &lt;a href="http://www.rebol.com/"&gt;Rebol&lt;/a&gt; , un lenguaje multiplataforma interpretado, con todo lo que podías necesitar para realizar geniales scripts de limpieza de datos, en una sintaxis “extraña”, pero bella en su planteamiento.&lt;/p&gt;
&lt;p&gt;El caso de Go fue un poco diferente, porque al igual que me ocurrió con Angular, en su momento (hace varios años) traté de darle una oportunidad, pero toda la información y ejemplos que encontraba eran bloques de código “muy pequeño”, no veía en eso (a mirada de pájaro) que estuviese terminado, parecía un lenguaje más académico/conceptual que algo para su uso real.&lt;/p&gt;</description></item><item><title>Lista de recursos Go de la semana</title><link>https://antoniocortes.com/lista-de-recursos-go-de-la-semana/</link><pubDate>Mon, 06 Apr 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/lista-de-recursos-go-de-la-semana/</guid><description>&lt;p&gt;El primero es el muy sencillo, que no limitado, sistemas de interfaces de Go.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jordanorelli.com/post/32665860244/how-to-use-interfaces-in-go"&gt;How to use interfaces in Go&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;El segundo, que no menos importante, dejando bien claro y mostrando el código en C# vs Go.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://clipperhouse.com/2015/04/03/statements-are-statements-and-expressions-are-expressions-in-go/"&gt;Statements are statements, and expressions are expressions (in Go)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Como siempre necesitaremos algo de depuración:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.goinggo.net/2015/02/scheduler-tracing-in-go.html"&gt;Scheduler Tracing In Go&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Un proyecto, verde, pero prometedor, para (entre otros) ejecución distribuida:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.hyflow.org/hyflow-go/index.html"&gt;hyflow-go: A geo-replicated, main-memory, highly consistent datastore&lt;/a&gt;&lt;/p&gt;</description></item><item><title>StreamTools: Una herramienta para analizar streams</title><link>https://antoniocortes.com/streamtools-una-herramienta-para-analizar-streams/</link><pubDate>Thu, 02 Apr 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/streamtools-una-herramienta-para-analizar-streams/</guid><description>&lt;p&gt;Todos los días escuchamos hablar de Big Data, IoT, Smart Data, Machine Learning, semantic data, etc. Gran parte de las veces fuera de contexto o simplemente utilizadas porque “están de moda”.&lt;/p&gt;
&lt;p&gt;Uno de los mejores ejemplos es “Big Data”, donde se habla siempre de ingentes cantidades de información, que si sistemas, plataformas, consultas, pero con el error, desde mi punto de vista, de tomar eso como información, no, no es información, son datos, datos en bruto o datos tratados, la información es la que se extrae de esos datos. Se pierden muchas veces, con el termino “Big Data” en sólo la parte de guardar ingentes cantidades de datos, replicados y en volumenes astronómicos. Eso no es “Big Data” eso es sólo hablar de una parte, la más mecánica, y la que menos aporta a lo que se busca “Información”, es sólo “almacenaje y gestión de datos”, una pata de una mesa mucho más amplia.&lt;/p&gt;</description></item><item><title>Como ver si estás Logueado en WordPress desde Go</title><link>https://antoniocortes.com/como-ver-si-estas-logueado-en-wordpress-desde-go-golang/</link><pubDate>Wed, 25 Mar 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/como-ver-si-estas-logueado-en-wordpress-desde-go-golang/</guid><description>&lt;p&gt;Como prueba de concepto estoy haciendo una pequeña API en Golang que, en un Apache con mod_proxy, sirve ciertos contenidos a un WordPress.&lt;/p&gt;</description></item><item><title>Comparación React vs Angular</title><link>https://antoniocortes.com/comparacion-react-vs-angular/</link><pubDate>Tue, 17 Mar 2015 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/comparacion-react-vs-angular/</guid><description>&lt;p&gt;&lt;a href="https://www.airpair.com/angularjs/posts/angular-vs-react-the-tie-breaker"&gt;https://www.airpair.com/angularjs/posts/angular-vs-react-the-tie-breaker&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Stop DisplayLink driver flooding logs in OS X Yosemite</title><link>https://antoniocortes.com/stop-displaylink-driver-flooding-logs-in-yosemite/</link><pubDate>Sun, 14 Dec 2014 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/stop-displaylink-driver-flooding-logs-in-yosemite/</guid><description>&lt;p&gt;To stop logging messages, like that, on Syslog:&lt;/p&gt;
&lt;p&gt;14/12/14 10:38:24,521 WindowServer[235]: _CGXGLDisplayContextForDisplayDevice: No matching context for device (0x7fdf63610e10) – disabling&lt;/p&gt;</description></item><item><title>About ugly code</title><link>https://antoniocortes.com/about-ugly-code/</link><pubDate>Thu, 20 Nov 2014 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/about-ugly-code/</guid><description>&lt;blockquote&gt;
&lt;p&gt;If you write ugly code, anyone who intends to fix a bug or add a feature will not enjoy his work and likely avoid it next time.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bram Moolenaar&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Vim’s creator&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Desarrollar es algo más que sólo usar “componentes”</title><link>https://antoniocortes.com/desarrollar-es-algo-mas-solo-usar-componentes/</link><pubDate>Fri, 30 May 2014 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/desarrollar-es-algo-mas-solo-usar-componentes/</guid><description>&lt;p&gt;Una de las conversaciones concurrentes, en las tertulias delante de una cervecita, es la de la actual tendencia, por parte de gran parte de los “desarrolladores” de no realmente programar sobre las necesidades del cliente sino simplemente utilizar módulos/componentes/plugins/…&lt;/p&gt;
&lt;div id="attachment_1079" style="width: 310px" class="wp-caption aligncenter"&gt;
 &lt;img class="wp-image-1079 size-medium" src="https://i2.wp.com/www.antoniocortes.com/wp-content/uploads/2014/05/Hippo-I-320x241.jpg?resize=300%2C225" alt="uso de componentes" data-recalc-dims="1" /&gt;
 &lt;p class="wp-caption-text"&gt;
 El uso de componentes excesivos para necesidades muy simples
 &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Esto provoca que la solución final no es más que una amalgama de elementos, muchos de ellos que no fueron diseñados para esa función y otros que realmente no son necesarios,  que no hacen más que crear la sensación de que está solucionado todo pero,  como una solución “AS IS”. De estas de no tocarlas, porque no sabemos si algo puede fallar, ni como, ni porque.&lt;/p&gt;</description></item><item><title>Plantillas de Theme my Login personalizadas</title><link>https://antoniocortes.com/plantillas-de-theme-my-login-personalizadas/</link><pubDate>Thu, 23 Jan 2014 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/plantillas-de-theme-my-login-personalizadas/</guid><description>&lt;p&gt;&lt;a href="http://wordpress.org/plugins/theme-my-login/"&gt;Theme My Login&lt;/a&gt;, es un plugin que nos permite adaptar a nuestras necesidades todos los elementos relativos al: Registro, Entrada, … de un WordPress.&lt;/p&gt;
&lt;p&gt;Dentro de la carpeta del plugin encontramos las plantillas en la carpeta “templates”, como es de rigor, no debemos modificar esas plantillas, podemos copiarlas a el raiz de nuestra plantilla y ahí modificarlas, momento a partir del cual esas plantillas serán las utilizadas por nuestra web, sin que una actualización del plugin afecte a los cambios realizados.&lt;/p&gt;</description></item><item><title>Creación de un nuevo proyecto Laravel</title><link>https://antoniocortes.com/creacion-de-un-nuevo-proyecto-laravel/</link><pubDate>Mon, 20 Jan 2014 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/creacion-de-un-nuevo-proyecto-laravel/</guid><description>&lt;p&gt;En la carpeta donde queremos iniciar el proyecto:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /var/www/my-new-project
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;composer create-project laravel/laravel ./ --prefer-dist&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Firmas en Javascript</title><link>https://antoniocortes.com/firmas-en-javascript/</link><pubDate>Mon, 20 Jan 2014 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/firmas-en-javascript/</guid><description>&lt;p&gt;Si necesitamos crear firmas un sistema de captura de firmas y procesado en HTML, podemos utilizar la librería: &lt;a href="http://thomasjbradley.ca/lab/signature-pad/"&gt;signature-pad&lt;/a&gt;, una buena alternativa para crear webapps que requieran la digitalización de firmas, mediante el uso de canvas.&lt;/p&gt;</description></item><item><title>Integración de Node.js y PHP</title><link>https://antoniocortes.com/integracion-de-node-js-y-php/</link><pubDate>Mon, 20 Jan 2014 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/integracion-de-node-js-y-php/</guid><description>&lt;p&gt;En el siguiente artículo: &lt;a href="http://webandphp.com/IntegratingNode.jswithPHP"&gt;En el siguiente artículo&lt;/a&gt; , podemos ver varias formas de interactuar desde PHP con node.js, mediante websockets.&lt;/p&gt;
&lt;p&gt;El ejemplo es sobre nginx, algo de agradecer, cuando es el servidor web que utilizo para estos menesteres.&lt;/p&gt;</description></item><item><title>Como comprobar la validez de un EAN13</title><link>https://antoniocortes.com/como-comprobar-la-validez-de-un-ean13/</link><pubDate>Wed, 13 Mar 2013 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/como-comprobar-la-validez-de-un-ean13/</guid><description>&lt;p&gt;Los EAN13 están compuestos por 13 dígitos de los cuales el último es de &lt;em&gt;check&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Cocos2d x</title><link>https://antoniocortes.com/cocos2d-x/</link><pubDate>Sat, 15 Dec 2012 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/cocos2d-x/</guid><description>&lt;p&gt;A la hora de desarrollar juegos para dispositivos móviles disponemos de múltiples alternativas multiplataforma:&lt;/p&gt;</description></item><item><title>Compilar aplicaciones de Titanium Mobile desde línea de comandos</title><link>https://antoniocortes.com/compilar-aplicaciones-de-titanium-mobile-desde-linea-de-comandos/</link><pubDate>Thu, 02 Feb 2012 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/compilar-aplicaciones-de-titanium-mobile-desde-linea-de-comandos/</guid><description>&lt;p&gt;Cada uno tiene sus preferencias a la hora de editar código. Por ejemplo, para PHP utilizo Netbeans, para html Textmate, …&lt;/p&gt;</description></item><item><title>Esperando la nueva versión de Notability</title><link>https://antoniocortes.com/esperando-la-nueva-version-de-notability/</link><pubDate>Thu, 02 Feb 2012 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/esperando-la-nueva-version-de-notability/</guid><description>&lt;p&gt;Siempre he utilizado bolígrafo y papel para tomar notas, transformando mi mochila en una colección de libretas y blocs de todos los tamaños y colores.&lt;/p&gt;
&lt;p&gt;Esto ha sido así hasta que encontré varias aplicaciones, para el iPad, que permitían hacer lo mismo, escribir sobre el iPad, como si de un papel se tratase.&lt;/p&gt;
&lt;p&gt;Tras mucho buscar y probar, al final me quedo con &lt;a href="http://gingerlabs.com/cont/notability.php"&gt;Notability&lt;/a&gt;, ya que permite, además de escribir a mano, insertar imágenes, capturas de web, figuras, … y con un precio de 0’79€, increíble.&lt;/p&gt;</description></item><item><title>Estilos sólo para Ipad</title><link>https://antoniocortes.com/estilos-solo-para-ipad/</link><pubDate>Thu, 02 Feb 2012 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/estilos-solo-para-ipad/</guid><description>&lt;p&gt;Si se desea aplicar unos estilos CSS sólo para el Ipad, se puede hacer&lt;/p&gt;</description></item><item><title>Nuevas redes inalámbricas, nuevos retos para las “telecos”</title><link>https://antoniocortes.com/nuevas-redes-nuevos-retos/</link><pubDate>Sat, 29 Oct 2011 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/nuevas-redes-nuevos-retos/</guid><description>&lt;p&gt;Interesante artículo de como las empresas de telecomunicaciones deben afrontar las nuevas formas inalámbricas de conectarse a Internet.&lt;/p&gt;</description></item><item><title>El extraño caso de los rankings</title><link>https://antoniocortes.com/el-extrano-caso-de-los-rankings/</link><pubDate>Mon, 04 Jul 2011 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/el-extrano-caso-de-los-rankings/</guid><description>&lt;p&gt;Está más que visto que los más grandes ningunean a los pequeños, pero eso no quita que hay momentos en los que lo hacen dando información falsa y un enlace a la verdadera.&lt;/p&gt;</description></item><item><title>Aplicaciones Facebook sobre SSL</title><link>https://antoniocortes.com/aplicaciones-facebook-sobre-ssl/</link><pubDate>Wed, 13 Apr 2011 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/aplicaciones-facebook-sobre-ssl/</guid><description>&lt;p&gt;Hace unos días Facebook ha empezado a mostrar mensajes de error cuando se accedía a aplicaciones desde https, estando disponible para los desarrolladores, en la configuración de la aplicación, dos nuevos campos, para indicar las urls seguras (sobre https).&lt;/p&gt;</description></item><item><title>Optimizar las aplicaciones de Facebook más allá del código</title><link>https://antoniocortes.com/optimizar-las-aplicaciones-de-facebook-mas-alla-del-codigo/</link><pubDate>Sun, 13 Mar 2011 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/optimizar-las-aplicaciones-de-facebook-mas-alla-del-codigo/</guid><description>&lt;p&gt;El desarrollo de aplicaciones para Facebook nos requiere una especial optimización de estas para que funcionen en base a dos premisas muy importantes: Seguridad y rapidez.&lt;/p&gt;</description></item><item><title>¿ Lentitud en IIS con FastCGI y PHP ?</title><link>https://antoniocortes.com/%c2%bf-lentitud-en-iis-con-fastcgi-y-php/</link><pubDate>Sat, 05 Mar 2011 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/%c2%bf-lentitud-en-iis-con-fastcgi-y-php/</guid><description>&lt;p&gt;Mediante &lt;a href="http://www.iis.net/download/fastcgi"&gt;FastCGI para IIS&lt;/a&gt; podemos tener soporte para PHP sobre el servidor de Microsoft para Windows (IIS).&lt;/p&gt;</description></item><item><title>Implementar Haanga como sistema de plantillas para OpenCart</title><link>https://antoniocortes.com/implementar-haanga-como-sistema-de-plantillas-para-opencart/</link><pubDate>Sun, 31 Oct 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/implementar-haanga-como-sistema-de-plantillas-para-opencart/</guid><description>&lt;p&gt;&lt;a href="http://www.opencart.com/"&gt;OpenCart&lt;/a&gt; es una plataforma de comercio electrónica hecha en php, con un desarrollo impecable, 100% MVC. Como prueba de concepto he reescrito el sistema de plantillas de &lt;a href="http://www.opencart.com/"&gt;OpenCart&lt;/a&gt; a &lt;a href="http://github.com/crodas/Haanga"&gt;Haanga&lt;/a&gt; (plantillas “Django” para PHP, über eficiente) de &lt;a href="http://crodas.org/"&gt;César Rodas&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Encuentro Viral 2</title><link>https://antoniocortes.com/encuentro-viral-2/</link><pubDate>Wed, 13 Oct 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/encuentro-viral-2/</guid><description>&lt;p&gt;El próximo 23 de octubre, sábado, por la tarde, quien le apetezca puede pasarse por la sala de usos múltiples del Ayuntamiento de El Madroño (Sevilla) para charlar sobre las posibilidades abiertas por la Red para el cuidado de la salud y el ejercicio de los derechos ciudadanos.&lt;/p&gt;
&lt;p&gt;Yo daré una charla sobre &lt;a href="http://www.encuentroviral.es/EV.2/ponencia/internet-y-mundo-rural"&gt;Internet y mundo rural&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Noticia en Synaptica: &lt;a href="http://www.synaptica.es/noticia/encuentro-viral-sobre-internet-salud-y-comunidad-rural"&gt;Encuentro Viral sobre Internet, salud y comunidad rural&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Información del Evento: &lt;a href="http://www.encuentroviral.es/EV.2/index"&gt;Encuentro Viral 2&lt;/a&gt;&lt;/p&gt;</description></item><item><title>PHP-FPM sobre Ubuntu 8.10</title><link>https://antoniocortes.com/php-fpm-sobre-ubuntu-8-10/</link><pubDate>Wed, 05 May 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/php-fpm-sobre-ubuntu-8-10/</guid><description>&lt;p&gt;Tomada la decisión de sólo desarrollar, en el caso de PHP, para la familia 5.3 o superior.&lt;/p&gt;</description></item><item><title>Singleton para PHP 5.3, y parche para 5.2</title><link>https://antoniocortes.com/singleton-para-php-5-3-y-parche-para-5-2/</link><pubDate>Wed, 05 May 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/singleton-para-php-5-3-y-parche-para-5-2/</guid><description>&lt;p&gt;Mediante esta clase abstracta de php podremos crear nuestras clases simplemente extendiendo esta clase&lt;/p&gt;</description></item><item><title>Twig, el sistema de plantillas definitivo</title><link>https://antoniocortes.com/twig-el-sistema-de-plantillas-definitivo/</link><pubDate>Mon, 03 May 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/twig-el-sistema-de-plantillas-definitivo/</guid><description>&lt;p&gt;Siempre he sido muy receloso a la hora de utilizar un sistema de plantillas para PHP, pero la llegada de &lt;a href="http://www.twig-project.org/"&gt;Twig&lt;/a&gt; ha sido todo un acontecimiento.&lt;/p&gt;</description></item><item><title>Nuevo diseño, nuevo planteamiento</title><link>https://antoniocortes.com/nuevo-diseno-nuevo-planteamiento/</link><pubDate>Sat, 03 Apr 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/nuevo-diseno-nuevo-planteamiento/</guid><description>&lt;p&gt;Ya tocaba cambiar un poco mi web.&lt;/p&gt;
&lt;p&gt;Poco a poco irá cogiendo forma, y en ella iré poniendo todos los proyectos en los que trabajo, mi portfolio, y mi colección de código que he ido creando o recopilando en los últimos años, que no son pocos.&lt;/p&gt;</description></item><item><title>Actualización claves GPG repositorios Ubuntu</title><link>https://antoniocortes.com/actualizacion-claves-gpg-repositorios-ubuntu/</link><pubDate>Sat, 09 Jan 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/actualizacion-claves-gpg-repositorios-ubuntu/</guid><description>&lt;p&gt;Algunas veces es posible que debamos actualizar las claves públicas de algunos repositorios de Ubuntu. Un síntoma es el siguiente error:&lt;/p&gt;</description></item><item><title>¿ Quién se la cuela a quién ?</title><link>https://antoniocortes.com/%c2%bf-quien-se-la-cuela-a-quien/</link><pubDate>Mon, 04 Jan 2010 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/%c2%bf-quien-se-la-cuela-a-quien/</guid><description>&lt;p&gt;En la web de El Mundo, tenemos un  artículo con un titular que dice: “&lt;a href="http://www.elmundo.es/elmundo/2010/01/04/union_europea/1262610678.html"&gt;Mr. Bean ‘se cuela’ en la web oficial de la presidencia española&lt;/a&gt;“.&lt;/p&gt;
&lt;p&gt;Este artículo, sin duda, es un ejemplo de la falta de rigor, y amarillismo “tecnológico” que nos inunda.&lt;/p&gt;</description></item><item><title>Iconos para desarrolladores de Android</title><link>https://antoniocortes.com/iconos-para-desarrolladores-de-android/</link><pubDate>Sun, 08 Nov 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/iconos-para-desarrolladores-de-android/</guid><description>&lt;p&gt;WebAppers, nos ofrece 30 iconos, y sus fuentes para los desarrolladores de esta plataforma.&lt;/p&gt;</description></item><item><title>Wp-Answers por aNieto2k</title><link>https://antoniocortes.com/wp-answers-por-anieto2k/</link><pubDate>Sun, 08 Nov 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/wp-answers-por-anieto2k/</guid><description>&lt;p&gt;aNieto2K ha creado un fabuloso plugin para wordpress que permite crear comunidades basadas en preguntas y respuestas.&lt;/p&gt;
&lt;p&gt;Más información en: &lt;a href="http://www.anieto2k.com/2009/11/07/wp-answers-crea-una-comunidad-de-preguntas-y-respuestas-con-wordpress/"&gt;aNieto2k&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Imágenes generadas por ordenador</title><link>https://antoniocortes.com/impresionantes-ejemplos-en-imagenes-generadas-por-ordenador/</link><pubDate>Tue, 28 Jul 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/impresionantes-ejemplos-en-imagenes-generadas-por-ordenador/</guid><description>&lt;p&gt;&lt;a href="http://abduzeedo.com/amazing-realistic-3d-computer-graphics"&gt;Paulo Antunes&lt;/a&gt; en abduzeedo nos muestra varios ejemplos de imágenes “sintéticas” que ha visto en su visita a la &lt;a href="http://www.cgsociety.org/"&gt;Computer Graphics Society&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ampliar: &lt;a href="http://abduzeedo.com/amazing-realistic-3d-computer-graphics"&gt;Ver otras imágenes seleccionadas por Paulo&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Nueva vida, nuevos retos</title><link>https://antoniocortes.com/nueva-vida/</link><pubDate>Fri, 29 May 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/nueva-vida/</guid><description>&lt;p&gt;Hoy es un día de cambios, será el día 0 de un gran cambio.&lt;/p&gt;</description></item><item><title>Tutoriales de After Effects</title><link>https://antoniocortes.com/tutoriales-de-after-effects/</link><pubDate>Fri, 22 May 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/tutoriales-de-after-effects/</guid><description>&lt;p&gt;La gente de &lt;a href="http://filmmakeriq.com"&gt;FilmMakerIQ.com&lt;/a&gt; ha creado una impresionante lista con &lt;a href="http://filmmakeriq.com/general/featured/1001-adobe-after-effects-tutorials.html"&gt;1001 tutoriales de After Effects&lt;/a&gt;. Ahora toca conseguir un poco de tiempo para ver todos los tutoriales.&lt;/p&gt;</description></item><item><title>Ver las 10 IPs con más acceso</title><link>https://antoniocortes.com/ver-las-10-ips-con-mas-acceso/</link><pubDate>Fri, 15 May 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/ver-las-10-ips-con-mas-acceso/</guid><description>&lt;p&gt;Una “receta” para tener a mano:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat fichero.log  &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="se"&gt;\ &lt;/span&gt;awk &lt;span class="s1"&gt;&amp;#39;{print $1}&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="se"&gt;\ &lt;/span&gt;sort &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="se"&gt;\ &lt;/span&gt;uniq -c &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="se"&gt;\ &lt;/span&gt;sort -n &lt;span class="p"&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="se"&gt;\ &lt;/span&gt;tail -10&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Ahora toca el vídeo</title><link>https://antoniocortes.com/ahora-toca-el-video/</link><pubDate>Tue, 12 May 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/ahora-toca-el-video/</guid><description>&lt;p&gt;Acabo de adquirir una cuenta &lt;a href="http://www.vimeo.com/drzippie"&gt;“plus” en Vimeo&lt;/a&gt;.  Esto me permitirá, de la misma forma que Flickr, subir hasta 5 GB a la semana de vídeos, sin limitaciones en si son HD o no.&lt;/p&gt;
&lt;p&gt;Ahora empezaré a montar los vídeos y aprovecharé la increible música &lt;a href="http://www.jamendo.com/en/albums?license_class=cc_standard&amp;amp;license_maxrights=sa&amp;amp;license_minrights=by&amp;#43;c&amp;#43;d"&gt;CC&lt;/a&gt; existente para utilizar como base de los vídeos.&lt;/p&gt;</description></item><item><title>European Accessibility Forum</title><link>https://antoniocortes.com/videos-del-european-accessibility-forum-ingles/</link><pubDate>Tue, 05 May 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/videos-del-european-accessibility-forum-ingles/</guid><description>&lt;p&gt;En la siguiente dirección &lt;a href="http://vimeo.com/channels/eafraen"&gt;http://vimeo.com/channels/eafraen&lt;/a&gt; están disponibles los vídeos del &lt;strong&gt;European Accessibility Forum.&lt;/strong&gt; Son altamente recomendables, sobre todos los relativos a como amortizar los costes y la importancia de estos.&lt;/p&gt;</description></item><item><title>Que hacer ante un desastre</title><link>https://antoniocortes.com/que-hacer-ante-un-desastre/</link><pubDate>Mon, 23 Mar 2009 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/que-hacer-ante-un-desastre/</guid><description>&lt;p&gt;Siempre he dicho: ” &lt;em&gt;hay dos tipos de personas: Los que han perdido datos y los que aún no&lt;/em&gt;“.  Ante este panorama tratamos de hacer todo lo que está en nuestra mano para salvaguardar toda la información que tenemos en los ordenadores de la forma más segura.&lt;/p&gt;</description></item><item><title>Entre manos</title><link>https://antoniocortes.com/entre-mano/</link><pubDate>Mon, 22 Sep 2008 00:00:00 +0000</pubDate><guid>https://antoniocortes.com/entre-mano/</guid><description>&lt;p&gt;Últimamente estoy liado estudiando y probando diferentes librerías y recursos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://extjs.com/"&gt;ExtJS&lt;/a&gt;:  Javascript.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.cakephp.org"&gt;CakePHP&lt;/a&gt;:  PHP.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/joose-js/"&gt;Joose&lt;/a&gt;:  Javascript.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.imatia.com/ontimize"&gt;Ontimize&lt;/a&gt;: Java.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.yahoo.com/yui/"&gt;Yahoo UI Library&lt;/a&gt;: Javascript.&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Son muchos los ejemplos, trucos y “recetas” que tengo para cada uno de estos y los iré publicando para tenerlas ordenadas y localizadas y también por que seguramente serán de utilidad a otros.&lt;/p&gt;</description></item></channel></rss>