<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on perri.to</title>
    <link>https://perri.to/es/post/</link>
    <description>Recent content in Posts on perri.to</description>
    <generator>Hugo</generator>
    <language>es-AR</language>
    <lastBuildDate>Sun, 19 Jul 2026 16:55:30 +0200</lastBuildDate>
    <atom:link href="https://perri.to/es/post/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sueños de trabajo</title>
      <link>https://perri.to/es/2026/05/suenos-de-trabajo/</link>
      <pubDate>Wed, 06 May 2026 12:51:13 +0200</pubDate>
      <guid>https://perri.to/es/2026/05/suenos-de-trabajo/</guid>
      <description>&lt;figure class=&#34;d-block mx-auto text-center&#34;&gt;&lt;img src=&#34;https://perri.to/postmedia/dreams_of_labour/dream_job.png&#34; width=&#34;33%&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;h4&gt;Dream Job, by Work Chronicles&lt;/h4&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Historieta de &lt;a href=&#34;https://open.substack.com/pub/workchronicles/p/dream-job?utm_campaign=post-expanded-share&amp;amp;utm_medium=web&#34;&gt;Work Chronicles&lt;/a&gt; — &lt;a href=&#34;https://www.workchronicles.com/about&#34;&gt;un webcómic que muestra las alegrías y frustraciones del ámbito laboral&lt;/a&gt;. &amp;ldquo;Dream Job&amp;rdquo; me pareció una apertura acorde para lo que sigue.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Pasé gran parte de mi vida trabajando en entornos donde todos estaban, como diría un amigo: &amp;ldquo;orientados a la plata&amp;rdquo;.&#xA;Buena parte de mi juventud, una vez superada la obligatoria fase de &amp;ldquo;software libre&amp;rdquo;, estuvo marcada por la clásica mentalidad de empresa financiada por capital de riesgo.&#xA;Fundé mi propia empresa junto con amigos. Trabajé para startups y empresas con onda de startup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Eligiendo la próxima herramienta</title>
      <link>https://perri.to/es/2026/03/eligiendo-la-proxima-herramienta/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://perri.to/es/2026/03/eligiendo-la-proxima-herramienta/</guid>
      <description>&lt;p&gt;Profesionalmente, si tuviera que resumirlo en una sola frase, diría esto:&lt;/p&gt;&#xA;&lt;p&gt;Siempre elegí las herramientas que alguien estaba dispuesto a pagarme más para usar.&lt;/p&gt;&#xA;&lt;h3 id=&#34;todo-empezó-con-visual-basic-6&#34;&gt;Todo empezó con Visual Basic 6.&lt;/h3&gt;&#xA;&lt;p&gt;En ese momento, al menos en mi país, era el lenguaje dominante para las aplicaciones de negocios. Estudios contables, empresas medianas, sistemas de gestión internos: &lt;strong&gt;todo&lt;/strong&gt; corría sobre VB6. Me volví muy eficiente con él. No solo productivo: aprendí cómo funcionaba por debajo, sus límites, sus rarezas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IA, el regreso de las herramientas a medida de un solo uso</title>
      <link>https://perri.to/es/2026/01/ia-el-regreso-de-las-herramientas-a-medida-de-un-solo-uso/</link>
      <pubDate>Fri, 23 Jan 2026 08:40:00 +0100</pubDate>
      <guid>https://perri.to/es/2026/01/ia-el-regreso-de-las-herramientas-a-medida-de-un-solo-uso/</guid>
      <description>&lt;h3 id=&#34;la-edad-dorada-de-las-apps-a-medida&#34;&gt;La edad dorada de las apps a medida.&lt;/h3&gt;&#xA;&lt;p&gt;Fui un niño durante el período de los 80 y los 90. Donde yo vivía, las computadoras no eran exactamente algo del hogar común hasta que tuve cerca de 10 años (93-95).&#xA;Mi pueblo estaba golpeado por una crisis económica realmente fea: mi ciudad dependía fuertemente de la industria vinculada al metal y el país&#xA;la acababa de matar al permitir la importación libre desde China. Además vivía en una zona bastante rural de un país mal conectado, así que los avances tecnológicos&#xA;no nos llegaban hasta que ya se habían vuelto muy comunes en la capital.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Usando comentarios del Fediverso</title>
      <link>https://perri.to/es/2025/03/usando-comentarios-del-fediverso/</link>
      <pubDate>Sat, 08 Mar 2025 11:39:29 +0100</pubDate>
      <guid>https://perri.to/es/2025/03/usando-comentarios-del-fediverso/</guid>
      <description>&lt;p&gt;Decidí deshacerme de Disqus, no por una razón en particular, simplemente pensé que no era la manera en la que quería manejar mis comentarios.&lt;/p&gt;&#xA;&lt;p&gt;Para esto opté por &lt;a href=&#34;https://andreas.scherbaum.la/post/2024-05-23_client-side-comments-with-mastodon-on-a-static-hugo-website/&#34;&gt;esta gran sugerencia de Andreas Scherbaum&lt;/a&gt;. Ahora voy a actualizar mis posts con un enlace al fediverso para que la gente pueda comentar directamente en el toot de mastodon.&lt;/p&gt;&#xA;&lt;p&gt;También agregué soporte para BlueSky basándome en &lt;a href=&#34;https://kau.sh/blog/bluesky-comments-for-hugo/&#34;&gt;este post&lt;/a&gt; de Kaushik Gopal.&lt;/p&gt;&#xA;&lt;p&gt;Todavía no estoy seguro de si el camino a seguir es BlueSky o Mastodon, pero como la gente con la que interactúo a diario está repartida entre ambos, por ahora voy a soportar los dos. Total, publico en ambos igual usando &lt;a href=&#34;https://github.com/perrito666/chat2world/blob/main/README.md&#34;&gt;Chat2World&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Persiguiendo la alquimia a través de los hilos</title>
      <link>https://perri.to/es/2025/03/persiguiendo-la-alquimia-a-traves-de-los-hilos/</link>
      <pubDate>Thu, 06 Mar 2025 21:36:48 +0100</pubDate>
      <guid>https://perri.to/es/2025/03/persiguiendo-la-alquimia-a-traves-de-los-hilos/</guid>
      <description>&lt;h2 id=&#34;cómo-empezó&#34;&gt;Cómo empezó&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Aclaración:&lt;/strong&gt; A pesar de que esto es el resultado de un problema laboral, todas las opiniones son mías; mi empleador no está involucrado ni respalda de ninguna manera esta publicación, más allá de una autorización implícita para escribir públicamente sobre problemas técnicos y soluciones.&lt;/p&gt;&#xA;&lt;p&gt;En una charla diaria con algunos de mis colegas en &lt;a href=&#34;https://shiphero.com/&#34;&gt;ShipHero&lt;/a&gt;, alguien mencionó que un problema que estábamos teniendo (no relevante para este post) podría estar causado por &lt;a href=&#34;https://docs.sqlalchemy.org/en/20/orm/contextual.html&#34;&gt;sesiones thread-local&lt;/a&gt; de sqlalchemy que se pasaban a otro hilo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Demasiado viejo para esta actividad... paralela</title>
      <link>https://perri.to/es/2025/01/demasiado-viejo-para-esta-actividad...-paralela/</link>
      <pubDate>Sun, 19 Jan 2025 21:08:59 +0100</pubDate>
      <guid>https://perri.to/es/2025/01/demasiado-viejo-para-esta-actividad...-paralela/</guid>
      <description>&lt;p&gt;Casi que dejé de programar por fuera de mi trabajo. Acá te cuento por qué&amp;hellip;&lt;/p&gt;&#xA;&lt;h3 id=&#34;la-motivación-inicial&#34;&gt;La motivación inicial&lt;/h3&gt;&#xA;&lt;p&gt;Hace unos meses, un poco de burnout y un poco de desencanto con el tipo de tareas que ofrecían las posiciones disponibles para mi geografía y mi elección de stack tecnológico me llevaron a decidir hacer un cambio.&lt;/p&gt;&#xA;&lt;p&gt;Dejé un trabajo haciendo arquitectura de software para sistemas basados en &lt;a href=&#34;https://go.dev&#34;&gt;Go&lt;/a&gt; por uno que usa &lt;a href=&#34;https://python.org&#34;&gt;Python&lt;/a&gt;. Ahora, no es que Python me sea nuevo; empecé a meterme en él cuando estaba en la universidad, allá por 2004 o 2005, trabajé con él e incluso fundé una empresa que se enfocaba principalmente en desarrollo con &lt;a href=&#34;https://python.org&#34;&gt;Python&lt;/a&gt;. Este cambio implica dejar una tecnología &lt;em&gt;&amp;ldquo;caliente&amp;rdquo;&lt;/em&gt; en el día a día por una que está un poco más establecida y no tan en la cresta de la ola.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux en una ThinkPad X1 Gen4</title>
      <link>https://perri.to/es/2023/12/linux-en-una-thinkpad-x1-gen4/</link>
      <pubDate>Sat, 09 Dec 2023 16:17:49 +0100</pubDate>
      <guid>https://perri.to/es/2023/12/linux-en-una-thinkpad-x1-gen4/</guid>
      <description>&lt;h2 id=&#34;conseguí-una-nueva-laptop-vieja&#34;&gt;Conseguí una nueva laptop vieja&lt;/h2&gt;&#xA;&lt;p&gt;Esta laptop es bastante &amp;ldquo;vieja&amp;rdquo; comparada con el hardware nuevo y reluciente de hoy, pero cumple con todo lo que necesito.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Era barata (para mí, era excedente de una empresa)&lt;/li&gt;&#xA;&lt;li&gt;Tiene un lindo procesador &lt;code&gt;11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Tiene un montón de RAM (16G y un slot libre)&lt;/li&gt;&#xA;&lt;li&gt;Este modelo, o uno bastante parecido, está certificado para Ubuntu (esto significa que un equipo en Ubuntu se tomó el tiempo de verificar que cada versión de su sistema funcione en estas máquinas e incluso hizo cambios en su kernel oem para acomodar las rarezas que trae que Lenovo sea demasiado liberal con la interpretación de los estándares)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;live-usb&#34;&gt;Live USB&lt;/h2&gt;&#xA;&lt;p&gt;La imagen Live de Ubuntu es hermosa y funciona de una con todo lo que mi laptop tiene para ofrecer (23.10 al momento de escribir esto).&#xA;Ahora, acá es donde empieza la diversión.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debianizando mi Macbook Pro 13&#34; 2017 (intel)</title>
      <link>https://perri.to/es/2023/11/debianizando-mi-macbook-pro-13-2017-intel/</link>
      <pubDate>Thu, 09 Nov 2023 21:40:30 +0100</pubDate>
      <guid>https://perri.to/es/2023/11/debianizando-mi-macbook-pro-13-2017-intel/</guid>
      <description>&lt;h1 id=&#34;debianizando-mi-macbook-pro-13-intel-macbookpro-142&#34;&gt;Debianizando mi MacBook Pro 13 (intel) (MacBookPro 14,2)&lt;/h1&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://perri.to/postmedia/debianize_mbp/IMG_2569.jpeg&#34; width=&#34;50%&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;h4&gt;Macbook Pro with the keyboard I actually use it with&lt;/h4&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;por-qué&#34;&gt;¿Por qué?&lt;/h2&gt;&#xA;&lt;p&gt;Hace tiempo que quería tener una laptop con linux. Como trabajo a diario en macOS, mi única computadora con linux es una de escritorio.&lt;/p&gt;&#xA;&lt;p&gt;Trato de no pasar más tiempo que mi horario laboral en el escritorio para mantener la separación trabajo/vida.&lt;/p&gt;&#xA;&lt;p&gt;Resulta que teníamos una vieja Macbook Pro, un modelo 2016 con un procesador i5 y 8G de ram.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ingeniería inversa de mi escritorio de pie kqueo, parte 1</title>
      <link>https://perri.to/es/2022/12/ingenieria-inversa-de-mi-escritorio-de-pie-kqueo-parte-1/</link>
      <pubDate>Thu, 29 Dec 2022 17:11:58 -0300</pubDate>
      <guid>https://perri.to/es/2022/12/ingenieria-inversa-de-mi-escritorio-de-pie-kqueo-parte-1/</guid>
      <description>&lt;h2 id=&#34;cómo-empezó&#34;&gt;Cómo empezó&lt;/h2&gt;&#xA;&lt;p&gt;Cuando me mudé a Francia tuve que rearmar mi oficina en casa. Para el escritorio opté por una marca local: &lt;a href=&#34;https://kqueo.fr/&#34;&gt;kqueo&lt;/a&gt;.&#xA;Supuse que, en el mejor de los casos, era un producto local, y en el peor, una remarca genérica para la cual podrían proveerme repuestos si hiciera falta.&#xA;Elegí &lt;a href=&#34;https://kqueo.fr/products/active-120x80-bureau-assis-debout-2-moteurs-avec-plateau-120x80-cm-hauteur-reglable-de-75-a-122-cm&#34;&gt;este modelo&lt;/a&gt;: dos motores, una caja de&#xA;control central y un panel con 3 botones para posición de memoria, subir, bajar y M (para guardar posiciones), más un display de 3 dígitos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cambié mi deuda técnica por crédito técnico</title>
      <link>https://perri.to/es/2022/04/cambie-mi-deuda-tecnica-por-credito-tecnico/</link>
      <pubDate>Sat, 09 Apr 2022 14:29:27 +0200</pubDate>
      <guid>https://perri.to/es/2022/04/cambie-mi-deuda-tecnica-por-credito-tecnico/</guid>
      <description>&lt;h2 id=&#34;una-forma-de-vida&#34;&gt;Una forma de vida&lt;/h2&gt;&#xA;&lt;p&gt;Dejame darte algo de contexto; quizás al principio no tenga mucho sentido, pero tené paciencia.&#xA;Crecí en un país donde la inflación llega a los dos dígitos. Hay una carrera continua entre los salarios y el costo de vida. Sufrió varias crisis económicas. Y sin embargo, la gente se las arregla para llevar una vida &amp;ldquo;normal&amp;rdquo; o, al menos, una rutina. En algo que todo el mundo en mi país es bastante experto es en las finanzas de la deuda. Yo encaro la deuda técnica exactamente de la misma manera y quiero compartirlo con vos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generando tipos de go a partir de json</title>
      <link>https://perri.to/es/2020/11/generando-tipos-de-go-a-partir-de-json/</link>
      <pubDate>Fri, 13 Nov 2020 00:21:26 +0000</pubDate>
      <guid>https://perri.to/es/2020/11/generando-tipos-de-go-a-partir-de-json/</guid>
      <description>&lt;p&gt;Uno de los obstáculos más comunes al programar software con exposición a internet en Go es el parseo de JSON. Como lenguaje tipado, Go requiere un receptor debidamente definido para el JSON deserializado. Un workaround común es un árbol anidado infinito de &lt;code&gt;map[string]interface{}&lt;/code&gt; y un montón de type assertions recursivas.&lt;/p&gt;&#xA;&lt;p&gt;Mientras desarrollaba &lt;a href=&#34;https://github.com/ShiftLeftSecurity/atlassian-connect-go&#34;&gt;atlassian-connect-go&lt;/a&gt; me choqué con la misma pared: muchos de los tipos de Atlassian estaban definidos únicamente como JSON. Terminé arreglándolo creando &lt;a href=&#34;https://github.com/perrito666/LAC&#34;&gt;LazyApiCoder&lt;/a&gt;, que puede crear un conjunto completo de tipos de go a partir de un esquema swagger 3 o de un conjunto de ejemplos JSON.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cómo crear plugins de JIRA cloud (atlassian connect) en Go</title>
      <link>https://perri.to/es/2020/11/como-crear-plugins-de-jira-cloud-atlassian-connect-en-go/</link>
      <pubDate>Mon, 09 Nov 2020 17:27:06 +0000</pubDate>
      <guid>https://perri.to/es/2020/11/como-crear-plugins-de-jira-cloud-atlassian-connect-en-go/</guid>
      <description>&lt;h2 id=&#34;qué-es-un-plug-in-para-jira-cloud&#34;&gt;Qué es un plug-in para JIRA cloud&lt;/h2&gt;&#xA;&lt;p&gt;Atlassian acepta plugins para Cloud en forma de aplicaciones del framework Atlassian Connect,&#xA;que consisten en una serie de endpoints que sirven varios iframes que se muestran en su interfaz, junto con&#xA;algunos webhooks. Todas las capacidades de un plug-in se declaran en un archivo JSON que JIRA u&#xA;otras de sus apps usan para &amp;ldquo;instalar&amp;rdquo; el plugin.&lt;/p&gt;&#xA;&lt;p&gt;Como básicamente se trata de servir contenido, si nuestra infraestructura ya está compuesta por servicios en Go,&#xA;naturalmente vamos a querer sumar el plug-in a esa misma infraestructura existente.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Surface pro vs iPad pro</title>
      <link>https://perri.to/es/2018/09/surface-pro-vs-ipad-pro/</link>
      <pubDate>Sat, 15 Sep 2018 10:36:51 -0300</pubDate>
      <guid>https://perri.to/es/2018/09/surface-pro-vs-ipad-pro/</guid>
      <description>&lt;p&gt;Hace un tiempo, cuando Apple lanzó el &lt;a href=&#34;https://en.wikipedia.org/wiki/IPad_Pro&#34;&gt;iPad pro&lt;/a&gt; de &lt;a href=&#34;https://www.apple.com/shop/buy-ipad/ipad-pro/10.5-inch-display-64gb-gold-wifi&#34;&gt;10,5 pulgadas&lt;/a&gt;, después de tener tiempo de jugar con uno decidí que sería el dispositivo que podría llenar el hueco entre mi notebook (que en realidad es de mi trabajo) y mi PC de escritorio.&lt;/p&gt;&#xA;&lt;p&gt;Aviso de spoiler: no lo fue&lt;/p&gt;&#xA;&lt;p&gt;Mi idea original era que el dispositivo cumpliera algunos propósitos distintos:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Como tablet; después de todo ya tenía un iPad chico y lo usaba mayormente para netflix y cositas móviles cuando no tenía el teléfono a mano.&lt;/li&gt;&#xA;&lt;li&gt;Como dispositivo liviano para programar, idealmente una terminal tonta o simplemente un editor para programar rápido; tener un teclado era un gran plus, ya que solo tenía que doblar la funda para tener una notebook muy liviana.&lt;/li&gt;&#xA;&lt;li&gt;Como forma de revelar mis fotos digitales; me gusta andar con una Sony Alpha 6k o incluso mi teléfono común con una app de cámara decente, y a la mayoría de las fotos les paso una mano rápida de lightroom.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Con esto en mente leí/miré varias reseñas del iPad pro y del Surface Pro (ambos dispositivos con una alternativa de teclado en ese momento) y encontré&amp;hellip; nada; la mayoría de las reseñas eran de artistas que podían sacarle mucho más provecho que yo al Apple pencil y&amp;hellip; como se llame el del surface.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reflection y tipos embebidos</title>
      <link>https://perri.to/es/2018/09/reflection-y-tipos-embebidos/</link>
      <pubDate>Mon, 03 Sep 2018 21:39:17 -0300</pubDate>
      <guid>https://perri.to/es/2018/09/reflection-y-tipos-embebidos/</guid>
      <description>&lt;p&gt;Como parte del desarrollo de &lt;a href=&#34;https://github.com/ShiftLeftSecurity/gaum&#34;&gt;gaum&lt;/a&gt; me encontré con la necesidad de descomponer una instancia de un struct para poblar una llamada a &lt;a href=&#34;https://golang.org/pkg/database/sql/#Row.Scan&#34;&gt;Scan&lt;/a&gt; con los atributos de la instancia mapeados a las columnas de la fila de sql.&lt;/p&gt;&#xA;&lt;p&gt;Cuando uno se refiere a un struct en el código, es decir:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// BaseType is a poorly name type that exemplifies a struct to be embedded&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;BaseType&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;struct&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;aField&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;int64&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;OtherType&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;struct&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;BaseType&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;anotherField&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;p&gt;Ahora bien, en tu código deberías poder simplemente invocar &lt;code&gt;aField&lt;/code&gt; en una instancia de &lt;code&gt;OtherType&lt;/code&gt; referenciándolo directamente así:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Haciendo un bot de Telegram con GoSparta</title>
      <link>https://perri.to/es/2018/08/haciendo-un-bot-de-telegram-con-gosparta/</link>
      <pubDate>Mon, 13 Aug 2018 23:40:01 -0300</pubDate>
      <guid>https://perri.to/es/2018/08/haciendo-un-bot-de-telegram-con-gosparta/</guid>
      <description>&lt;h2 id=&#34;panorama-general&#34;&gt;Panorama general&lt;/h2&gt;&#xA;&lt;p&gt;Cuando empecé con esto, mi objetivo principal era aprender sobre &lt;a href=&#34;https://aws.amazon.com/lambda/&#34;&gt;AWS Lambda&lt;/a&gt;. Investigué un poco cuál era el mejor enfoque: si querías usar &lt;a href=&#34;https://golang.org/&#34;&gt;go&lt;/a&gt;, era usar algún framework, lo cual me dio una oportunidad extra, la de probar &lt;a href=&#34;https://gosparta.io/&#34;&gt;go sparta&lt;/a&gt; de &lt;a href=&#34;https://twitter.com/mweagle&#34;&gt;mweagle&lt;/a&gt;, que hacía bastante tiempo que tenía ganas de probar (y no solo porque trabaja conmigo).&lt;/p&gt;&#xA;&lt;p&gt;La elección del tema para este ejercicio corto fue al azar; consideré que la API de webhook de Telegram encajaba bien para un ejemplo impulsado por una función lambda y quería hacer un bot tonto para ver qué tan difícil sería, así que buena oportunidad para probar ambas cosas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Estirando algunos músculos del hobby de programar</title>
      <link>https://perri.to/es/2018/02/estirando-algunos-musculos-del-hobby-de-programar/</link>
      <pubDate>Fri, 02 Feb 2018 11:06:26 -0300</pubDate>
      <guid>https://perri.to/es/2018/02/estirando-algunos-musculos-del-hobby-de-programar/</guid>
      <description>&lt;h1 id=&#34;estirando-algunos-músculos-técnicos&#34;&gt;Estirando algunos músculos técnicos.&lt;/h1&gt;&#xA;&lt;p&gt;Los tiempos ociosos en los que intento hacer algo relacionado con la tecnología se vuelven cada vez más escasos con el paso del tiempo. Antes lamentaba esto pensando que me estaba estancando en cuanto a habilidades. Me llevó bastante tiempo y muchos intercambios con gente interesante darme cuenta de que lo que realmente había pasado es que me moví en una dirección profesional que ahora me permite hacer las cosas que me gustan en mi trabajo, dejando algo de espacio para la vida personal, algo muy importante y cada vez más ignorado en la gente de tecnología. De todos modos, de vez en cuando todavía me doy el gusto de juguetear con la tecnología como hobby, y este fue uno de esos casos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Protegiendo la instalación eléctrica.</title>
      <link>https://perri.to/es/2017/10/protegiendo-la-instalacion-electrica./</link>
      <pubDate>Tue, 03 Oct 2017 19:27:23 -0300</pubDate>
      <guid>https://perri.to/es/2017/10/protegiendo-la-instalacion-electrica./</guid>
      <description>&lt;p&gt;Si vivís en Argentina, como es mi caso, es casi seguro que tu proveedor de energía eléctrica es terrible; en mi caso es &lt;a href=&#34;https://www.epec.com.ar/&#34;&gt;E.P.E.C&lt;/a&gt; y es frecuente tener:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Caídas de tensión.&lt;/li&gt;&#xA;&lt;li&gt;Sobretensión.&lt;/li&gt;&#xA;&lt;li&gt;Cortes de luz repetidos.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Algunas de estas exacerbadas cuando hay condiciones climáticas adversas (no me refiero a huracanes, con vientos regulares a altos alcanza) dado que la instalación es todavía de cable sobre poste de quebracho y los diseños de los transformadores y demás equipamiento auxiliar son, casi totalmente, un simple aggiornamiento de diseños antiguos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Plugins de Go y entrega de contenido</title>
      <link>https://perri.to/es/2017/03/plugins-de-go-y-entrega-de-contenido/</link>
      <pubDate>Mon, 13 Mar 2017 08:28:14 -0300</pubDate>
      <guid>https://perri.to/es/2017/03/plugins-de-go-y-entrega-de-contenido/</guid>
      <description>&lt;h4 id=&#34;nueva-funcionalidad&#34;&gt;Nueva funcionalidad&lt;/h4&gt;&#xA;&lt;p&gt;La última versión de go (&lt;a href=&#34;https://golang.org/doc/go1.8&#34;&gt;1.8&lt;/a&gt;) trae una funcionalidad que&#xA;estuve esperando durante muchísimo tiempo, los &lt;a href=&#34;https://golang.org/pkg/plugin/#Plugin.Lookup&#34;&gt;plugins&lt;/a&gt;.&#xA;Ahora bien, por ahora esta funcionalidad tiene algunas limitaciones, que figuran en la documentación:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Solo funciona en Linux (lo cual a mí me viene bárbaro, dado lo que quiero hacer)&lt;/li&gt;&#xA;&lt;li&gt;Un plugin se inicializa una sola vez y no se puede cerrar.&lt;/li&gt;&#xA;&lt;li&gt;Tiene que ser un paquete main.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Y además descubrí un par de detalles molestos por mi cuenta:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Juju Recargado</title>
      <link>https://perri.to/es/2016/11/juju-recargado/</link>
      <pubDate>Tue, 01 Nov 2016 12:00:59 -0300</pubDate>
      <guid>https://perri.to/es/2016/11/juju-recargado/</guid>
      <description>&lt;h2 id=&#34;juju-recargado&#34;&gt;Juju Recargado&lt;/h2&gt;&#xA;&lt;p&gt;La semana pasada vio la luz una nueva versión de &lt;a href=&#34;https://jujucharms.com/&#34;&gt;juju&lt;/a&gt; y creo que es momento de hacer&#xA;un pequeño repaso de lo que me gusta de él.&lt;/p&gt;&#xA;&lt;p&gt;Empecé a trabajar en &lt;a href=&#34;http://www.canonical.com/&#34;&gt;Canonical&lt;/a&gt; hace casi tres años,&#xA;en el equipo de &lt;a href=&#34;https://jujucharms.com/&#34;&gt;juju&lt;/a&gt;. Lo que me llevó al trabajo no fue la empresa, aunque&#xA;tenga una larga trayectoria de trabajo relacionado con FLOSS.&lt;/p&gt;&#xA;&lt;p&gt;Originalmente me atrajeron dos aspectos de &lt;a href=&#34;https://jujucharms.com/&#34;&gt;juju&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Es un proyecto grande en &lt;a href=&#34;https://golang.org/&#34;&gt;Go&lt;/a&gt; y tenía muchas ganas de meterme más a fondo con eso.&lt;/li&gt;&#xA;&lt;li&gt;Propone una nueva forma de pensar el devops y el concepto de &lt;a href=&#34;https://insights.ubuntu.com/2016/10/03/big-software-has-arrived/&#34;&gt;big software&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;un-poco-de-contexto&#34;&gt;Un poco de contexto.&lt;/h3&gt;&#xA;&lt;p&gt;Bueno, he sido administrador de sistemas a tiempo completo o parcial durante buena parte de mi carrera. Terminé&#xA;cambiando de áreas de interés principalmente porque me di cuenta de algo sobre la administración de sistemas: cada cosa nueva&#xA;que necesitás aprender te dispersa más. No es que sabés Apache y después Nginx pasa a ser&#xA;la cosa del momento y cambiás uno por otro; necesitás mantener cierto nivel de dominio en ambos.&#xA;Por un tiempo me pareció manejable, podía dominar una cantidad determinada de aplicaciones y conformarme con&#xA;un nivel de conocimiento razonable para el resto. Pasó el tiempo y me di cuenta de que el stack seguía creciendo&#xA;y necesitaba especializarme en algunos de los nichos del ahora creciente DevOps, lo cual no era muy&#xA;práctico si vivís donde vivo yo: nuestro acceso a la tecnología no es excelente y hagas lo que hagas, si&#xA;querés estar en la mejor posición posible para alcanzar tu potencial, tiene que ser de forma remota. En aquel momento,&#xA;la administración de sistemas remota no era muy común, los racks necesitaban cableado y golpes y gritos en persona.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Un paseo típico por las tierras de goworkon</title>
      <link>https://perri.to/es/2016/10/un-paseo-tipico-por-las-tierras-de-goworkon/</link>
      <pubDate>Fri, 21 Oct 2016 20:42:43 -0300</pubDate>
      <guid>https://perri.to/es/2016/10/un-paseo-tipico-por-las-tierras-de-goworkon/</guid>
      <description>&lt;h3 id=&#34;un-paseo-típico-por-las-tierras-de-goworkon&#34;&gt;Un paseo típico por las tierras de goworkon&lt;/h3&gt;&#xA;&lt;p&gt;Después de unas semanas trabajando en él y también con él, saqué de encima la mayoría&#xA;de las molestias urgentes de &lt;a href=&#34;https://github.com/perrito666/goworkon&#34;&gt;goworkon&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Así que, ahora que ya me quité eso de encima, puedo dar una pequeña vuelta sobre cómo&#xA;usar &lt;a href=&#34;https://github.com/perrito666/goworkon/tree/v0.1alpha1&#34;&gt;goworkon v0.1alpha1&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h4 id=&#34;arrancando&#34;&gt;Arrancando&lt;/h4&gt;&#xA;&lt;p&gt;El arranque todavía es un poco tosco, pero lejos de ser doloroso.&lt;/p&gt;&#xA;&lt;p&gt;Suponiendo que instalaste &lt;strong&gt;goworkon&lt;/strong&gt; (en mi caso simplemente usé uno de mis entornos de ese momento&#xA;y corrí &lt;code&gt;go get -u github.com/perrito666/goworkon&lt;/code&gt; y listo.) vas a necesitar&#xA;agregar algo a tu &lt;strong&gt;~/.bashrc&lt;/strong&gt; (quizás uses otra shell, no te puedo garantizar que esto&#xA;funcione ahí.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Los snaps son fáciles</title>
      <link>https://perri.to/es/2016/10/los-snaps-son-faciles/</link>
      <pubDate>Fri, 14 Oct 2016 19:40:13 -0300</pubDate>
      <guid>https://perri.to/es/2016/10/los-snaps-son-faciles/</guid>
      <description>&lt;h2 id=&#34;los-snaps-son-fáciles-y-eso-me-gusta&#34;&gt;Los snaps son fáciles y eso me gusta.&lt;/h2&gt;&#xA;&lt;p&gt;Ahora bien, ya sé lo que estás pensando: este tipo trabaja para Canonical, está&#xA;sesgado. Pero si preguntás por ahí te vas a enterar de que en realidad no lo estoy;&#xA;he sido muy crítico de Canonical en el pasado y soy el primero en admitirlo. Por&#xA;ejemplo, aunque me gustan los ppas, odio launchpad.&lt;/p&gt;&#xA;&lt;p&gt;Hace un tiempo decidí que quería probar &lt;a href=&#34;https://caddyserver.com/&#34;&gt;caddy&lt;/a&gt; y que&#xA;la mejor manera de hacerlo, como todo lo demás en mi servidor, era &amp;ldquo;a la manera de debian&amp;rdquo;™,&#xA;así que &lt;a href=&#34;https://perri.to/es/2016/04/construyendo-un-ppa-de-caddy/&#34;&gt;me embarqué en la ingrata tarea del empaquetado&lt;/a&gt; y&#xA;tuve que dejar correr bastante agua bajo el puente antes de llegar a la tarea de mantenerlo.&#xA;Hace poco &lt;a href=&#34;https://perri.to/es/2016/10/primer-release-de-goworkon/&#34;&gt;escribí una herramienta&lt;/a&gt; que me permite&#xA;tener un entorno fácilmente aislado para caddy y así generar el código base que necesito para publicar&#xA;cada versión como el nuevo fuente del archivo deb.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Primer release de GoWorkOn</title>
      <link>https://perri.to/es/2016/10/primer-release-de-goworkon/</link>
      <pubDate>Thu, 13 Oct 2016 18:21:54 -0300</pubDate>
      <guid>https://perri.to/es/2016/10/primer-release-de-goworkon/</guid>
      <description>&lt;h2 id=&#34;rascando-la-comezón&#34;&gt;Rascando la comezón&lt;/h2&gt;&#xA;&lt;p&gt;Esta comezón en particular era una que tenía desde que dejé python, en mi vida previa como desarrollador,&#xA;cuando, como tipo de python, era un ávido usuario de &lt;a href=&#34;https://virtualenvwrapper.readthedocs.io&#34;&gt;Virtualenv Wrapper&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Virtualenv, para quienes no tuvieron el placer, viene a resolver el problema del lado del usuario del vendoring.&lt;/p&gt;&#xA;&lt;p&gt;Cuando trabajás en múltiples proyectos, cada uno con su propio conjunto de dependencias con versiones, corrés el riesgo de contaminar&#xA;tus otros proyectos con la inclusión de versiones distintas de paquetes de python, lo que puede ponerse muy&#xA;feo, especialmente porque no tenés un compilador que te avise cosas como &amp;ldquo;tu firma cambió&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Construyendo un PPA de caddy</title>
      <link>https://perri.to/es/2016/04/construyendo-un-ppa-de-caddy/</link>
      <pubDate>Fri, 01 Apr 2016 09:31:35 -0300</pubDate>
      <guid>https://perri.to/es/2016/04/construyendo-un-ppa-de-caddy/</guid>
      <description>&lt;h2 id=&#34;cómo-fue-la-experiencia&#34;&gt;Cómo fue la experiencia&lt;/h2&gt;&#xA;&lt;p&gt;Esta semana pasada tuve vacaciones y, por una serie de circunstancias, no me fui a ningún lado.&#xA;Con el tiempo disponible decidí probar &lt;a href=&#34;https://caddyserver.com/&#34;&gt;caddy server&lt;/a&gt;, que es un lindo servidorcito escrito en go con integración de &lt;a href=&#34;https://letsencrypt.org/&#34;&gt;lets encrypt&lt;/a&gt;, escrito en &lt;a href=&#34;https://golang.org/&#34;&gt;Go&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ahora bien, el resultado final es que no logré meterlo en mi servidor, pero la razón no es el software en sí.&lt;/p&gt;&#xA;&lt;p&gt;Muchos softwares en Go carecen de paquetes por distribución y, después de intentar empaquetar caddy, no puedo culparlos para nada.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nueva sección de tutoriales</title>
      <link>https://perri.to/es/2016/02/nueva-seccion-de-tutoriales/</link>
      <pubDate>Mon, 29 Feb 2016 20:56:34 -0300</pubDate>
      <guid>https://perri.to/es/2016/02/nueva-seccion-de-tutoriales/</guid>
      <description>&lt;p&gt;Después de darle algunas vueltas a cómo hablar sobre reflection en go&#xA;y quizás algunos otros temas interesantes sobre los que tal vez quiera escribir&#xA;en detalle, decidí agregar una sección de &lt;strong&gt;Tutoriales&lt;/strong&gt; a este sitio.&lt;/p&gt;&#xA;&lt;p&gt;También tuve que cambiar el tema del sitio porque el anterior era solo para blog.&lt;/p&gt;&#xA;&lt;p&gt;Así que muchas gracias al autor de &lt;a href=&#34;https://github.com/spf13/herring-cove&#34;&gt;herring cove&lt;/a&gt; por lo que es mi nuevo tema.&lt;/p&gt;&#xA;&lt;p&gt;Y acá está la &lt;a href=&#34;https://perri.to/tutorials/quick_reflection_tutorial/&#34;&gt;flamante nueva sección de &lt;strong&gt;Tutoriales&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Primavera</title>
      <link>https://perri.to/es/2015/09/primavera/</link>
      <pubDate>Sun, 27 Sep 2015 16:06:16 -0300</pubDate>
      <guid>https://perri.to/es/2015/09/primavera/</guid>
      <description>&lt;h3 id=&#34;llegó-la-primavera&#34;&gt;Llegó la primavera&lt;/h3&gt;&#xA;&lt;p&gt;La primavera siempre despierta mi espíritu fotográfico (no te ilusiones,&#xA;es más un espíritu que otra cosa).&#xA;Hoy es uno de los primeros días realmente lindos, después de una lluvia suave&#xA;toda la noche, y las plantas están vivaces y abiertas, así que acá van algunas fotos.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a data-flickr-embed=&#34;true&#34;  href=&#34;https://www.flickr.com/photos/perrito667/albums/72157656841928154&#34; title=&#34;Primavera 2015 - 2016&#34;&gt;&lt;img src=&#34;https://farm1.staticflickr.com/680/21575486128_89c6c93785_z.jpg&#34; width=&#34;428&#34; height=&#34;640&#34; alt=&#34;Primavera 2015 - 2016&#34;&gt;&lt;/a&gt;&lt;script async src=&#34;//embedr.flickr.com/assets/client-code.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&lt;/p&gt;&#xA;&lt;p&gt;También horneé un poco de pan ya que estaba con ganas (y me había quedado sin pan)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mi primer snippet de emacs (mostrar el nombre de archivo del buffer actual)</title>
      <link>https://perri.to/es/2015/09/mi-primer-snippet-de-emacs-mostrar-el-nombre-de-archivo-del-buffer-actual/</link>
      <pubDate>Fri, 04 Sep 2015 20:32:13 -0300</pubDate>
      <guid>https://perri.to/es/2015/09/mi-primer-snippet-de-emacs-mostrar-el-nombre-de-archivo-del-buffer-actual/</guid>
      <description>&lt;h3 id=&#34;puede-ser-feo-pero-es-mío&#34;&gt;Puede ser feo, pero es mío.&lt;/h3&gt;&#xA;&lt;p&gt;Soy un tipo de consola, me gusta hacer muchas cosas en la consola aunque lo más&#xA;probable es que se puedan canalizar a través de mi editor (sinceramente, la cosa&#xA;tranquilamente podría correr su propio servidor X si la dejaran, estoy seguro de eso).&lt;/p&gt;&#xA;&lt;p&gt;Actualmente me encuentro trabajando&#xA;en &lt;a href=&#34;https://golang.org/&#34;&gt;&lt;em&gt;golang&lt;/em&gt;&lt;/a&gt; que, en proyectos suficientemente grandes, tiene muchos&#xA;archivos con nombres parecidos. Los nombres parecidos en los archivos de go no son algo malo, el&#xA;path que llega al paquete termina siendo muy descriptivo,&#xA;como &lt;strong&gt;github.com/myproject/web/api.go&lt;/strong&gt; y &lt;strong&gt;github.com/myproject/ssh/api.go&lt;/strong&gt;&#xA;que forman un lindo nombre descriptivo en contexto (y en el código pueden terminar teniendo&#xA;cosas como &lt;strong&gt;web.API&lt;/strong&gt; y &lt;strong&gt;web.API.Endpoint&lt;/strong&gt; y &lt;strong&gt;ssh.API&lt;/strong&gt;) pero en mi editor,&#xA;cuando necesito saber qué archivo es este para hacer alguna cosa divertida con él en la consola&#xA;(o por cualquier otra razón) no encontré una forma práctica de averiguar el nombre, más que&#xA;abrir la selección de buffers, que no uso tanto porque uso &lt;a href=&#34;http://emacswiki.org/emacs/TabBarMode&#34;&gt;tabbar&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Volviendo a emacs</title>
      <link>https://perri.to/es/2015/09/volviendo-a-emacs/</link>
      <pubDate>Fri, 04 Sep 2015 20:04:46 -0300</pubDate>
      <guid>https://perri.to/es/2015/09/volviendo-a-emacs/</guid>
      <description>&lt;p&gt;Sí, ya sé, me convendría más hablar de religión, política, guerra&#xA;o cualquier otro tema menos sensible para los desarrolladores de todo el mundo.&lt;/p&gt;&#xA;&lt;h3 id=&#34;un-poco-de-contexto&#34;&gt;Un poco de contexto.&lt;/h3&gt;&#xA;&lt;p&gt;Fui durante muchos años (unos 10 si cuento bien) usuario de Vi, pero no&#xA;siempre fue así. Como la mayoría de los devs de mi edad, empecé usando el editor&#xA;Turbo* (Turbo C en mi caso), que seguramente tenía un nombre, pero nunca me tomé&#xA;la molestia de aprenderlo.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vendo iPhone 5C (rosa) libre</title>
      <link>https://perri.to/es/2015/08/vendo-iphone-5c-rosa-libre/</link>
      <pubDate>Sun, 30 Aug 2015 17:38:48 -0300</pubDate>
      <guid>https://perri.to/es/2015/08/vendo-iphone-5c-rosa-libre/</guid>
      <description>&lt;h2 id=&#34;tiene-poco-más-de-un-año-está-liberado&#34;&gt;Tiene poco más de un año, está liberado.&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;AR$6000&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Es un iPhone 5C de 16G, libre de fábrica.&lt;/li&gt;&#xA;&lt;li&gt;Color rosa.&lt;/li&gt;&#xA;&lt;li&gt;Protector original.&lt;/li&gt;&#xA;&lt;li&gt;Cargador con ficha US:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://perri.to/postmedia/vendo_iphone_5c/adapter.jpg&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;h4&gt;US power plug.&lt;/h4&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h3 id=&#34;si-les-interesa-mándenme-un-dm-mención-o-similar-acá-van-unas-fotos-reales-del-teléfono&#34;&gt;Si les interesa, mándenme un dm, mención o similar; acá van unas fotos reales del teléfono.&lt;/h3&gt;&#xA;&lt;p&gt;&lt;figure&gt;&lt;img src=&#34;https://perri.to/postmedia/vendo_iphone_5c/iphone_front.jpg&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;h4&gt;De frente&lt;/h4&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;figure&gt;&lt;img src=&#34;https://perri.to/postmedia/vendo_iphone_5c/iphone_rear.jpg&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;h4&gt;De atras&lt;/h4&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testeo en go, con go check</title>
      <link>https://perri.to/es/2015/08/testeo-en-go-con-go-check/</link>
      <pubDate>Fri, 28 Aug 2015 00:00:00 +0000</pubDate>
      <guid>https://perri.to/es/2015/08/testeo-en-go-con-go-check/</guid>
      <description>&lt;h2 id=&#34;aclaración-esto-está-pensado-principalmente-para-funcionar-como-mi-propia-autodocumentación&#34;&gt;Aclaración: esto está pensado principalmente para funcionar como mi propia autodocumentación.&lt;/h2&gt;&#xA;&lt;p&gt;Testear en go es bastante simple, como podés ver en &lt;a href=&#34;http://golang.org/pkg/testing/&#34;&gt;la documentación&lt;/a&gt;&#xA;Una estructura básica, un paquete simple:&lt;/p&gt;&#xA;&lt;p&gt;Un archivo llamado &lt;strong&gt;sample.go&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;package&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sample&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;sampleFunction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sampleSlice&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sampleSlice&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;sampleSlice&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;called&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;&lt;p&gt;En lo que a go respecta, esto es un paquete y si hacés &lt;strong&gt;go build&lt;/strong&gt; de eso, va a compilar.&#xA;Agregar testeo a ese paquete es tan simple como agregar un archivo que termine en &lt;strong&gt;_test.go&lt;/strong&gt;&#xA;Cualquier cosa con el nombre mencionado será interpretada como un archivo de test y, por lo tanto,&#xA;solo compilada al momento de testear.&#xA;A todos los efectos prácticos, durante el testeo, tu archivo será considerado parte del&#xA;paquete cuyo nombre se declara en la sección &lt;strong&gt;package&lt;/strong&gt; del &lt;strong&gt;_test.go&lt;/strong&gt;.&#xA;Lamentablemente, hasta acá llega la ayuda que nos da go para hacer tests; si leés la documentación, vas a&#xA;encontrar que no hay un conjunto de herramientas incorporado para cosas como aserciones y suites.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Locro a mi manera</title>
      <link>https://perri.to/es/2014/05/locro-a-mi-manera/</link>
      <pubDate>Sun, 25 May 2014 00:00:00 +0000</pubDate>
      <guid>https://perri.to/es/2014/05/locro-a-mi-manera/</guid>
      <description>&lt;h1 id=&#34;esta-receta&#34;&gt;Esta receta&lt;/h1&gt;&#xA;&lt;p&gt;Este locro es más o menos el que más me gusta. La siguiente receta tiene origen en la mezcla de varias distintas y se fue modificando durante varios años hasta que quedó a gusto de los comensales más habituales de su preparación anual.&lt;/p&gt;&#xA;&lt;h1 id=&#34;ingredientes&#34;&gt;Ingredientes&lt;/h1&gt;&#xA;&lt;h2 id=&#34;para-el-locro&#34;&gt;Para el locro&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;1 kg Maíz Egran (-30%)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;0.5 kg Porotos Egran (-30%) (Alubias)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;1.5 kg Zapallo para locro&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;0.3 kg Panceta&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;1 kg Asado (Falda)&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
