<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[La Naturaleza del Software: El programador oxidado]]></title><description><![CDATA[Artículos y tips para ponerte al día en el desarrollo de software]]></description><link>https://newsletter.lnds.net/s/el-programador-oxidado</link><image><url>https://substackcdn.com/image/fetch/$s_!ZS8-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F884ffbdf-b40d-4f8f-9169-cfa1ee68ca56_1280x1280.png</url><title>La Naturaleza del Software: El programador oxidado</title><link>https://newsletter.lnds.net/s/el-programador-oxidado</link></image><generator>Substack</generator><lastBuildDate>Tue, 28 Apr 2026 05:12:11 GMT</lastBuildDate><atom:link href="https://newsletter.lnds.net/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Eduardo Díaz]]></copyright><language><![CDATA[es]]></language><webMaster><![CDATA[ediaz@dcc8090.cl]]></webMaster><itunes:owner><itunes:email><![CDATA[ediaz@dcc8090.cl]]></itunes:email><itunes:name><![CDATA[Eduardo Díaz]]></itunes:name></itunes:owner><itunes:author><![CDATA[Eduardo Díaz]]></itunes:author><googleplay:owner><![CDATA[ediaz@dcc8090.cl]]></googleplay:owner><googleplay:email><![CDATA[ediaz@dcc8090.cl]]></googleplay:email><googleplay:author><![CDATA[Eduardo Díaz]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Exportando tu contenido desde Substack a Obsidian]]></title><description><![CDATA[Implementando una herramienta cli con Python]]></description><link>https://newsletter.lnds.net/p/exportando-tu-contenido-desde-substack</link><guid isPermaLink="false">https://newsletter.lnds.net/p/exportando-tu-contenido-desde-substack</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Thu, 07 Nov 2024 14:29:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!byr7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e53a0c-a4cb-41ad-842e-ca27f958f0b1_2074x1056.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>La l&#237;nea de comandos es, por lejos, la interfaz de usuario m&#225;s flexible y &#250;til para un programador. Todo esto gracias al poder de composici&#243;n que nos proporcionan herramientas como pipes, o la ejecuci&#243;n de scripts que podemos componer para automatizar nuestro trabajo.</p><p>Hace poco escrib&#237; un peque&#241;o script para poder importar mis art&#237;culos en Substack a Obs&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/exportando-tu-contenido-desde-substack">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Mayonesa y expresiones regulares]]></title><description><![CDATA[O como evitar cierto tipo de vulnerabilidades en tus aplicaciones web]]></description><link>https://newsletter.lnds.net/p/mayonesa-y-expresiones-regulares</link><guid isPermaLink="false">https://newsletter.lnds.net/p/mayonesa-y-expresiones-regulares</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Thu, 31 Oct 2024 16:42:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!j6Na!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F081e90e6-7157-4f58-8a39-9e0e32247ea0_2560x1850.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#191;Se han fijado que hay personas que le echan mayonesa a cualquier plato? Tallarines con salsa bolo&#241;esa, le ponen mayonesa. Papas fritas, con mayonesa. Pur&#233;, con mayo&#8230;, no pur&#233;, no, al menos yo no, no s&#233;, no faltar&#225; alguno que le pone. </p><p>A lo que no se le pone mayonesa nunca es al <a href="https://es.wikipedia.org/wiki/S%C3%A1ndwich_Barros_Luco">Barros Luco</a>, eso es un pecado mortal. &#161;A qui&#233;n se le ocurre ponerle mayonesa&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/mayonesa-y-expresiones-regulares">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Cuando Python se traiciona a sí mismo]]></title><description><![CDATA[No siempre se respeta el Zen de Python]]></description><link>https://newsletter.lnds.net/p/cuando-python-se-traiciona-a-si-mismo</link><guid isPermaLink="false">https://newsletter.lnds.net/p/cuando-python-se-traiciona-a-si-mismo</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Thu, 17 Oct 2024 13:31:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Jh7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Si programas o has programado en serio en Python, seguro te topaste con el &#8220;Zen de Python&#8221;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jh7B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jh7B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!Jh7B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!Jh7B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!Jh7B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jh7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp" width="727.9971313476562" height="727.9971313476562" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:727.9971313476562,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A simple, minimalistic illustration of the Ouroboros symbol, showing a snake curled in a circular shape, clearly eating its own tail. The design is clean with smooth, bold lines and minimal details. The snake is a solid color, such as green or black, without intricate patterns. The head of the snake is clearly biting onto its tail, emphasizing the self-consuming action. The background is plain, keeping the focus on the snake and its circular, continuous form. The overall image conveys a sense of eternity and simplicity.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A simple, minimalistic illustration of the Ouroboros symbol, showing a snake curled in a circular shape, clearly eating its own tail. The design is clean with smooth, bold lines and minimal details. The snake is a solid color, such as green or black, without intricate patterns. The head of the snake is clearly biting onto its tail, emphasizing the self-consuming action. The background is plain, keeping the focus on the snake and its circular, continuous form. The overall image conveys a sense of eternity and simplicity." title="A simple, minimalistic illustration of the Ouroboros symbol, showing a snake curled in a circular shape, clearly eating its own tail. The design is clean with smooth, bold lines and minimal details. The snake is a solid color, such as green or black, without intricate patterns. The head of the snake is clearly biting onto its tail, emphasizing the self-consuming action. The background is plain, keeping the focus on the snake and its circular, continuous form. The overall image conveys a sense of eternity and simplicity." srcset="https://substackcdn.com/image/fetch/$s_!Jh7B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!Jh7B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!Jh7B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!Jh7B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4f3854b-d2bc-44ba-9e75-f103ab3f43ac_1024x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Si no lo conoces, puedes abrir la consola, ejecutar Python y en el REPL escribes <code>import this</code> y obtendr&#225;s el Zen de Python de este modo:</p><pre><code>&gt;&gt;&gt; import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is bett&#8230;</code></pre>
      <p>
          <a href="https://newsletter.lnds.net/p/cuando-python-se-traiciona-a-si-mismo">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[¿Vale la pena Windows 11 para desarrollar?]]></title><description><![CDATA[O windows en general]]></description><link>https://newsletter.lnds.net/p/vale-la-pena-windows-11-para-desarrollar</link><guid isPermaLink="false">https://newsletter.lnds.net/p/vale-la-pena-windows-11-para-desarrollar</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Thu, 10 Oct 2024 13:30:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WsP5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F981877cd-c2f4-4dfa-be7a-7feb9091d066_900x872.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Respuesta corta no.</p><p>Respuesta larga, depende.</p><p>Es cierto que les dije que <a href="https://newsletter.lnds.net/p/no-necesitas-un-mac-para-ser-un-programador">no necesitas un Mac para ser un programador moderno</a>, y lo sigo sosteniendo. Pero quiz&#225;s ya no estoy convencido de que eso signifique que puedes usar Windows.</p><p>Probablemente, si lo tuyo es hacer aplicaciones para Windows usando .Net, o de repente eres uno de esos &#8220;locos lindos&#8221; que a&#250;n &#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/vale-la-pena-windows-11-para-desarrollar">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Fibonacci Square]]></title><description><![CDATA[Introduciendo channels de Go]]></description><link>https://newsletter.lnds.net/p/fibonacci-square</link><guid isPermaLink="false">https://newsletter.lnds.net/p/fibonacci-square</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Tue, 16 Jul 2024 14:54:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc525baea-665a-40fd-b49b-9e62b3ce01a8_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Una caracter&#237;stica interesante de Go es su modelo de concurrencia, que est&#225; basado en dos pilares: go-routines y channels. En el art&#237;culo anterior introdujimos las go routines, esta vez vamos a presentar los channels con un problema sencillo.</p><p>Partiremos implementando, o simulando, generadores. Esta es una caracter&#237;stica que encuentras en algunos lenguaje&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/fibonacci-square">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Reloj no marques las horas…]]></title><description><![CDATA[Concurrencia en Go]]></description><link>https://newsletter.lnds.net/p/reloj-no-marques-las-horas</link><guid isPermaLink="false">https://newsletter.lnds.net/p/reloj-no-marques-las-horas</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 03 Jul 2024 14:01:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ovej!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Aquel viejo bolero, que comienza con la frase del t&#237;tulo de este art&#237;culo, me recuerda una an&#233;cdota, pero no se las contar&#233; porque no es el lugar ni el momento adecuado  &#128540;. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ovej!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ovej!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ovej!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ovej!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ovej!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ovej!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1084775,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ovej!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ovej!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ovej!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ovej!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8767ad3-be57-482e-9a9f-7870e1fa4933_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Pero tambi&#233;n nos da el pie para continuar con esta <a href="https://newsletter.lnds.net/p/la-guia-de-go-para-programadores">gu&#237;a de introducci&#243;n al lenguaje de programaci&#243;n Go</a>.</p><p>El problema que vamos a resolver en esta ocasi&#243;n es crear un servidor TCP que &#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/reloj-no-marques-las-horas">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Si nada como pato...]]></title><description><![CDATA[Polimorfismo en Go]]></description><link>https://newsletter.lnds.net/p/si-camina-como-pato</link><guid isPermaLink="false">https://newsletter.lnds.net/p/si-camina-como-pato</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Thu, 04 Apr 2024 13:30:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5sIL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Seguro has escuchado del concepto <a href="https://es.wikipedia.org/wiki/Duck_typing">Duck Typing</a>. Es una caracter&#237;stica de los lenguajes din&#225;micos, en que los tipos se determinan en tiempo de ejecuci&#243;n.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5sIL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5sIL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5sIL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5sIL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5sIL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5sIL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;undefined&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="undefined" title="undefined" srcset="https://substackcdn.com/image/fetch/$s_!5sIL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5sIL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5sIL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5sIL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e0683f9-742c-4abd-a2d9-3086bd86b8e5_1536x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Considera este c&#243;digo en Python:</p><pre><code>class Duck:

    def swim(self):
        print("Duck swimming")

    def fly(self):
        print("Duck flying")

class Whale:

    def swim(self):
        print("Whale swi&#8230;</code></pre>
      <p>
          <a href="https://newsletter.lnds.net/p/si-camina-como-pato">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[La Guía de Go para programadores oxidados]]></title><description><![CDATA[Conoce lo esencial de este lenguaje]]></description><link>https://newsletter.lnds.net/p/la-guia-de-go-para-programadores</link><guid isPermaLink="false">https://newsletter.lnds.net/p/la-guia-de-go-para-programadores</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Thu, 21 Mar 2024 13:30:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!emTp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a545bd7-d9fb-4976-b431-a37865bc680d_1080x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Una de las satisfacciones personales que tuve fue que hace un par de a&#241;os prepar&#233; a un grupo de mis colegas en Cornershop sobre los fundamentos de los lenguajes Go y Java. Hice algunas clases y en el proceso aprend&#237; algunos detalles de esos lenguajes y que me parece bien compartir ese conocimiento con todos ustedes ahora. </p><p>Pero me parece que el mejor mod&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/la-guia-de-go-para-programadores">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Let's Go]]></title><description><![CDATA[Why everybody is talking about golang?]]></description><link>https://newsletter.lnds.net/p/lets-go</link><guid isPermaLink="false">https://newsletter.lnds.net/p/lets-go</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 06 Mar 2024 13:21:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZS8-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F884ffbdf-b40d-4f8f-9169-cfa1ee68ca56_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HoOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HoOK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 424w, https://substackcdn.com/image/fetch/$s_!HoOK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 848w, https://substackcdn.com/image/fetch/$s_!HoOK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 1272w, https://substackcdn.com/image/fetch/$s_!HoOK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HoOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png" width="500" height="202" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:202,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HoOK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 424w, https://substackcdn.com/image/fetch/$s_!HoOK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 848w, https://substackcdn.com/image/fetch/$s_!HoOK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 1272w, https://substackcdn.com/image/fetch/$s_!HoOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e4197d6-ec0f-4df0-b0ba-5624b6c77b99_500x202.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Por alguna raz&#243;n, Go se ha vuelto popular en redes sociales, al menos entre los tech <a href="https://youtu.be/6gwF8mG3UUY?si=jBqjd-JaHtn89dsI">influencer norteamericanos.</a> </p><p>Puede ser porque se ha descubierto la simpleza de este lenguaje, el hecho de que se usa m&#225;s de lo que se sospecha, y que ha madurado bastante bien. Aunque est&#225; pronto a cumplir la mayor&#237;a de edad, Go es uno de esos lenguajes que al principio &#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/lets-go">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Entender el problema >>> solución]]></title><description><![CDATA[El problema de la configuraci&#243;n, parte final]]></description><link>https://newsletter.lnds.net/p/entender-el-problema-solucion</link><guid isPermaLink="false">https://newsletter.lnds.net/p/entender-el-problema-solucion</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 28 Feb 2024 16:43:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jHrD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9da60a8e-b9f5-448b-b825-ef1d800bf1dd_1404x1620.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Es momento de cerrar esta miniserie sobre el problema de la configuraci&#243;n.</p><p>Este asunto fue inspirado, como les cont&#233; en <a href="https://newsletter.lnds.net/p/el-problema-de-la-configuracion">la primera parte</a>, por una pregunta en X (Twitter) de un tech influencer, que quer&#237;a ver herramientas alternativas a Firebase para almacenar la configuraci&#243;n de una aplicaci&#243;n.</p><p>Establecimos en ese momento que el problema se puede enunciar&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/entender-el-problema-solucion">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[El problema de la configuración, parte 2]]></title><description><![CDATA[Detalles de implementaci&#243;n]]></description><link>https://newsletter.lnds.net/p/el-problema-de-la-configuracion-parte</link><guid isPermaLink="false">https://newsletter.lnds.net/p/el-problema-de-la-configuracion-parte</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 14 Feb 2024 15:29:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!T5Wb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd00bb76f-5b27-424a-9b22-1e6645d6eb6c_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En el <a href="https://newsletter.lnds.net/p/el-problema-de-la-configuracion">art&#237;culo anterior</a>, present&#225;bamos el problema de la configuraci&#243;n del siguiente modo:</p><blockquote><p>Necesitamos un almacenamiento del tipo (llave, valor) de modo que guardemos en este configuraciones que usaremos en nuestro programa.</p></blockquote><p>Las configuraciones en este contexto pueden ser de varios tipos:</p><ul><li><p>Secretos: corresponden a valores cr&#237;ticos que no deben ser divulgado&#8230;</p></li></ul>
      <p>
          <a href="https://newsletter.lnds.net/p/el-problema-de-la-configuracion-parte">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[El problema de la configuración]]></title><description><![CDATA[Un problema muy frecuente, pero con muchas soluciones muy malas]]></description><link>https://newsletter.lnds.net/p/el-problema-de-la-configuracion</link><guid isPermaLink="false">https://newsletter.lnds.net/p/el-problema-de-la-configuracion</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 31 Jan 2024 20:19:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VJX0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hace poco vi en Twitter a alguien preguntando por una alternativa a Firebase, para poder almacenar informaci&#243;n de configuraci&#243;n de una aplicaci&#243;n.</p><p>Los que le respond&#237;an le nombraban distintas tecnolog&#237;as, desde <a href="https://memcached.org/">Memcached</a> y <a href="https://redis.io/">Redis</a> hasta<a href="https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html"> Amazon AWS AppConfig</a>. Pero nadie trataba de indagar cu&#225;l era el problema a resolver. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VJX0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VJX0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!VJX0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!VJX0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!VJX0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VJX0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1519122,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VJX0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!VJX0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!VJX0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!VJX0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c0e1417-27ec-45c9-8334-cc8b7589fe27_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Imaginen por un momento que &#233;l solam&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/el-problema-de-la-configuracion">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Solución al Desafío JQ #1]]></title><description><![CDATA[Soluci&#243;n Desaf&#237;o #1]]></description><link>https://newsletter.lnds.net/p/solucion-al-desafio-jq-1</link><guid isPermaLink="false">https://newsletter.lnds.net/p/solucion-al-desafio-jq-1</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 17 Jan 2024 14:00:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!G5oT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Es momento de mostrar el resultado al primer desaf&#237;o del &#8220;progamador oxidado&#8221;.</p><p>Recordemos el desaf&#237;o:</p><h2>El desaf&#237;o de las ciudades</h2><p>El sitio <a href="https://simplemaps.com/data/world-cities">&#8220;world cities database&#8221;</a> tiene una lista de las ciudades del mundo, que puedes descargar (elige la versi&#243;n basic gratuita para este desaf&#237;o).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G5oT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G5oT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!G5oT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!G5oT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!G5oT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G5oT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generated by DALL&#183;E&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated by DALL&#183;E" title="Generated by DALL&#183;E" srcset="https://substackcdn.com/image/fetch/$s_!G5oT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!G5oT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!G5oT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!G5oT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Las primeras l&#237;neas de esta base de datos se ven as&#237;:</p><pre><code>"city","city_ascii","lat","&#8230;</code></pre>
      <p>
          <a href="https://newsletter.lnds.net/p/solucion-al-desafio-jq-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Desafío JQ #1]]></title><description><![CDATA[Desaf&#237;o #1]]></description><link>https://newsletter.lnds.net/p/desafio-jq-1</link><guid isPermaLink="false">https://newsletter.lnds.net/p/desafio-jq-1</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 10 Jan 2024 15:19:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!G5oT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45c28ab-3aa2-4253-b164-42a07d77f417_1792x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>OK, ya hemos visto algunas caracter&#237;sticas de JQ, ahora les voy a plantear un desaf&#237;o, la idea es que traten de resolverlo durante esta semana y me manden sus soluciones a trav&#233;s de los comentarios en este post.</p><p>Si eres nuevo por ac&#225;, puedes revisar los art&#237;culos de esta serie ac&#225;:</p><ol><li><p><a href="https://newsletter.lnds.net/p/json-y-jq">JSON y JQ</a></p></li><li><p><a href="https://newsletter.lnds.net/p/filtrando-apis-rest-json-con-jq">Explorando API con CURL y JQ</a></p></li><li><p><a href="https://newsletter.lnds.net/p/transformando-json-a-csv-con-jq">Transformando JSON a CSV con JQ</a></p></li></ol><h2>El des&#8230;</h2>
      <p>
          <a href="https://newsletter.lnds.net/p/desafio-jq-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Transformando JSON a CSV con JQ]]></title><description><![CDATA[Mini lenguajes 3]]></description><link>https://newsletter.lnds.net/p/transformando-json-a-csv-con-jq</link><guid isPermaLink="false">https://newsletter.lnds.net/p/transformando-json-a-csv-con-jq</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 03 Jan 2024 18:00:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ui67!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>JSON es un formato muy &#250;til para inter operar entre sistemas, y es por eso que se usa tanto en las API. Pero a veces es m&#225;s sencillo usar otros formatos. O queremos hacer an&#225;lisis de datos de una salida que est&#225; en JSON. </p><p>Un formato muy &#250;til y com&#250;n para hacer an&#225;lisis de datos es <a href="https://en.wikipedia.org/wiki/Comma-separated_values">CSV</a>, o &#8220;Comma Separated Values&#8221; (Valores separados por una coma).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ui67!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ui67!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 424w, https://substackcdn.com/image/fetch/$s_!ui67!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 848w, https://substackcdn.com/image/fetch/$s_!ui67!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 1272w, https://substackcdn.com/image/fetch/$s_!ui67!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ui67!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png" width="512" height="512" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:512,&quot;width&quot;:512,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Csv - Free files and folders icons&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Csv - Free files and folders icons" title="Csv - Free files and folders icons" srcset="https://substackcdn.com/image/fetch/$s_!ui67!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 424w, https://substackcdn.com/image/fetch/$s_!ui67!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 848w, https://substackcdn.com/image/fetch/$s_!ui67!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 1272w, https://substackcdn.com/image/fetch/$s_!ui67!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0b53787-ecb7-4340-9944-b2079f4e64ca_512x512.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><code>JQ</code> tiene &#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/transformando-json-a-csv-con-jq">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Explorando APIs con CURL y JQ]]></title><description><![CDATA[Mini lenguajes 2]]></description><link>https://newsletter.lnds.net/p/filtrando-apis-rest-json-con-jq</link><guid isPermaLink="false">https://newsletter.lnds.net/p/filtrando-apis-rest-json-con-jq</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Wed, 27 Dec 2023 14:01:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JMKO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82acefeb-f8dd-4ded-ab06-9abb6b240a1e_457x137.svg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Continuamos esta serie, explorando m&#225;s usos de JQ.</p><p>Tal como les expliqu&#233; anteriormente, <code>jq</code> es un lenguaje de programaci&#243;n y como tal nos permite realizar varias operaciones poderosas para analizar datos.</p><p>En lo que destaca jq es en el procesamiento de archivos en formato JSON. Como gran parte de las API usan este formato como medio para representar los dat&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/filtrando-apis-rest-json-con-jq">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[JSON y JQ]]></title><description><![CDATA[Mini lenguajes 1]]></description><link>https://newsletter.lnds.net/p/json-y-jq</link><guid isPermaLink="false">https://newsletter.lnds.net/p/json-y-jq</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Sat, 16 Dec 2023 14:01:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fJsa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9c8ef16-6ee1-4006-b850-b9d9e78585cc_400x220.svg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Vamos a empezar una serie de art&#237;culos sobre mini lenguajes<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>.</p><p>Voy a empezar con uno bastante &#250;til, un lenguaje desarrollado para resolver una necesidad creada tras la adopci&#243;n de JSON.</p><p>JSON viene de JavaScript Object Notation, fue inventado por Douglas Crockford a principios de los 2000. Gan&#243; gran popularidad como alternativa de reemplazo a XML y es el for&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/json-y-jq">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Desafíos de programación]]></title><description><![CDATA[Resolviendo advent of code 2023]]></description><link>https://newsletter.lnds.net/p/desafios-de-programacion</link><guid isPermaLink="false">https://newsletter.lnds.net/p/desafios-de-programacion</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Sat, 09 Dec 2023 14:19:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LuPU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0cf8540-0425-4247-a33c-010cbefa5410_1265x375.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hay muchos sitios de desaf&#237;os de programaci&#243;n, pero uno que se ha vuelto popular en los &#250;ltimos a&#241;os es Advent of Code, que consiste en 25 desaf&#237;os que se ofrecen diariamente en diciembre, antes de Navidad.</p><p> El primer <a href="https://github.com/lnds/aoc2021-go.git">AOC que complet&#233; fue en 2021</a>, en GO. La hice porque necesitaba practicar Go, puesto que en ese tiempo estaba empezando a trabajar en Uber &#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/desafios-de-programacion">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Dos herramientas útiles para mejorar tus sesiones con servidores remotos]]></title><description><![CDATA[Utilitarios que mejorar&#225; tu productividad]]></description><link>https://newsletter.lnds.net/p/dos-herramientas-utiles-para-mejorar</link><guid isPermaLink="false">https://newsletter.lnds.net/p/dos-herramientas-utiles-para-mejorar</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Sat, 25 Nov 2023 18:22:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dtgO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fb4fb5c-bf08-41be-b03d-b424f932d58e_477x427.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Establecer sesiones remotas con un servidor Linux (o basado en Unix) es de las tareas m&#225;s habituales que nos toca realizar. El problema es la persistencia de las  mismas, y la calidad de conexi&#243;n.</p><p>A veces el servidor est&#225; en un lugar remoto, o tienes un enlace de no muy buena calidad, o baja velocidad, por ejemplo, est&#225;s usando tu tel&#233;fono para conectart&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/dos-herramientas-utiles-para-mejorar">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Dónde aprender a programar]]></title><description><![CDATA[Renueva o adquiere nuevos conocimientos con estos recursos]]></description><link>https://newsletter.lnds.net/p/donde-aprender-a-programar</link><guid isPermaLink="false">https://newsletter.lnds.net/p/donde-aprender-a-programar</guid><dc:creator><![CDATA[Eduardo Díaz]]></dc:creator><pubDate>Sat, 18 Nov 2023 15:30:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vcgl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bbd6ae6-2485-400a-ade1-64bcb6b0c904_2530x1256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Estoy aprendiendo <a href="https://ziglang.org/">Zig</a>, se trata de un nuevo lenguaje de programaci&#243;n de sistemas, que se ha hecho famoso porque fue usado para construir <a href="https://bun.sh/">bun</a>, que es considerado un serio reemplazo a node.js. Si no sabes de qu&#233; hablo, entonces ser&#237;a bueno que empieces a investigar sobre los diversos stacks tecnol&#243;gicos disponibles hoy en d&#237;a.</p><p>Pero, &#191;por d&#243;nde empezar? Por&#8230;</p>
      <p>
          <a href="https://newsletter.lnds.net/p/donde-aprender-a-programar">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>