<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Ivens Signorini</title><link>https://signorini.cloud/es/blog/</link><description>Recent content in Blog on Ivens Signorini</description><generator>Hugo</generator><language>es-ES</language><lastBuildDate>Wed, 17 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://signorini.cloud/es/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>MCP Servers: el protocolo que le dio manos a la IA</title><link>https://signorini.cloud/es/blog/mcp-servers/</link><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><guid>https://signorini.cloud/es/blog/mcp-servers/</guid><description>&lt;p&gt;Los modelos de IA son extraordinarios razonando. Son pésimos actuando — o al menos lo eran, hasta que tuvieron una forma estandarizada de extenderse hacia el exterior. MCP es esa forma.&lt;/p&gt;&#10;&lt;h2 id="el-problema-antes-de-mcp"&gt;El problema antes de MCP&lt;/h2&gt;&#10;&lt;p&gt;En 2023, si querías que un LLM leyera un archivo, consultara una base de datos o llamara a una API, escribías código glue personalizado. Cada equipo reinventaba la misma rueda: una capa delgada que serializaba el contexto, lo pasaba al modelo, parseaba las llamadas a herramientas de la respuesta, las ejecutaba y devolvía los resultados. No había estándar. Cada integración era un caso aislado.&lt;/p&gt;</description></item><item><title>Cuando la web no es suficiente: el protocolo bridge de Wails</title><link>https://signorini.cloud/es/blog/when-the-web-isnt-enough-the-wails-bridge-protocol/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><guid>https://signorini.cloud/es/blog/when-the-web-isnt-enough-the-wails-bridge-protocol/</guid><description>&lt;h2 id="la-web-ganó--excepto-donde-no-lo-hizo"&gt;La web ganó — excepto donde no lo hizo&lt;/h2&gt;&#10;&lt;p&gt;Para la mayoría del software, el navegador es la respuesta correcta. Una app web no instala nada, se actualiza sola, funciona en todos los sistemas operativos y te permite construir la interfaz con el ecosistema front-end más rico y mejor dotado de herramientas del mundo. Si &lt;em&gt;puedes&lt;/em&gt; lanzar una app web, generalmente deberías hacerlo.&lt;/p&gt;&#10;&lt;p&gt;Pero el navegador es una sandbox, y esa sandbox tiene muros. Existen por buenas razones — una página web aleatoria no debería poder leer el flujo de loopback crudo de tu micrófono, abrir archivos arbitrarios, hablar con un dispositivo USB, o ejecutar un ciclo numérico ajustado que bloquee un core de CPU. Las mismas restricciones que hacen que la web sea segura para navegar la convierten en la herramienta equivocada para toda una clase de programas.&lt;/p&gt;</description></item><item><title>Lo que los sistemas distribuidos me enseñaron sobre los compromisos</title><link>https://signorini.cloud/es/blog/on-distributed-systems/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://signorini.cloud/es/blog/on-distributed-systems/</guid><description>&lt;p&gt;Todo sistema distribuido es una negociación. No se construye una máquina que siempre funciona — se decide, deliberadamente, cómo falla.&lt;/p&gt;&#10;&lt;h2 id="el-problema"&gt;El problema&lt;/h2&gt;&#10;&lt;p&gt;Los ingenieros que provienen de entornos de nodo único tienden a tratar la distribución como un detalle de despliegue. Se escribe el servicio, se containeriza, se escala horizontalmente, y se asume que el comportamiento se mantiene igual. No es así. Las llamadas de red fallan silenciosamente. Los relojes se desvían. Los nodos se detienen en mitad de una escritura. En el momento en que hay más de una máquina, se tiene un sistema que puede estar en desacuerdo consigo mismo — y se necesita una posición sobre qué hacer cuando ocurre.&lt;/p&gt;</description></item><item><title>Interfaces en Go: lo pequeño es hermoso</title><link>https://signorini.cloud/es/blog/go-interfaces/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://signorini.cloud/es/blog/go-interfaces/</guid><description>&lt;p&gt;Si vienes de Java o C#, el instinto es diseñar interfaces grandes y hacer que los tipos las implementen. Go invierte esto por completo — y esa inversión es el punto central.&lt;/p&gt;&#10;&lt;h2 id="el-problema"&gt;El problema&lt;/h2&gt;&#10;&lt;p&gt;La mayoría de los lenguajes tratan las interfaces como contratos que se declaran de antemano. Defines &lt;code&gt;interface IUserRepository&lt;/code&gt; con doce métodos, y cada tipo que quiera ser un repositorio debe implementarlos explícitamente todos. El acoplamiento está incorporado en el momento de la definición, no en el momento del uso.&lt;/p&gt;</description></item></channel></rss>