<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Tu codigo cotidiano</title>
    <description>The latest articles on Forem by Tu codigo cotidiano (@tu_codigocotidiano_f173d).</description>
    <link>https://forem.com/tu_codigocotidiano_f173d</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3375057%2Ffa90e872-13fe-4a57-b3d6-e75515a50879.png</url>
      <title>Forem: Tu codigo cotidiano</title>
      <link>https://forem.com/tu_codigocotidiano_f173d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tu_codigocotidiano_f173d"/>
    <language>en</language>
    <item>
      <title>View Transitions API: matemáticas de interpolación para transiciones entre páginas SPA</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Fri, 17 Apr 2026 00:30:33 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/view-transitions-api-matematicas-de-interpolacion-para-transiciones-entre-paginas-spa-24gn</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/view-transitions-api-matematicas-de-interpolacion-para-transiciones-entre-paginas-spa-24gn</guid>
      <description>&lt;p&gt;La mayoría de explicaciones sobre View Transitions API se quedan en la superficie: “sirve para animar páginas”. En este artículo propongo un enfoque más preciso y mucho más útil para desarrolladores frontend: entenderla como una interpolación entre estados visuales del DOM.&lt;/p&gt;

&lt;p&gt;La guía recorre la idea desde cinco capas: modelo mental, base matemática intuitiva, pipeline interno del navegador, valor real en SPA y variables perceptuales como posición, escala, opacidad y easing. El objetivo no es solo mostrar una API bonita, sino ofrecer un criterio técnico para pensar continuidad visual en interfaces web.&lt;/p&gt;

&lt;p&gt;Artículo completo:&lt;br&gt;
&lt;a href="https://tucodigocotidiano.yarumaltech.com/leer_guias/view-transitions-api-matematicas-de-interpolacion-para-transiciones-entre-paginas-spa/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/leer_guias/view-transitions-api-matematicas-de-interpolacion-para-transiciones-entre-paginas-spa/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dfamhfmupl82hqamufv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dfamhfmupl82hqamufv.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Kubernetes: ¿realmente lo necesitas o solo estás agregando complejidad?</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Tue, 14 Apr 2026 13:39:02 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/kubernetes-realmente-lo-necesitas-o-solo-estas-agregando-complejidad-iha</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/kubernetes-realmente-lo-necesitas-o-solo-estas-agregando-complejidad-iha</guid>
      <description>&lt;p&gt;Publiqué un nuevo episodio en Tu código cotidiano sobre una de esas decisiones técnicas que muchas veces se toman por prestigio y no por necesidad real:&lt;/p&gt;

&lt;p&gt;usar Kubernetes.&lt;/p&gt;

&lt;p&gt;Kubernetes puede ser increíble cuando el problema lo justifica.&lt;br&gt;
Pero también puede convertirse en una capa enorme de complejidad operativa si tu sistema todavía no está en ese punto.&lt;/p&gt;

&lt;p&gt;En este episodio explico:&lt;/p&gt;

&lt;p&gt;qué hace Kubernetes de verdad&lt;br&gt;
por qué tanta gente lo adopta antes de tiempo&lt;br&gt;
cuándo sí vale la pena&lt;br&gt;
y cómo pensar la decisión desde costo operativo versus valor real&lt;/p&gt;

&lt;p&gt;Si trabajas en software, backend, infraestructura o despliegues, creo que este episodio te va a gustar porque intenta responder la pregunta sin humo y sin fanatismo.&lt;/p&gt;

&lt;p&gt;🎧 Escúchalo aquí: &lt;a href="https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/kubernetes-solucion-escalable-o-exceso-de-ingenieria/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/kubernetes-solucion-escalable-o-exceso-de-ingenieria/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6vnkd90oqp4biyd9qmcf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6vnkd90oqp4biyd9qmcf.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>devops</category>
      <category>backend</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Construye una analítica web zero-tracking con JavaScript puro, Rust y SQLite</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Mon, 13 Apr 2026 13:26:08 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/construye-una-analitica-web-zero-tracking-con-javascript-puro-rust-y-sqlite-3kg6</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/construye-una-analitica-web-zero-tracking-con-javascript-puro-rust-y-sqlite-3kg6</guid>
      <description>&lt;p&gt;Publiqué una nueva guía en TuCodigoCotidiano sobre un tema que me parece cada vez más importante: cómo medir una web sin convertir la analítica en rastreo.&lt;/p&gt;

&lt;p&gt;Construí un sistema “zero-tracking” con JS puro y Rust que registra pageviews reales, persiste eventos en SQLite, soporta SPA y expone un dashboard mínimo.&lt;/p&gt;

&lt;p&gt;Sin cookies.&lt;br&gt;
Sin identificadores persistentes.&lt;br&gt;
Sin plataformas externas.&lt;br&gt;
Sin complejidad innecesaria.&lt;/p&gt;

&lt;p&gt;Me gusta este enfoque porque demuestra algo clave: muchas veces no necesitas saber quién es el usuario; necesitas entender qué ocurrió, en qué ruta ocurrió y cómo validarlo técnicamente.&lt;/p&gt;

&lt;p&gt;Te dejo la guía aquí:&lt;br&gt;
&lt;a href="https://tucodigocotidiano.yarumaltech.com/leer_tutoriales/analitica-web-zero-tracking-construye-tu-propio-sistema-en-js-puro-y-rust-sin-cookies-ni-identificadores/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/leer_tutoriales/analitica-web-zero-tracking-construye-tu-propio-sistema-en-js-puro-y-rust-sin-cookies-ni-identificadores/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdveyn0exuctsezil0l9z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdveyn0exuctsezil0l9z.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>javascript</category>
      <category>privacybydesign</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Hacking ético: pensar como el atacante para defender mejor tu código</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Fri, 10 Apr 2026 15:15:50 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/hacking-etico-pensar-como-el-atacante-para-defender-mejor-tu-codigo-5gj5</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/hacking-etico-pensar-como-el-atacante-para-defender-mejor-tu-codigo-5gj5</guid>
      <description>&lt;p&gt;Publiqué un nuevo episodio en Tu código cotidiano sobre una idea clave para cualquiera que construya software:&lt;/p&gt;

&lt;p&gt;si no entiendes cómo podría romperse un sistema, te costará mucho protegerlo de verdad.&lt;/p&gt;

&lt;p&gt;Eso no significa promover daño.&lt;br&gt;
Significa adoptar una mentalidad de revisión más dura, más honesta y más útil.&lt;/p&gt;

&lt;p&gt;En este episodio explico:&lt;/p&gt;

&lt;p&gt;por qué pensar como atacante mejora la defensa&lt;br&gt;
cómo cambia la forma de ver una aplicación cuando piensas en superficie de ataque&lt;br&gt;
por qué las entradas, permisos, errores y decisiones de arquitectura importan tanto&lt;br&gt;
y cómo el hacking ético ayuda a escribir software más robusto&lt;/p&gt;

&lt;p&gt;Es un episodio pensado para desarrolladores, gente de backend, personas interesadas en seguridad y cualquiera que quiera mejorar su criterio técnico.&lt;/p&gt;

&lt;p&gt;🎧 Escúchalo aquí:&lt;br&gt;
&lt;a href="https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/hacking-etico-como-pensar-como-el-atacante-para-defender-tu-codigo/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/hacking-etico-como-pensar-como-el-atacante-para-defender-tu-codigo/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wbifsc2s66p4e60tk2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3wbifsc2s66p4e60tk2y.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>securecoding</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>JavaScript Generators, Iterators, and function*: Pausing Execution Without Magic</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Thu, 09 Apr 2026 14:51:36 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/javascript-generators-iterators-and-function-pausing-execution-without-magic-56e3</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/javascript-generators-iterators-and-function-pausing-execution-without-magic-56e3</guid>
      <description>&lt;p&gt;Most explanations of function* stay at the syntax level. That’s the problem.&lt;/p&gt;

&lt;p&gt;In this article, I break down the real difference between iterables, iterators, and generators in JavaScript, then connect yield and next() to a much stronger mental model: finite state machines.&lt;/p&gt;

&lt;p&gt;You’ll see why generators are not automatic async behavior, not concurrency, and not “magic functions,” but a precise way to pause execution, preserve context, and resume a sequence on demand.&lt;/p&gt;

&lt;p&gt;If you want to understand generators beyond memorizing syntax, this guide is for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tucodigocotidiano.yarumaltech.com/leer_guias/generadores-function-e-iteradores-pausando-la-ejecucion-y-maquinas-de-estado-finito/#comments" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/leer_guias/generadores-function-e-iteradores-pausando-la-ejecucion-y-maquinas-de-estado-finito/#comments&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feagzk3yp5pidrf17mxhe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feagzk3yp5pidrf17mxhe.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Concurrencia vs Paralelismo: no son lo mismo y esta diferencia importa de verdad</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Wed, 08 Apr 2026 15:42:36 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/concurrencia-vs-paralelismo-no-son-lo-mismo-y-esta-diferencia-importa-de-verdad-26a8</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/concurrencia-vs-paralelismo-no-son-lo-mismo-y-esta-diferencia-importa-de-verdad-26a8</guid>
      <description>&lt;p&gt;Publiqué un nuevo episodio en Tu código cotidiano sobre una de esas diferencias que parecen teóricas… hasta que empiezan a cambiar cómo diseñas software de verdad:&lt;/p&gt;

&lt;p&gt;concurrencia vs paralelismo.&lt;/p&gt;

&lt;p&gt;Mucha gente las usa como si fueran sinónimos, pero no lo son.&lt;/p&gt;

&lt;p&gt;En este episodio explico:&lt;/p&gt;

&lt;p&gt;por qué la concurrencia tiene más que ver con la organización de tareas&lt;br&gt;
por qué el paralelismo tiene que ver con ejecución simultánea real&lt;br&gt;
cómo se relacionan&lt;br&gt;
y por qué entender esta distinción mejora tu intuición sobre sistemas, rendimiento y arquitectura&lt;/p&gt;

&lt;p&gt;Si trabajas con programación, sistemas distribuidos, rendimiento o simplemente quieres pensar mejor cómo se ejecuta el software, creo que este episodio te va a gustar.&lt;/p&gt;

&lt;p&gt;🎧 Escúchalo aquí:&lt;br&gt;
&lt;a href="https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/concurrencia-vs-paralelismo-no-son-lo-mismo-y-te-explicamos-por-que/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/concurrencia-vs-paralelismo-no-son-lo-mismo-y-te-explicamos-por-que/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2zow3c28meoblz59aph.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy2zow3c28meoblz59aph.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>softwareengineering</category>
      <category>concurrency</category>
      <category>parallelism</category>
    </item>
    <item>
      <title>WebRTC y HTML: la arquitectura real detrás de una videollamada P2P</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Tue, 07 Apr 2026 18:47:29 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/webrtc-y-html-la-arquitectura-real-detras-de-una-videollamada-p2p-5gb1</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/webrtc-y-html-la-arquitectura-real-detras-de-una-videollamada-p2p-5gb1</guid>
      <description>&lt;p&gt;Muchísima gente aprende WebRTC con un modelo mental incompleto: creen que una videollamada es básicamente “poner dos videos y conectarlos”.&lt;/p&gt;

&lt;p&gt;Ese enfoque parece suficiente al principio, hasta que aparece la realidad:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la pantalla remota queda negra&lt;/li&gt;
&lt;li&gt;los peers no conectan&lt;/li&gt;
&lt;li&gt;ICE no completa&lt;/li&gt;
&lt;li&gt;el flujo local existe, pero el remoto nunca llega&lt;/li&gt;
&lt;li&gt;o HTML termina cargando una culpa que en realidad pertenece a signaling o conectividad&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La idea clave es esta:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;WebRTC no empieza cuando ves el video. Empieza antes, en una fase de negociación y descubrimiento de conectividad.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  El error mental más común
&lt;/h2&gt;

&lt;p&gt;Confundir en un solo bloque cosas que viven en capas distintas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML&lt;/strong&gt; muestra el flujo&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MediaStream&lt;/strong&gt; representa medios capturados o recibidos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RTCPeerConnection&lt;/strong&gt; negocia y transporta&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SDP&lt;/strong&gt; describe la sesión&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ICE&lt;/strong&gt; busca rutas viables&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;STUN/TURN&lt;/strong&gt; ayudan a resolver conectividad en internet real&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cuando eso no está claro, depurar una llamada se vuelve frustrante porque todo parece “problema de video”, cuando muchas veces el fallo ocurrió antes del render.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tres ideas que cambian por completo cómo entiendes WebRTC
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. HTML no transmite el video
&lt;/h3&gt;

&lt;p&gt;El elemento &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; no negocia la llamada ni descubre rutas de red.&lt;br&gt;&lt;br&gt;
Solo materializa en la interfaz un flujo que el navegador ya pudo capturar o recibir.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Una pantalla negra casi nunca significa “falló el video”
&lt;/h3&gt;

&lt;p&gt;Muchas veces significa que falló algo anterior:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la oferta&lt;/li&gt;
&lt;li&gt;la respuesta&lt;/li&gt;
&lt;li&gt;los candidatos ICE&lt;/li&gt;
&lt;li&gt;la selección de ruta&lt;/li&gt;
&lt;li&gt;o la asociación final del stream al DOM&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Peer-to-peer no significa “sin infraestructura”
&lt;/h3&gt;

&lt;p&gt;Aunque el medio pueda terminar fluyendo entre peers, antes suele hacer falta:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;signaling&lt;/li&gt;
&lt;li&gt;descubrimiento de conectividad&lt;/li&gt;
&lt;li&gt;y a veces TURN como relevo&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Entonces, ¿cómo conviene pensar WebRTC?
&lt;/h2&gt;

&lt;p&gt;No como “dos videos conectados”.&lt;/p&gt;

&lt;p&gt;Sino como una arquitectura con capas separadas:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;captura local
&lt;/li&gt;
&lt;li&gt;negociación
&lt;/li&gt;
&lt;li&gt;conectividad
&lt;/li&gt;
&lt;li&gt;transporte de medios
&lt;/li&gt;
&lt;li&gt;render en HTML
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ese cambio de modelo mental hace que WebRTC deje de parecer magia y empiece a verse como sistema.&lt;/p&gt;

&lt;h2&gt;
  
  
  Guía completa
&lt;/h2&gt;

&lt;p&gt;Si quieres ver esta arquitectura explicada paso a paso, con el papel exacto de HTML, el handshake real, SDP, ICE, STUN/TURN y una separación clara entre interfaz, lógica del peer y señalización, aquí está la guía completa:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tucodigocotidiano.yarumaltech.com/leer_guias/webrtc-y-html-arquitectura-real-de-la-transmision-de-video-p2p/" rel="noopener noreferrer"&gt;Leer la guía completa&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webrtc</category>
      <category>html</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Deception Mesh: construyendo un MVP de telemetría defensiva en Rust con honeypots HTTP/SSH</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Mon, 06 Apr 2026 14:44:34 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/deception-mesh-construyendo-un-mvp-de-telemetria-defensiva-en-rust-con-honeypots-httpssh-4jpm</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/deception-mesh-construyendo-un-mvp-de-telemetria-defensiva-en-rust-con-honeypots-httpssh-4jpm</guid>
      <description>&lt;p&gt;Acabo de publicar Deception Mesh, un proyecto open source en Rust orientado a capturar actividad sospechosa temprana usando sensores señuelo distribuidos.&lt;/p&gt;

&lt;p&gt;La motivación del proyecto nace de un problema muy concreto: muchas señales tempranas de reconocimiento o exploración ofensiva se pierden entre logs dispersos o carecen de contexto suficiente para triage. Un simple HEAD /login, una solicitud a /wp-login.php o un intento SSH inválido rara vez parecen “grandes eventos”, pero sí pueden ser el primer indicio útil.&lt;/p&gt;

&lt;p&gt;En este MVP trabajé sobre una arquitectura simple y reproducible:&lt;/p&gt;

&lt;p&gt;sensor agent con honeypots HTTP y SSH&lt;br&gt;
control plane con autenticación, RBAC y gestión multi-tenant&lt;br&gt;
persistencia en PostgreSQL&lt;br&gt;
severidad por reglas&lt;br&gt;
webhooks y exportación CSV&lt;br&gt;
quickstart y scripts E2E con Docker&lt;/p&gt;

&lt;p&gt;Algo importante para mí fue no sobreprometer: lo presento como un MVP funcional, documentado y honesto respecto a sus límites actuales de hardening.&lt;/p&gt;

&lt;p&gt;Si te interesa Rust, seguridad defensiva, telemetría operativa o diseño de sistemas reproducibles, aquí está la landing pública del proyecto:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tucodigocotidiano.yarumaltech.com/proyectos/deception-mesh/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/proyectos/deception-mesh/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonuetwf5bujuszo8rsy6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fonuetwf5bujuszo8rsy6.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>cybersecurity</category>
      <category>opensource</category>
      <category>backend</category>
    </item>
    <item>
      <title>Adiós a la “Caja Negra”: Ejecutando IA en tu propia máquina</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Fri, 03 Apr 2026 16:33:40 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/adios-a-la-caja-negra-ejecutando-ia-en-tu-propia-maquina-26o6</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/adios-a-la-caja-negra-ejecutando-ia-en-tu-propia-maquina-26o6</guid>
      <description>&lt;p&gt;Publiqué un nuevo episodio en Tu código cotidiano sobre un cambio que me parece clave en esta etapa de la IA:&lt;/p&gt;

&lt;p&gt;dejar de ver los modelos como una caja negra remota y empezar a ejecutarlos localmente.&lt;/p&gt;

&lt;p&gt;Cuando corres IA en tu propia máquina, cambian varias cosas al mismo tiempo:&lt;/p&gt;

&lt;p&gt;privacidad&lt;br&gt;
latencia&lt;br&gt;
costos&lt;br&gt;
autonomía&lt;br&gt;
capacidad de experimentar de verdad con modelos, cuantización y hardware&lt;/p&gt;

&lt;p&gt;Este episodio busca aterrizar esa idea sin humo y sin misticismo.&lt;br&gt;
Menos “la IA como magia”.&lt;br&gt;
Más “la IA como sistema que puedes entender, operar y controlar”.&lt;/p&gt;

&lt;p&gt;Si te interesa la intersección entre modelos, infraestructura, rendimiento y soberanía tecnológica, creo que este episodio te va a gustar.&lt;/p&gt;

&lt;p&gt;🎧 Escúchalo aquí:&lt;br&gt;
&lt;a href="https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/adios-a-la-caja-negra-ejecutando-ia-en-tu-propia-maquina/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/escuchar-podcast/adios-a-la-caja-negra-ejecutando-ia-en-tu-propia-maquina/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulanbx4cs4xq820m7yrt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulanbx4cs4xq820m7yrt.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>llm</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Stop Chasing Scroll with JavaScript: A Deep Dive into CSS Scroll-Driven Animations</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Thu, 02 Apr 2026 16:41:38 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/stop-chasing-scroll-with-javascript-a-deep-dive-into-css-scroll-driven-animations-4alg</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/stop-chasing-scroll-with-javascript-a-deep-dive-into-css-scroll-driven-animations-4alg</guid>
      <description>&lt;p&gt;I published a deep-dive guide about CSS scroll-driven animations and how they change the architectural layer where motion is controlled.&lt;/p&gt;

&lt;p&gt;This is not just about making parallax “look cooler”.&lt;br&gt;
It is about stopping the habit of chasing scroll with JavaScript and starting to model motion as a declarative timeline the browser can understand natively.&lt;/p&gt;

&lt;p&gt;In the guide I cover:&lt;/p&gt;

&lt;p&gt;scroll-timeline&lt;br&gt;
scroll()&lt;br&gt;
view()&lt;br&gt;
animation-range&lt;br&gt;
progressive enhancement&lt;br&gt;
production debugging&lt;br&gt;
when to use scroll() vs view()&lt;br&gt;
how to build parallax without JS&lt;/p&gt;

&lt;p&gt;Read it here:&lt;br&gt;
&lt;a href="https://tucodigocotidiano.yarumaltech.com/leer_guias/animaciones-vinculadas-al-scroll-la-api-scroll-timeline-para-efectos-parallax-sin-js/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/leer_guias/animaciones-vinculadas-al-scroll-la-api-scroll-timeline-para-efectos-parallax-sin-js/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fla9fp9ls3jxvvkzyfbxl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fla9fp9ls3jxvvkzyfbxl.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>frontend</category>
      <category>performance</category>
      <category>ux</category>
    </item>
    <item>
      <title>Cables submarinos: la infraestructura invisible que sostiene internet</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Wed, 01 Apr 2026 14:22:18 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/cables-submarinos-la-infraestructura-invisible-que-sostiene-internet-5734</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/cables-submarinos-la-infraestructura-invisible-que-sostiene-internet-5734</guid>
      <description>&lt;p&gt;Acabo de publicar un nuevo episodio en Tu código cotidiano sobre uno de esos temas que cambian por completo la forma en que entendemos la red:&lt;/p&gt;

&lt;p&gt;los cables submarinos.&lt;/p&gt;

&lt;p&gt;Muchas veces hablamos de “la nube” como si internet fuera algo etéreo, abstracto o casi mágico. Pero una parte enorme del tráfico global viaja por una infraestructura física muy concreta: fibras ópticas tendidas bajo el mar que conectan continentes, centros de datos, mercados y sistemas completos.&lt;/p&gt;

&lt;p&gt;En este episodio explico, de forma clara y técnica:&lt;/p&gt;

&lt;p&gt;por qué los cables submarinos son esenciales para internet&lt;br&gt;
por qué no todo viaja por satélite&lt;br&gt;
cómo la red depende de rutas físicas reales&lt;br&gt;
qué papel juegan la capacidad, la latencia y la redundancia&lt;br&gt;
y por qué esta infraestructura también tiene una dimensión geopolítica y económica&lt;/p&gt;

&lt;p&gt;Es un episodio pensado para desarrolladores, gente de telecomunicaciones, curiosos de internet y cualquier persona que quiera entender mejor qué hay debajo de la experiencia digital cotidiana.&lt;/p&gt;

&lt;p&gt;🎧 Escúchalo aquí:&lt;br&gt;
tucodigocotidiano.yarumaltech.com/escuchar-podcast/cables-submarinos-las-arterias-fisicas-e-invisibles-de-internet/&lt;/p&gt;

</description>
      <category>internet</category>
      <category>networking</category>
      <category>telecom</category>
      <category>infrastructure</category>
    </item>
    <item>
      <title>Service Workers: Caching Strategies and Offline Architecture (Cache First, Network First)</title>
      <dc:creator>Tu codigo cotidiano</dc:creator>
      <pubDate>Tue, 31 Mar 2026 14:39:17 +0000</pubDate>
      <link>https://forem.com/tu_codigocotidiano_f173d/service-workers-caching-strategies-and-offline-architecture-cache-first-network-first-586o</link>
      <guid>https://forem.com/tu_codigocotidiano_f173d/service-workers-caching-strategies-and-offline-architecture-cache-first-network-first-586o</guid>
      <description>&lt;p&gt;I just published a new technical guide on Service Workers, caching strategies, and offline architecture.&lt;/p&gt;

&lt;p&gt;This guide is written from an architectural perspective, not as a quick recipe. The main idea is simple: a Service Worker is not just a tool to cache files. It is a response policy layer between your app and the network.&lt;/p&gt;

&lt;p&gt;Inside the guide, I cover:&lt;/p&gt;

&lt;p&gt;what a Service Worker really is&lt;br&gt;
how to think about install, activate, and fetch&lt;br&gt;
precaching and cache versioning&lt;br&gt;
the real differences between Cache First, Network First, and stale-while-revalidate&lt;br&gt;
hybrid architecture depending on resource type&lt;br&gt;
common implementation mistakes&lt;br&gt;
practical criteria to decide what should be cached and what should not&lt;/p&gt;

&lt;p&gt;The guide is aimed at developers who want to stop treating caching as a performance trick and start treating it as a product and resilience decision.&lt;/p&gt;

&lt;p&gt;Read it here:&lt;br&gt;
&lt;a href="https://tucodigocotidiano.yarumaltech.com/leer_guias/service-workers-estrategias-de-cache-y-arquitectura-offline-cache-first-network-first/" rel="noopener noreferrer"&gt;https://tucodigocotidiano.yarumaltech.com/leer_guias/service-workers-estrategias-de-cache-y-arquitectura-offline-cache-first-network-first/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ful7vh6q0hbdy5cyexc7s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ful7vh6q0hbdy5cyexc7s.png" alt=" " width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>pwa</category>
      <category>serviceworkers</category>
    </item>
  </channel>
</rss>
