<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Picando Código</title>
	<atom:link href="https://picandocodigo.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://picandocodigo.net</link>
	<description>Blog sobre programación, tecnología, software libre, videojuegos, cómics y más</description>
	<lastBuildDate>Tue, 09 Jun 2026 11:57:18 +0000</lastBuildDate>
	<language>es-AR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://picandocodigo.net/wp-content/uploads/2013/07/cropped-avatar-150-32x32.png</url>
	<title>Picando Código</title>
	<link>https://picandocodigo.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>[Libro] Sobredosis Pop - Ignacio Alcuri</title>
		<link>https://picandocodigo.net/2026/libro-sobredosis-pop-ignacio-alcuri/</link>
					<comments>https://picandocodigo.net/2026/libro-sobredosis-pop-ignacio-alcuri/#respond</comments>
		
		<dc:creator><![CDATA[Fernando]]></dc:creator>
		<pubDate>Tue, 09 Jun 2026 10:00:40 +0000</pubDate>
				<category><![CDATA[Libros]]></category>
		<category><![CDATA[Ignacio Alcuri]]></category>
		<guid isPermaLink="false">https://picandocodigo.net/?p=18771</guid>

					<description><![CDATA[<p>Sobredosis Pop fue el primer libro de cuentos cortos y experimentos literarios de Ignacio Alcuri, publicado en 2003. En mi más reciente viaje a Uruguay, me encontré con una nueva edición. Fue en marzo, mientras recorría la sección de autores nacionales y latinoamericanos en el local de Libros Libros del chopin "Atlántico" en Maldonado. Me sorprendió encontrarlo, no sabía que había recibido esta edición ampliada en 2025: Sobredosis pop es un hito en la literatura uruguaya. Cuando el siglo XXI apenas daba sus primeros pasos y no había mucho más que filias y fobias a Benedetti, así como fervorosas alabanzas [&#8230;]</p>
El post <a href="https://picandocodigo.net/2026/libro-sobredosis-pop-ignacio-alcuri/">[Libro] Sobredosis Pop - Ignacio Alcuri</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="aligncenter size-full wp-image-18793" src="https://picandocodigo.net/wp-content/uploads/2026/06/ignacio-alcuri-sobredosis-pop.jpg" alt="Ignacio Alcuri - Sobredosis Pop" width="1000" height="522" srcset="https://picandocodigo.net/wp-content/uploads/2026/06/ignacio-alcuri-sobredosis-pop.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/06/ignacio-alcuri-sobredosis-pop-300x157.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/06/ignacio-alcuri-sobredosis-pop-768x401.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/06/ignacio-alcuri-sobredosis-pop-600x313.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/06/ignacio-alcuri-sobredosis-pop-900x470.jpg 900w" sizes="(max-width: 1000px) 100vw, 1000px" /></p>
<p><strong>Sobredosis Pop</strong> fue el primer libro de cuentos cortos y experimentos literarios de <strong>Ignacio Alcuri</strong>, publicado en 2003. En <a href="https://picandocodigo.net/2026/en-uruguay-2/">mi más reciente viaje a Uruguay</a>, me encontré con una nueva edición. Fue en marzo, mientras recorría la sección de autores nacionales y latinoamericanos en el local de Libros Libros del chopin "Atlántico" en Maldonado. Me sorprendió encontrarlo, no sabía que había recibido esta edición ampliada en 2025:</p>
<blockquote><p>Sobredosis pop es un hito en la literatura uruguaya. Cuando el siglo XXI apenas daba sus primeros pasos y no había mucho más que filias y fobias a Benedetti, así como fervorosas alabanzas a la grisura onettiana, vino este libro a demostrar que se podía escribir de otra manera y sobre otros asuntos. A través de textos fragmentarios (a veces graciosos, a veces tiernos, a veces amargos; siempre ocurrentes), se nos presentan escenas cotidianas en clave de crónica, reflexiones divergentes sobre asuntos de suma inimportancia y parodias a troche y moche. Esta es una edición aumentada y revisada por su autor (no demasiado, tampoco abusar) de aquel iniciático y prometedor libro.</p></blockquote>
<p>Incluye el contenido de la original, nuevos textos viejos y un glosario para centennials. El glosario explica palabras y términos que de repente están muy conectadas al contexto histórico y geográfico en el que se encontraba el autor. Y eso es una de las cosas que aprecié al volver a leer este libro. Son una foto instantánea de ese momento en la historia a través de los ojos y la mente podrida de Nacho.</p>
<p>Así que mientras lo leemos, algunos encontramos elementos que nos generan nostalgia por tiempos pasados. Y como sabemos, todo tiempo pasado fue mejor. Podemos revolcarnos en esa nostalgia como mecanismo para enfrentar el constante miedo existencial del horrible mundo en el que vivimos. Con sus cuentos y observaciones, Nacho no sólo interpreta, también aporta al Zeitgeist como un elemento más de la cultura popular del tiempo espacio en que se encontraba.</p>
<p>Ya había leído este libro, de hecho en la reseña a <a title="[Libro] Ignacio Alcuri - La novia de Johnny Storm ve la vaca y llora" href="https://picandocodigo.net/2022/libro-ignacio-alcuri-la-novia-de-johnny-storm-ve-la-vaca-y-llora/" rel="bookmark">La novia de Johnny Storm ve la vaca y llora</a>, hablé de uno de los cuentos de acá: <em>Deconstruyendo a Juan</em>. A su vez esto fue la inspiración para un cuento que escribí en el taller que hace Nacho sobre Relato Breve en escuela Carne: <em>Deconstruyendo a Nacho</em>. Pero todo lo que escribí en ese taller sigue archivado en uno o más discos duros, esperando el día que me anime compartirlos en un espacio más público que ese taller. Si es que algún día lo hago.</p>
<p>Por suerte hace tanto tiempo que lo leí por primera vez, que fue como leer un libro nuevo. El formato se presta para leer de a ratitos cortos. Incluso lo empecé a leer estando en Uruguay, en Marzo, y fui leyendo uno o dos cuentos cada tanto. Hace poco me enganché y terminé los últimos cuentos que me iban quedando (incluyendo los nuevos textos viejos). Creo que algún otro de sus libros del estilo, Nacho mismo lo promocionaba como "ideal para leer en el baño".</p>
<p>Casi todos estos libros incluyen al menos un cuento con humor escatológico, creo. El de este libro, <em>It came from Uranus</em>, es muy bueno. Además de caca hay humor, autocrítica, y más. El autor lleva como nueves libros en este formato. Sobredosis Pop es donde empezó todo, así que es material imprescindible, y esta es la edición absoluta (?) para agregar a la colección. Al momento de escribir esto, creo que su último libro de cuentos es "Bestuario" de 2023 con un arte de tapa genial por Gustavo Sala. También el año pasado publicó un libro sobre la banda uruguaya Astroboy.</p>
<p>Mi ejemplar de la primera edición de Sobredosis Pop fue un regalo de Nacho. Esta vez pagué en una tienda y me siento mejor por haber aportado. Espero que esto lo ayude en la compra de su próximo helicóptero.</p>
<p>Más posts sobre libros que he leído de Ignacio Alcuri:</p>
<ul class="lcp_catlist" id="lcp_instance_0"><li class="current"><a href="https://picandocodigo.net/2026/libro-sobredosis-pop-ignacio-alcuri/">[Libro] Sobredosis Pop - Ignacio Alcuri</a></li><li><a href="https://picandocodigo.net/2022/libro-ignacio-alcuri-la-novia-de-johnny-storm-ve-la-vaca-y-llora/">[Libro] Ignacio Alcuri - La novia de Johnny Storm ve la vaca y llora</a></li><li><a href="https://picandocodigo.net/2020/libro-la-crisis-de-los-38-por-ignacio-alcuri/">[Libro] La crisis de los 38 por Ignacio Alcuri</a></li></ul>
<p>Se puede seguir a Nacho y lo que escribe en su blog <a href="https://sobredosispop.blogspot.com/" target="_blank" rel="noopener">Sobredosis Pop</a>. El libro se consigue en librerías de Uruguay y seguramente esté disponible en formato ebook online.</p>El post <a href="https://picandocodigo.net/2026/libro-sobredosis-pop-ignacio-alcuri/">[Libro] Sobredosis Pop - Ignacio Alcuri</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></content:encoded>
					
					<wfw:commentRss>https://picandocodigo.net/2026/libro-sobredosis-pop-ignacio-alcuri/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hoy es viernes, ¿qué hay en tu escritorio?</title>
		<link>https://picandocodigo.net/2026/hoy-es-viernes-que-hay-en-tu-escritorio/</link>
					<comments>https://picandocodigo.net/2026/hoy-es-viernes-que-hay-en-tu-escritorio/#comments</comments>
		
		<dc:creator><![CDATA[Fernando]]></dc:creator>
		<pubDate>Fri, 05 Jun 2026 17:15:56 +0000</pubDate>
				<category><![CDATA[Películas/TV]]></category>
		<category><![CDATA[Trabajo]]></category>
		<category><![CDATA[Videojuegos]]></category>
		<category><![CDATA[Cine]]></category>
		<category><![CDATA[Escritorio]]></category>
		<category><![CDATA[Viernes]]></category>
		<guid isPermaLink="false">https://picandocodigo.net/?p=18775</guid>

					<description><![CDATA[<p>Hoy es viernes y habiendo terminado de trabajar, saltó la inspiración para escribir en el blog. Con la excusa de ¿qué hay en tu escritorio? como detonante para enfrentar la página en blanco (o en mi caso el cuadro de texto en gris oscuro en el escritorio virtual de WordPress porque uso el plugin Dark Reader en Waterfox), comento sobre la semana. En verdad la inspiración vino de que vi todo lo que tenía al costado del mouse y teclado y pensé "¡qué quilombo!". Hay una mezcla de cosas del trabajo y cosas personales, el tema de trabajar desde casa. [&#8230;]</p>
El post <a href="https://picandocodigo.net/2026/hoy-es-viernes-que-hay-en-tu-escritorio/">Hoy es viernes, ¿qué hay en tu escritorio?</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></description>
										<content:encoded><![CDATA[<div id="attachment_18778" style="width: 242px" class="wp-caption alignright"><a href="https://picandocodigo.net/?attachment_id=18778" rel="attachment wp-att-18778"><img decoding="async" aria-describedby="caption-attachment-18778" class="size-medium wp-image-18778" src="https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-232x300.jpg" alt="Mi escritorio al finalizar la jornada laboral de hoy viernes" width="232" height="300" srcset="https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-232x300.jpg 232w, https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-600x775.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026.jpg 619w" sizes="(max-width: 232px) 100vw, 232px" /></a><p id="caption-attachment-18778" class="wp-caption-text">Mi escritorio al finalizar la jornada laboral de hoy viernes</p></div>
<p>Hoy es viernes y habiendo terminado de trabajar, saltó la inspiración para escribir en el blog. Con la excusa de <em>¿qué hay en tu escritorio?</em> como detonante para enfrentar la página en blanco (o en mi caso el cuadro de texto en gris oscuro en el escritorio virtual de WordPress porque uso el plugin Dark Reader en Waterfox), comento sobre la semana.</p>
<p>En verdad la inspiración vino de que vi todo lo que tenía al costado del mouse y teclado y pensé "¡qué quilombo!". Hay una mezcla de cosas del trabajo y cosas personales, el tema de trabajar desde casa.</p>
<p>Pero los viernes aprovecho para ordenar un poco. Guardo las cosas del trabajo que no vuelven a salir hasta el lunes, y de paso pego una limpieza rápida a la oficina. También esto es porque me gusta mirar fotos de hace años de mi escritorio (como <a href="https://picandocodigo.net/2010/fotos-nuevo-workspace-escritorio-nuevo/">aquel escritorio</a> que me compré en 2010 para el monoambiente que vivía en Montevideo). Es interesante ir viendo cómo cambia y recordar cómo era "mi escritorio" en otros tiempos.</p>
<p>Todo sirve como excusa para escribir este post y ver si alguien del otro lado responde. Al lado de los libros y cuadernos hay una pokebola que me regaló mi familia con un Pikachu en un ambiente estilo terrario y las banderas de Escocia y Uruguay. A su derecha una de las viejas y queridas cajas que usábamos para guardar discos floppy de 3½ pulgadas. Ahí guardo accesorios varios relacionados a la computadora. Después se ve un calendario de Nintendo que regalaban con los puntos platino de nuestra cuenta. El mes de junio tiene un control de Super Nintendo en un lado y Super Punch Out del otro.</p>
<p>Hay un posavasos que me regaló mi primo que es como el caparazón azul de Mario Kart pero con los colores de Bowser. Después mi estrategia súper lifehack efectividad pro tip para gestionar trabajo: Una libreta de papel. Ahí voy anotando cosas por hacer, ideas, tareas pendientes y demás. También a veces en reuniones me queda más a mano anotar cosas en post-its y después las pego en la libreta. Todo es efímero de todas formas. Imprescindible las lapiceras Bic azul, roja y verde. Estas son mis herramientas profesionales<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> para prosperar en mi carrera laboral hashtag Linkedin. Síganme por más consejos sorprendentes del mundo laboral.</p>
<p>A su lado está uno de mis cuadernos donde anoto ideas que van desde aplicaciones que me gustaría desarrollar, diseños de camisetas para vender, implementaciones con hardware y más. Está ahí porque esta semana anoté una idea nueva y no lo volví a guardar en su lugar. Tarea pendiente para hoy.</p>
<p>Encima de ese cuaderno hay un coso con cierre que adentro tiene un montón de adaptadores USB y otros cosas. Está el adaptador de microSD a SD y una tarjeta SD. Esto está relacionado al <em>Analogue Pocket</em> que también se ve sobre mi agenda de papel. Esta semana el equipo de <a href="https://patmoritateam.com/" target="_blank" rel="noopener">Pat Morita</a> nos mandó el rom de <a href="https://www.kickstarter.com/projects/patmorita/metal-miracle-game-boy-color" target="_blank" rel="nofollow noopener">Metal Miracle</a> a los backers en Kickstarter. Así que lo estuve probando y está muy bueno. Debería empezar a escribir sobre lo que vengo jugando de la escena homebrew en Game Boy, que está que explota.</p>
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3ae.png" alt="🎮" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Siguiendo con el tema videojuegos, con mi primo tratamos de aprovechar la suscripción a <em>Nintendo Online</em> organizando partidas online al menos una vez al mes. Ayer jugamos <strong>Absolum</strong>, un beat 'em up con elementos roguelike. El arte es excelente, hablamos de que a veces nos hacía acordar a Mike Mignola, y otras tiene aire como al arte de Matías Bergara. Los gráficos (2D) en general son muy buenos, el diseño de los personajes y escenarios parece sacado de una novela gráfica. El gameplay también, el control es muy bueno y en general es tremendo beat 'em up.</p>
<p>Pero sigo teniendo problemas con el género <em>rogue(like|lite)</em>. Primero que jugando online con alguien, es un embole ponerse a leer cada item nuevo qué estadística te aumenta en un x% o si te da un poder de fuego o agua cuando hacés un ataque específico. Después que tener que volver a jugar todo de nuevo cada vez que perdés porque está diseñado para que pierdas mucho y arranques siempre de nuevo. Me sigue dando la impresión de que la intención es que juegues 150 horas y te genere adicción. Se beneficiaría mucho, para mi gusto, teniendo una experiencia más curada donde jugamos todas las pantallas sucesivamente. En fin, volveremos a jugarlo seguramente porque es entretenido, pero tiene ese tema. Lo mismo con <em>TMNT: Splintered Fate</em>. <small>(Idea para futuro blog post: <em>Roguelikes, ¿soy muy viejo para disfrutarlos?</em>)</small></p>
<p>Por otro lado, terminé la historia principal de <strong>Bubsy 4D</strong> en Nintendo Switch 2. Es un juego de plataformas divertido. Se destaca el arte, humor y la voz de Bubsy está muy bien. Mis expectativas eran un poco altas por ser "el regreso de Bubsy", y estar publicado por Atari, pero hay que tener en cuenta que no deja de estar desarrollado por un equipo relativamente chico. Le veo mucho potencial para que continuen desarrollando esta nueva etapa del personaje. Es el mejor juego de Bubsy hasta ahora, aunque esto no diga demasiado. Es entretenido, y para quienes gusten de hacer speedrun, cuenta con mucha funcionalidad específicamente para eso. ¿Lo recomendaría si no fuera por Bubsy? No sé...</p>
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f37f.png" alt="🍿" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Éstos días he estado considerando ir al cine. No creo que vaya a mirar la nueva de Star Wars (<a href="https://mastodon.online/@picandocodigo/116671100477260828" target="_blank" rel="nofollow noopener">como comento acá</a>). Es raro que haya una película nueva de Star Wars en el cine y no tenga ni la más mínima motivación por ir a verla. Lo dice alguien que fue sólo al estreno de Episodio 1 y hasta arrastró a un grupo de amigos a mirar <a href="https://picandocodigo.net/2008/star-wars-the-clone-wars/">The Clone Wars</a>. Por lo menos <a href="https://ladiaria.com.uy/cultura/articulo/2026/5/the-mandalorian-and-grogu-accion-espacial-con-protagonistas-congelados-en-carbonita/" target="_blank" rel="nofollow noopener">la reseña de Nacho</a> me entretuvo. Buen trabajo Disney con eso...</p>
<p>Vengo pensando si ir a ver la de He-Man, <em>Masters of the Universe</em>. Los trailers no me generaron muchas ganas de ir. El mismo Nacho de la reseña de la de Grogu compartió su opinión por interno y no me terminó de convencer. De repente como excusa para ir al cine, puede estar entretenida. Miraba el dibujo animado de He-Man cuando era chico. Tenía seguramente más de una figura de acción de la saga. Pero recuerdo específicamente la de He-Man con un coso en el pecho que giraba al golpearlo, simulando daño. De grande aprendí que se llamaba <a href="https://www.youtube.com/watch?v=vC5f35vtAT4" target="_blank" rel="nofollow noopener">Battle Armor He-Man</a>. Vaya uno a saber dónde anda hoy en día ese macaco.</p>
<p>Hay algunas otras películas de terror que están buenas que a lo mejor se prestan para una mejor experiencia cinematográfica, veremos...</p>
<p>Una película para comentar que me sorprendió es <a href="https://www.youtube.com/watch?v=3oB9AxspVow" target="_blank" rel="nofollow noopener">The End of Oak Street</a>. Es una película con Ewan McGregor y dinosaurios. Lo sorprendente es que aparentemente no está basada en un libro, cómic, videojuego ni es un remake o reboot de una película anterior. Es un guión original para cine escrita y dirigida por David Robert Mitchell y producida por J. J. Abrams. Que sigan sacando más películas originales con dinosaurios, y que dejen descansar a Jurassic Park y Star Wars por unos buenos años...</p>
<div id="attachment_18776" style="width: 1010px" class="wp-caption aligncenter"><a href="https://picandocodigo.net/?attachment_id=18776" rel="attachment wp-att-18776"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-18776" class="size-full wp-image-18776" src="https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-02.jpg" alt="Otra foto de mi escritorio. Con Mikey y Donnie siempre recordándome que coma más pizza y un Parasaurolophus, mi dinosaurio favorito. ¿Cuál es tu dinosaurio favorito?" width="1000" height="563" srcset="https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-02.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-02-300x169.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-02-768x432.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-02-600x338.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/06/escritorio-viernes-05-06-2026-02-900x507.jpg 900w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a><p id="caption-attachment-18776" class="wp-caption-text">Otra foto de mi escritorio. Con Mikey y Donnie siempre recordándome que coma más pizza y un Parasaurolophus, mi dinosaurio favorito. ¿Cuál es tu dinosaurio favorito?</p></div>
<p>Ahora a desconectarse y disfrutar del fin de semana, entre las tareas de adulto pendientes. Espero que su viernes esté yendo bien y se vayan desconectando también.</p>El post <a href="https://picandocodigo.net/2026/hoy-es-viernes-que-hay-en-tu-escritorio/">Hoy es viernes, ¿qué hay en tu escritorio?</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></content:encoded>
					
					<wfw:commentRss>https://picandocodigo.net/2026/hoy-es-viernes-que-hay-en-tu-escritorio/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>¿Cómo juegan Mega Man X en el Super Nintendo?</title>
		<link>https://picandocodigo.net/2026/como-juegan-mega-man-x-en-el-super-nintendo/</link>
					<comments>https://picandocodigo.net/2026/como-juegan-mega-man-x-en-el-super-nintendo/#respond</comments>
		
		<dc:creator><![CDATA[Fernando]]></dc:creator>
		<pubDate>Tue, 02 Jun 2026 09:00:49 +0000</pubDate>
				<category><![CDATA[Videojuegos]]></category>
		<category><![CDATA[Mega Man]]></category>
		<category><![CDATA[Mega Man X]]></category>
		<category><![CDATA[Super Nintendo]]></category>
		<guid isPermaLink="false">https://picandocodigo.net/?p=18754</guid>

					<description><![CDATA[<p>El fin de semana pasado me puse a jugar a Mega Man X en Super Nintendo. Es uno de mis juegos preferidos, de los mejores de todos los tiempos. ¿Ustedes también juegan con los dedos en el control así? El pulgar lo uso para tener siempre cargando el mega buster en el Y, y saltar con el B. Pero la mayoría de las veces necesito saltar con el A para hacer la deslizada rápida (dash) hacia adelante. También se puede hacer el dash apretando dos veces el d-pad en la dirección en la que queremos ir. Pero es mucho más [&#8230;]</p>
El post <a href="https://picandocodigo.net/2026/como-juegan-mega-man-x-en-el-super-nintendo/">¿Cómo juegan Mega Man X en el Super Nintendo?</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></description>
										<content:encoded><![CDATA[<p>El fin de semana pasado me puse a jugar a <strong>Mega Man X</strong> en Super Nintendo. Es uno de mis juegos preferidos, de los mejores de todos los tiempos. ¿Ustedes también juegan con los dedos en el control así?</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18757" src="https://picandocodigo.net/wp-content/uploads/2026/06/control-snes-megaman-x.gif" alt="Cómo uso el control de Super Famicom para jugar Mega Man X" width="600" height="343"></p>
<p>El pulgar lo uso para tener siempre cargando el mega buster en el Y, y saltar con el B. Pero la mayoría de las veces necesito saltar con el A para hacer la deslizada rápida (dash) hacia adelante. También se puede hacer el dash apretando dos veces el d-pad en la dirección en la que queremos ir. Pero es mucho más práctico usar un botón.</p>
<p>Por cierto, siempre empiezo en la pantalla de <strong>Chill Penguin</strong>. Es donde encontramos la cápsula que nos da la armadura para las piernas, lo que nos permite usar este poder. Para mí siempre fue la primera pantalla de Mega Man X después de la introducción. Es una mecánica esencial el resto del juego.</p>
<p>Mi manera de jugar no es la más cómoda, así que se me ocurrió escribir al respecto en el blog. Creo que hace poco charlamos de este tema con mi primo en una sesión de Nintendo Online <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f914.png" alt="🤔" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Seguramente los controles fueron diseñados pensando en que al momento de saltar, uno usaría el pulgar sobre el A y B para poder moverse mejor. Pero yo necesito estar cargando el mega buster todo el tiempo. Más allá de que tengo prácticamente memorizado dónde van a aparecer enemigos en todas las pantallas de tanto que lo he jugado, necesito estar cargando mi mega buster, por las dudas.</p>
<p>¿Ustedes también? ¿O son normales y usan el pulgar sobre el A y B? ¿O son más normales todavía y no juegan juegos de hace más de 30 años? Estoy seguro que hay algún hack o una forma más práctica de hacerlo, pero yo todavía no la he encontrado.</p>
<p>En versiones modernas como <strong>Mega Man X Legacy Collection</strong>, podemos remapear el A al L o R, lo que lo hace infinitamente más cómodo. Pero en el Super Nintendo original, no queda otra que sufrir el A. Aparte si me acostumbro a usar un botón distinto en otra plataforma, cuando vuelva al Super Nintendo voy a sufrir porque tengo que volver al A.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18759" src="https://picandocodigo.net/wp-content/uploads/2026/06/megaman-x-legacy-collection-botones.jpg" alt="Mega Man X - Legacy Collection - menú de opciones" width="1000" height="281" srcset="https://picandocodigo.net/wp-content/uploads/2026/06/megaman-x-legacy-collection-botones.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/06/megaman-x-legacy-collection-botones-300x84.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/06/megaman-x-legacy-collection-botones-768x216.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/06/megaman-x-legacy-collection-botones-600x169.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/06/megaman-x-legacy-collection-botones-900x253.jpg 900w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p>
<p>Por cierto, usando el control <em>8 BitDo Pro 2</em>, me di cuenta que no puedo jugar a <strong>Mega Man X</strong> en <em>Mega Man X Legacy Collection</em>. Este control está diseñado de forma más ergonómica, y tiene como una elevación en la parte de atrás del control para un mejor agarre. El problema es que el dedo índice y el mayor quedan más separados y tendría que hacer un estiramiento doloroso para alcanzar el A. Así que el dedo mayor pasa al botón R, y todo el peso de la parte derecha del control cae sobre el meñique y el anular (<a href="https://picandocodigo.net/?attachment_id=18763" rel="attachment wp-att-18763">imagen</a>).</p>
<p>No es lo ideal, así que para esos casos tengo que usar el control de Super Nintendo o mi <a href="https://picandocodigo.net/2021/reparando-control-8bitdo-sn30-pro/">viejo y querido 8BitDo SN30 Pro</a> que ya está pidiendo cambio pobre.</p>
<p>Ese fin de semana jugué hasta vencer a todos los Mavericks, juntar todos los corazones y tanques y conseguir el hadouken. Tengo el password guardado para volver e intentar vencer a Sigma una vez más y terminar el juego. Mega Man X es uno de los mejores juegos 2D que existen, y me encantaría recordar la primera vez que lo jugué. Esta vez cuando termine, voy a ver si vuelvo a Mega Man X2 en Legacy Collection e intento terminarlo. Tanto X2 como X3 he llegado lejos, pero nunca los terminé, tareas pendientes...</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18761" src="https://picandocodigo.net/wp-content/uploads/2026/06/mega-man-x-dash.jpg" alt="Mega Man X - Dash" width="800" height="329" srcset="https://picandocodigo.net/wp-content/uploads/2026/06/mega-man-x-dash.jpg 800w, https://picandocodigo.net/wp-content/uploads/2026/06/mega-man-x-dash-300x123.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/06/mega-man-x-dash-768x316.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/06/mega-man-x-dash-600x247.jpg 600w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>El post <a href="https://picandocodigo.net/2026/como-juegan-mega-man-x-en-el-super-nintendo/">¿Cómo juegan Mega Man X en el Super Nintendo?</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></content:encoded>
					
					<wfw:commentRss>https://picandocodigo.net/2026/como-juegan-mega-man-x-en-el-super-nintendo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Reseña: Dracamar - Nintendo Switch</title>
		<link>https://picandocodigo.net/2026/resena-dracamar-nintendo-switch/</link>
					<comments>https://picandocodigo.net/2026/resena-dracamar-nintendo-switch/#respond</comments>
		
		<dc:creator><![CDATA[Fernando]]></dc:creator>
		<pubDate>Wed, 20 May 2026 08:00:40 +0000</pubDate>
				<category><![CDATA[Videojuegos]]></category>
		<category><![CDATA[Dracamar]]></category>
		<category><![CDATA[Nintendo Switch]]></category>
		<guid isPermaLink="false">https://picandocodigo.net/?p=18717</guid>

					<description><![CDATA[<p>Dracamar es un juego de plataformas 3D inspirado en clásicos del género. Es una aventura para un jugador en el que controlamos a un grupo de jóvenes en una aventura para salvar su archipiélago con ambientación basada en la cultura Mediterránea. El juego fue desarrollado por Petoons Studio, un estudio independiente de videojuegos fundado en Barcelona en 2017. Aspiran a crear juegos y juguetes mágicos para niños y familias de todo el mundo. El equipo es una mezcla de artistas, desarrolladores de videojuegos y educadores. Tienen amplia experiencia en el desarrollo de juegos infantiles y familiares para PC y consolas [&#8230;]</p>
El post <a href="https://picandocodigo.net/2026/resena-dracamar-nintendo-switch/">Reseña: Dracamar - Nintendo Switch</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></description>
										<content:encoded><![CDATA[<p><strong>Dracamar</strong> es un juego de plataformas 3D inspirado en clásicos del género. Es una aventura para un jugador en el que controlamos a un grupo de jóvenes en una aventura para salvar su archipiélago con ambientación basada en la cultura Mediterránea.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18726" src="https://picandocodigo.net/wp-content/uploads/2026/05/bienvenidos-a-dracamar.jpg" alt="Bienvenidos a Dracamar" width="1000" height="563" srcset="https://picandocodigo.net/wp-content/uploads/2026/05/bienvenidos-a-dracamar.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/05/bienvenidos-a-dracamar-300x169.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/05/bienvenidos-a-dracamar-768x432.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/05/bienvenidos-a-dracamar-600x338.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/05/bienvenidos-a-dracamar-900x507.jpg 900w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p>
<p>El juego fue desarrollado por <a href="https://www.petoons.com/es/about-us/" target="_blank" rel="noopener">Petoons Studio</a>, un estudio independiente de videojuegos fundado en Barcelona en 2017. Aspiran a crear juegos y juguetes mágicos para niños y familias de todo el mundo. El equipo es una mezcla de artistas, desarrolladores de videojuegos y educadores. Tienen amplia experiencia en el desarrollo de juegos infantiles y familiares para PC y consolas de algunas de las marcas más populares del mundo: Peppa Pig, PJ Masks, Bratz y Monster High, entre otras.</p>
<p>Es un clásico juego de plataformas 3D. A primera impresión me hizo acordar a los títulos de Bob Esponja que jugué anteriormente en Switch, <a href="https://picandocodigo.net/wp-content/uploads/2026/05/sponge-bob-squarepants-switch.jpg" target="_blank" rel="noopener"><em><strong>SpongeBob Squarepants: Battle for Bikini Bottom Rehydrated</strong></em> y <strong><em>Spongebob Squarepants: The Cosmic Shake</em></strong></a>. Además de los gráficos coloridos, la música tranquila y el estilo del juego, toma la misma decisión de saltar con el botón A en vez del B como nos tienen acostumbrados otros juegos. También puede que tome inspiración de series como <strong>Banjo Kazooie</strong> (o más recientemente <strong>Yooka-Laylee</strong>) o <strong>Crash Bandicoot</strong>.</p>
<p>Está disponible para PC, Xbox, PlayStation 4, PlayStation 5 y Nintendo Switch. Yo lo vengo jugando en mi Nintendo Switch 2.</p>
<p>Una de las primeras cosas que me gustó es que está disponible en español. Pero no sólo los subtítulos y la interfaz de usuario, los personajes tienen voz en español. Me gustó mucho escuchar las voces de distintos personajes en español, le agregan mucho carácter a la ambientación del mundo de Dracamar. ¡También vemos carteles con texto en Catalan! Si bien mi conocimiento de Catalán es muy reducido, me encantó verlo. Mi conexión familiar con Palma de Mallorca hace que no pueda evitar identificar algunos paisajes con la isla.</p>
<div id="attachment_18730" style="width: 1010px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-18730" class="wp-image-18730 size-full" src="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-partit.jpg" alt="Dracamar partit" width="1000" height="563" srcset="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-partit.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-partit-300x169.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-partit-768x432.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-partit-600x338.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-partit-900x507.jpg 900w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /><p id="caption-attachment-18730" class="wp-caption-text">Hace años que no como unos buenos canelones...</p></div>
<p>En el inicio elegimos entre uno de 3 personajes: <em>Caliu</em>, <em>Foc</em> y <em>Espurma</em>, pero podemos cambiarlo en cualquier momento. Todos juegan igual, las diferencias están en la apariencia. A lo largo de la aventura podemos ir obteniendo distintos atuendos para personalizar más al personaje.</p>
<p>Comenzando la partida nos encontramos con una pantalla tipo tutorial. Nos enseña cómo jugar, las habilidades de nuestro personaje así como información de los ítems que vamos a ir encontrando. En cada nivel tenemos una serie de objetos coleccionables siguiendo el legado de este tipo de plataformeros 3D y que a veces se denomina "Colectatón".</p>
<p>¿Se acuerdan cuando coleccionábamos figuritas? Tratando de completar el álbum. O tarjetas intercambiables de deportes o personajes ficticios. Supongo que esto es lo más parecido que tenemos hoy en día...</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18741" src="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-inicio.jpg" alt="Dracamar" width="1000" height="563" srcset="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-inicio.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-inicio-300x169.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-inicio-768x432.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-inicio-600x338.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-inicio-900x507.jpg 900w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p>
<p>El juego cuenta con 15 niveles normales y 5 extra. Además de enfrentar a enemigos, plataformas y puzzles, tenemos que explorar para lograr encontrar esos coleccionables. Los niveles son bastante grandes y a veces hasta se hacen un poco largos. Me hubiera gustado contar con un mapa del nivel para saber dónde ya he estado, y que facilite encontrar los objetos escondidos. De todas formas se premia la exploración en general y el volver a jugar una pantalla para encontrar más secretos.</p>
<p>Nos van a acompañar unos seres mágicos, Okis. El malvado dragón Rey Crad ha absorbido la energía de Coroki y la convirtió en energía negativa. La usa para transformar a los Okis en Mokis, una versión oscura y malvada de los Okis. Tenemos que rescatarlos y recoger la energía negativa que liberan en forma de moki-bolas para reconstruir los puentes entre las islas.</p>
<p>Los Okis son unos bichitos adorables y se siente un poco mal tener que atacarlos para liberarlos. Pero los desarrolladores incluyeron la habilidad de acariciarlos. Así que el primer rato del juego me pasé acariciando a cuanto animalito me encontrara. Particularmente a los que me sentía mal por haber golpeado para sacarles la energía negativa...</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-18733" src="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-acariciando-okis-1024x461.jpg" alt="Dracamar - Acariciando Okis" width="1024" height="461" srcset="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-acariciando-okis-1024x461.jpg 1024w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-acariciando-okis-300x135.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-acariciando-okis-768x346.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-acariciando-okis-600x270.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-acariciando-okis-900x405.jpg 900w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-acariciando-okis.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>Lo que más se destaca de este juego para mí es la ambientación. Los gráficos, el diseño de los ambientes y la música tienen un encanto particular.</p>
<p>Es un juego sumamente accesible, el nivel de dificultad en general es bajo. Además de las plataformas y puzzles en cada nivel, hay secciones variadas más rápidas como partes con toboganes, deslizándonos por rieles al estilo Sonic, siguiendo la corriente de un río en un inflable o niveles en los que pilotamos un avión. Esto le agrega un poco de variedad al estilo de juego. También hay pantallas de bonus donde podemos obtener más estrellas.</p>
<p>Los personajes cuentan con un doble salto y un ataque con Y que los hace girar y golpear cosas alrededor (tanto enemigos como elementos del ambiente). Encontré que combinando el doble salto con el ataque, a veces podemos alcanzar cosas que están más lejos. En ese sentido me dió un poco un aire a <strong>Super Mario Odyssey</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18735" src="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-variedad.jpg" alt="Dracamar" width="1280" height="720" srcset="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-variedad.jpg 1280w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-variedad-300x169.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-variedad-1024x576.jpg 1024w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-variedad-768x432.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-variedad-600x338.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-variedad-900x506.jpg 900w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></p>
<p>Hay 7 jefes finales, donde la dificultad salta un poco. En mi caso porque perdía intentando aprender cómo atacar a cada jefe. Lo molesto de esto es que cada vez que perdemos contra un jefe, tenemos que volver a jugar una parte donde "llegamos al jefe" que no aporta demasiado, y saltar la presentación del jefe a mano. Esto se vuelve tedioso bastante rápido. Pero una vez que entendemos los patrones de cada jefe, no es demasiado difícil vencerlos.</p>
<p>Hay varios personajes con diálogos en las distintas islas. Por ejemplo en la isla donde encontramos uvas y viñedos, un trabajador nos dice <em>"tengo la espalda doblada de tanto recolectar uva"</em>. Habría que convencerle de armar un sindicato. Otro en tono medio agresivo pasivo comenta <em>"podrías echar una mano, ¿no crees?"</em>. En la ciudad nos cuentan que con la invasión de Moki se han cancelado los partidos de fútbol!</p>
<p>Todo esto suma a la ambientación del juego, y me dejó muy contento volver a ver después de muchos años la palabra <a href="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-recorcholis.jpg" target="_blank" rel="noopener">recórcholis</a>.</p>
<a href="https://picandocodigo.net/2026/resena-dracamar-nintendo-switch/"><img decoding="async" src="https://i.ytimg.com/vi/37z-ACCA9IU/hqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>Dracamar es un juego que sigue la fórmula clásica de plataformas 3D con una ambientación especial que le da un encanto particular. Recomendado si les gusta este estilo de juego. Para completistas, hay contenido para rato. Creo que es ideal para jugadores de cualquier edad, pero particularmente para los más jóvenes (y quienes no somos jóvenes, pero tenemos mente de niño).</p>
<ul>
<li><a href="https://store.steampowered.com/app/3306480/Dracamar/" target="_blank" rel="nofollow noopener">Página en Steam</a></li>
<li><a href="https://dracamar.cat" target="_blank" rel="noopener">Página oficial</a></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18739" src="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-buenas-noches.jpg" alt="Dracamar - ¡Muy buenas noches!" width="1000" height="563" srcset="https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-buenas-noches.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-buenas-noches-300x169.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-buenas-noches-768x432.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-buenas-noches-600x338.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/05/dracamar-buenas-noches-900x507.jpg 900w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p>El post <a href="https://picandocodigo.net/2026/resena-dracamar-nintendo-switch/">Reseña: Dracamar - Nintendo Switch</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></content:encoded>
					
					<wfw:commentRss>https://picandocodigo.net/2026/resena-dracamar-nintendo-switch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Scripts para actualizar Navidrome</title>
		<link>https://picandocodigo.net/2026/scripts-para-actualizar-navidrome/</link>
					<comments>https://picandocodigo.net/2026/scripts-para-actualizar-navidrome/#comments</comments>
		
		<dc:creator><![CDATA[Fernando]]></dc:creator>
		<pubDate>Tue, 12 May 2026 20:50:33 +0000</pubDate>
				<category><![CDATA[Shell]]></category>
		<category><![CDATA[Navidrome]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scripts]]></category>
		<guid isPermaLink="false">https://picandocodigo.net/?p=18698</guid>

					<description><![CDATA[<p>Una de las responsabilidades de gestionar mi propio servidor personal de streaming de música Navidrome, es el mantenimiento.&#160;Siguiendo la línea de Scripts de mantenimiento para FreshRSS, comparto mis scripts para actualizar Navidrome. Al igual que con FreshRSS, estoy suscripto al feed de lanzamientos. De esta forma me entero cuando se publica una versión nueva y necesito actualizar mi instalación. FreshRSS viene corriendo en Docker, pero Navidrome lo tengo instalado a nivel sistema. Y no hay un repositorio de dónde actualizarlo, así que hay que hacerlo a mano. Pero como soy vago, escribo scripts. En primera instancia decidí escribir un script [&#8230;]</p>
El post <a href="https://picandocodigo.net/2026/scripts-para-actualizar-navidrome/">Scripts para actualizar Navidrome</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></description>
										<content:encoded><![CDATA[<p>Una de las responsabilidades de gestionar mi propio <a href="https://picandocodigo.net/2024/navidrome/">servidor personal de streaming de música Navidrome</a>, es el mantenimiento.&nbsp;Siguiendo la línea de <a href="https://picandocodigo.net/2026/scripts-de-mantenimiento-para-freshrss/">Scripts de mantenimiento para FreshRSS</a>, comparto mis scripts para actualizar Navidrome.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-18705" src="https://picandocodigo.net/wp-content/uploads/2026/05/navidrome.jpg" alt="Navidrome" width="1000" height="471" srcset="https://picandocodigo.net/wp-content/uploads/2026/05/navidrome.jpg 1000w, https://picandocodigo.net/wp-content/uploads/2026/05/navidrome-300x141.jpg 300w, https://picandocodigo.net/wp-content/uploads/2026/05/navidrome-768x362.jpg 768w, https://picandocodigo.net/wp-content/uploads/2026/05/navidrome-600x283.jpg 600w, https://picandocodigo.net/wp-content/uploads/2026/05/navidrome-900x424.jpg 900w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p>
<p>Al igual que con FreshRSS, estoy suscripto al <a href="https://github.com/navidrome/navidrome/releases.atom" target="_blank" rel="nofollow noopener">feed de lanzamientos</a>. De esta forma me entero cuando se publica una versión nueva y necesito actualizar mi instalación. FreshRSS viene corriendo en Docker, pero Navidrome lo tengo instalado a nivel sistema. Y no hay un repositorio de dónde actualizarlo, así que hay que hacerlo a mano. Pero como soy vago, escribo scripts.</p>
<p>En primera instancia decidí escribir un script en Ruby:</p>
<div class="codigo">
<p><span style="color: #75715e;" data-darkreader-inline-color="">#!/usr/bin/env ruby</span></p>
<p><span style="color: #f6aa11;" data-darkreader-inline-color="">require</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'json'</span><br />
<span style="color: #f6aa11;" data-darkreader-inline-color="">require</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'net/http'</span><br />
<span style="color: #f6aa11;" data-darkreader-inline-color="">require</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'open-uri'</span></p>
<p><span style="color: #75715e;" data-darkreader-inline-color=""># La dirección del release más reciente en la API de GitHub:</span><br />
<span style="color: #ffffff;" data-darkreader-inline-color="">url</span> <span style="color: #f92672;" data-darkreader-inline-color="">=</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'https://api.github.com/repos/navidrome/navidrome/releases/latest'</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># En esta línea anidada de cosas, primero uso URI para parsear el String url y crear el URI</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Eso se lo paso a net/http para que haga un pedido HTTP GET.</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># La respuesta es en formato JSON, así que lo parseo con JSON.parse:</span><br />
<span style="color: #ffffff;" data-darkreader-inline-color="">data</span> <span style="color: #f92672;" data-darkreader-inline-color="">=</span> <span style="color: #66d9ef;" data-darkreader-inline-color="">JSON</span><span style="color: #ffffff;" data-darkreader-inline-color="">.</span><span style="color: #a6e22e;" data-darkreader-inline-color="">parse</span><span style="color: #ffffff;" data-darkreader-inline-color="">(</span><span style="color: #66d9ef;" data-darkreader-inline-color="">Net</span><span style="color: #f92672;" data-darkreader-inline-color="">::</span><span style="color: #66d9ef;" data-darkreader-inline-color="">HTTP</span><span style="color: #ffffff;" data-darkreader-inline-color="">.</span><span style="color: #a6e22e;" data-darkreader-inline-color="">get</span><span style="color: #ffffff;" data-darkreader-inline-color="">(</span><span style="color: #66d9ef;" data-darkreader-inline-color="">URI</span><span style="color: #ffffff;" data-darkreader-inline-color="">(</span><span style="color: #ffffff;" data-darkreader-inline-color="">url</span><span style="color: #ffffff;" data-darkreader-inline-color="">)))</span></p>
<p><span style="color: #75715e;" data-darkreader-inline-color=""># Acá filtro la arquitectura arm64 de Raspberry Pi y el paquete .deb:</span><br />
<span style="color: #ffffff;" data-darkreader-inline-color="">package</span> <span style="color: #f92672;" data-darkreader-inline-color="">=</span> <span style="color: #ffffff;" data-darkreader-inline-color="">data</span><span style="color: #ffffff;" data-darkreader-inline-color="">[</span><span style="color: #e6db74;" data-darkreader-inline-color="">'assets'</span><span style="color: #ffffff;" data-darkreader-inline-color="">].</span><span style="color: #a6e22e;" data-darkreader-inline-color="">find</span> <span style="color: #ffffff;" data-darkreader-inline-color="">{</span> <span style="color: #f92672;" data-darkreader-inline-color="">|</span><span style="color: #ffffff;" data-darkreader-inline-color="">a</span><span style="color: #f92672;" data-darkreader-inline-color="">|</span> <span style="color: #ffffff;" data-darkreader-inline-color="">a</span><span style="color: #ffffff;" data-darkreader-inline-color="">[</span><span style="color: #e6db74;" data-darkreader-inline-color="">'name'</span><span style="color: #ffffff;" data-darkreader-inline-color="">].</span><span style="color: #a6e22e;" data-darkreader-inline-color="">match?</span><span style="color: #ffffff;" data-darkreader-inline-color="">(</span><span style="color: #f6aa11;" data-darkreader-inline-color="">/arm64\.deb/</span><span style="color: #ffffff;" data-darkreader-inline-color="">)</span> <span style="color: #ffffff;" data-darkreader-inline-color="">}</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Aviso qué paquete encontré:</span><br />
<span style="color: #f6aa11;" data-darkreader-inline-color="">puts</span> <span style="color: #e6db74;" data-darkreader-inline-color="">"Encontrado </span><span style="color: #e6db74;" data-darkreader-inline-color="">#{</span><span style="color: #ffffff;" data-darkreader-inline-color="">package</span><span style="color: #ffffff;" data-darkreader-inline-color="">[</span><span style="color: #e6db74;" data-darkreader-inline-color="">'name'</span><span style="color: #ffffff;" data-darkreader-inline-color="">]</span><span style="color: #e6db74;" data-darkreader-inline-color="">}</span><span style="color: #e6db74;" data-darkreader-inline-color="">"<br />
</span><span data-darkreader-inline-color=""># Obtengo la dirección para descargar el paquete, que está en el mismo JSON:</span><br />
<span style="color: #ffffff;" data-darkreader-inline-color="">deb_file</span> <span style="color: #f92672;" data-darkreader-inline-color="">=</span> <span style="color: #ffffff;" data-darkreader-inline-color="">package</span><span style="color: #ffffff;" data-darkreader-inline-color="">[</span><span style="color: #e6db74;" data-darkreader-inline-color="">'browser_download_url'</span><span style="color: #ffffff;" data-darkreader-inline-color="">]</span></p>
<p><span style="color: #ffffff;" data-darkreader-inline-color="">filename</span> <span style="color: #f92672;" data-darkreader-inline-color="">=</span> <span style="color: #ffffff;" data-darkreader-inline-color="">package</span><span style="color: #ffffff;" data-darkreader-inline-color="">[</span><span style="color: #e6db74;" data-darkreader-inline-color="">'name'</span><span style="color: #ffffff;" data-darkreader-inline-color="">]</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># En estas líneas descargo el paquete .deb</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Lo guardo a un archivo con el mismo nombre (ej: navidrome_0.61.2_linux_arm64.deb)</span><br />
<span style="color: #66d9ef;" data-darkreader-inline-color="">File</span><span style="color: #ffffff;" data-darkreader-inline-color="">.</span><span style="color: #a6e22e;" data-darkreader-inline-color="">open</span><span style="color: #ffffff;" data-darkreader-inline-color="">(</span><span style="color: #ffffff;" data-darkreader-inline-color="">filename</span><span style="color: #ffffff;" data-darkreader-inline-color="">,</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'w'</span><span style="color: #ffffff;" data-darkreader-inline-color="">)</span> <span style="color: #f92672;" data-darkreader-inline-color="">do</span> <span style="color: #f92672;" data-darkreader-inline-color="">|</span><span style="color: #ffffff;" data-darkreader-inline-color="">downloaded_file</span><span style="color: #f92672;" data-darkreader-inline-color="">|</span><br />
&nbsp;&nbsp;<span style="color: #66d9ef;" data-darkreader-inline-color="">URI</span><span style="color: #ffffff;" data-darkreader-inline-color="">.</span><span style="color: #a6e22e;" data-darkreader-inline-color="">open</span><span style="color: #ffffff;" data-darkreader-inline-color="">(</span><span style="color: #ffffff;" data-darkreader-inline-color="">deb_file</span><span style="color: #ffffff;" data-darkreader-inline-color="">,</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'rb'</span><span style="color: #ffffff;" data-darkreader-inline-color="">)</span> <span style="color: #f92672;" data-darkreader-inline-color="">do</span> <span style="color: #f92672;" data-darkreader-inline-color="">|</span><span style="color: #ffffff;" data-darkreader-inline-color="">artifact_file</span><span style="color: #f92672;" data-darkreader-inline-color="">|</span><br />
&nbsp;&nbsp;<span style="color: #ffffff;" data-darkreader-inline-color="">downloaded_file</span><span style="color: #ffffff;" data-darkreader-inline-color="">.</span><span style="color: #a6e22e;" data-darkreader-inline-color="">write</span><span style="color: #ffffff;" data-darkreader-inline-color="">(</span><span style="color: #ffffff;" data-darkreader-inline-color="">artifact_file</span><span style="color: #ffffff;" data-darkreader-inline-color="">.</span><span style="color: #a6e22e;" data-darkreader-inline-color="">read</span><span style="color: #ffffff;" data-darkreader-inline-color="">)</span><br />
&nbsp;&nbsp;<span style="color: #f92672;" data-darkreader-inline-color="">end</span><br />
<span style="color: #f92672;" data-darkreader-inline-color="">end</span></p>
<p><span style="color: #75715e;" data-darkreader-inline-color="">#Después puedo usar dpkg -i para instalarlo:</span><br />
<span style="color: #e6db74;" data-darkreader-inline-color="">`sudo dpkg -i </span><span style="color: #e6db74;" data-darkreader-inline-color="">#{</span><span style="color: #ffffff;" data-darkreader-inline-color="">filename</span><span style="color: #e6db74;" data-darkreader-inline-color="">}</span><span style="color: #e6db74;" data-darkreader-inline-color="">`</span></p>
</div>
<p>Obviamente no todo es tan fácil en la vida como escribir un script Ruby y ya está. En la Raspberry Pi tenía la versión de Ruby del sistema, que era bastante antigua. Creo que algo no anduvo de primera, y pensé "<em>bueno, puedo editarlo para que funcione con un Ruby más viejo, tampoco es un código tan complejo</em>". Pero decidí que era hora de tener un gestor de Rubíes en mi Raspberry Pi. La uso para tanta cosa, que quiero tener la libertad de escribirle scripts en Ruby cuando necesite.</p>
<p>Así que en eso me puse a instalar <em>rbenv</em> en la Raspberry Pi y <em>ruby-build</em> desde git para poder instalar Ruby 4. Mientras tanto, me puse a probar de implementar el mismo script con Bash. En algún momento me di por vencido porque sabía lo que necesitaba pero no sabía cómo hacerlo con <code>jq</code>.</p>
<p><code>jq</code>es como <code>sed</code>pero para JSON. Se puede hacer un montón de cosas al estilo <code>awk</code>, <code>grep</code> y <code>sed</code>pero con JSON. El tema que no lograba encontrar el código exacto que me permitiera hacer el equivalente a <code><span data-darkreader-inline-color="">package</span> <span data-darkreader-inline-color="">=</span> <span data-darkreader-inline-color="">data</span><span data-darkreader-inline-color="">[</span><span data-darkreader-inline-color="">'assets'</span><span data-darkreader-inline-color="">].</span><span data-darkreader-inline-color="">find</span> <span data-darkreader-inline-color="">{</span> <span data-darkreader-inline-color="">|</span><span data-darkreader-inline-color="">a</span><span data-darkreader-inline-color="">|</span> <span data-darkreader-inline-color="">a</span><span data-darkreader-inline-color="">[</span><span data-darkreader-inline-color="">'name'</span><span data-darkreader-inline-color="">].</span><span data-darkreader-inline-color="">match?</span><span data-darkreader-inline-color="">(</span><span data-darkreader-inline-color="">/arm64\.deb/</span><span data-darkreader-inline-color="">)</span> <span data-darkreader-inline-color="">}</span></code> en Ruby.</p>
<p>A todo esto estaba charlando con mi amigo Gonza, con el que siempre charlamos de éstas cosas, sobretodo cuando estamos haciendo algo copado. ¿Ustedes no hablan con sus amigues de los scripts que están escribiendo? ¿O de sus Raspberry Pis? ¿No usan XMPP? Bueno, problemas tenemos todos. En eso Gonza encuentra la sintaxis que preciso para que ande el <code>jq</code> y lo <a href="https://mastodon.online/@picandocodigo/116144947227735790">comento online</a>. Lo comparto acá porque la respuesta que se mandó Gonza es digna de ser compartida: <em>siempre distrayendo de lo que importa, estoy para trabajar en los medios</em> (<a href="https://mastodon.uy/@grilix/116144954356460419" target="_blank" rel="noopener nofollow">enlace</a>, síganlo y denle "favorito").</p>
<p>Y con la pieza que faltaba, quedó el script en Bash:</p>
<div class="codigo">
<p><span style="color: #75715e;" data-darkreader-inline-color="">#!/bin/bash</span></p>
<p><span style="color: #f6aa11;" data-darkreader-inline-color="">set</span> <span style="color: #f92672;" data-darkreader-inline-color="">-eo</span> pipefail</p>
<p><span style="color: #75715e;" data-darkreader-inline-color=""># Primero descargo la información del release con curl</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Se la pipeo a jq que filtra el nombre del paquete de la arquitectura que preciso y .deb</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Lo guardo en la variable DATA</span><br />
<span style="color: #ffffff;" data-darkreader-inline-color="">DATA</span><span style="color: #f92672;" data-darkreader-inline-color="">=</span><span style="color: #e6db74;" data-darkreader-inline-color="">`</span>curl <span style="color: #e6db74;" data-darkreader-inline-color="">'https://api.github.com/repos/navidrome/navidrome/releases/latest'</span> | jq <span style="color: #f92672;" data-darkreader-inline-color="">-c</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'.assets[]|select(.name | contains("arm64.deb"))'</span><span style="color: #e6db74;" data-darkreader-inline-color="">`</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Saco el nombre del paquete</span><br />
<span style="color: #ffffff;" data-darkreader-inline-color="">NAME</span><span style="color: #f92672;" data-darkreader-inline-color="">=</span><span style="color: #e6db74;" data-darkreader-inline-color="">`</span><span style="color: #f6aa11;" data-darkreader-inline-color="">echo</span> <span style="color: #ffffff;" data-darkreader-inline-color="">$DATA</span> | jq <span style="color: #f92672;" data-darkreader-inline-color="">-r</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'.["name"]'</span><span style="color: #e6db74;" data-darkreader-inline-color="">`</span><br />
<span style="color: #f6aa11;" data-darkreader-inline-color="">echo</span> <span style="color: #e6db74;" data-darkreader-inline-color="">"Found </span><span style="color: #ffffff;" data-darkreader-inline-color="">$NAME</span><span style="color: #e6db74;" data-darkreader-inline-color="">"</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Obtengo la dirección para descargar el paquete, que está en el mismo JSON:</span><br />
<span style="color: #ffffff;" data-darkreader-inline-color="">PACKAGE</span><span style="color: #f92672;" data-darkreader-inline-color="">=</span><span style="color: #e6db74;" data-darkreader-inline-color="">`</span><span style="color: #f6aa11;" data-darkreader-inline-color="">echo</span> <span style="color: #ffffff;" data-darkreader-inline-color="">$DATA</span> | jq <span style="color: #f92672;" data-darkreader-inline-color="">-r</span> <span style="color: #e6db74;" data-darkreader-inline-color="">'.browser_download_url'</span><span style="color: #e6db74;" data-darkreader-inline-color="">`</span><br />
<span style="color: #f6aa11;" data-darkreader-inline-color="">echo</span> <span style="color: #e6db74;" data-darkreader-inline-color="">"Downloading </span><span style="color: #ffffff;" data-darkreader-inline-color="">$PACKAGE</span><span style="color: #e6db74;" data-darkreader-inline-color="">"</span><br />
<span style="color: #75715e;" data-darkreader-inline-color=""># Descargo:</span><br />
wget <span style="color: #f92672;" data-darkreader-inline-color="">-q</span> <span style="color: #ffffff;" data-darkreader-inline-color="">$PACKAGE</span></p>
<p><span style="color: #f6aa11;" data-darkreader-inline-color="">echo<br />
read</span> <span style="color: #f92672;" data-darkreader-inline-color="">-p</span> <span style="color: #e6db74;" data-darkreader-inline-color="">"Install </span><span style="color: #ffffff;" data-darkreader-inline-color="">$NAME</span><span style="color: #e6db74;" data-darkreader-inline-color="">? [y/N] "</span> <span style="color: #f92672;" data-darkreader-inline-color="">-n</span> 1 <span style="color: #f92672;" data-darkreader-inline-color="">-r</span><br />
<span style="color: #f6aa11;" data-darkreader-inline-color="">echo<br />
</span><span style="color: #f92672;" data-darkreader-inline-color="">if</span> <span style="color: #f92672;" data-darkreader-inline-color="">[[</span> <span style="color: #ffffff;" data-darkreader-inline-color="">$REPLY</span> <span style="color: #f92672;" data-darkreader-inline-color="">=</span>~ ^[Yy]<span style="color: #ffffff;" data-darkreader-inline-color="">$ </span><span style="color: #f92672;" data-darkreader-inline-color="">]]</span><br />
<span style="color: #f92672;" data-darkreader-inline-color="">then<br />
&nbsp;&nbsp;</span><span style="color: #f6aa11;" data-darkreader-inline-color="">echo</span> <span style="color: #e6db74;" data-darkreader-inline-color="">"Installing </span><span style="color: #ffffff;" data-darkreader-inline-color="">$NAME</span><span style="color: #e6db74;" data-darkreader-inline-color="">"</span><br />
&nbsp;&nbsp;<span style="color: #f6aa11;" data-darkreader-inline-color="">sudo </span>dpkg <span style="color: #ffffff;" data-darkreader-inline-color="">$NAME</span><br />
<span style="color: #f92672;" data-darkreader-inline-color="">fi</span></p>
</div>
<p>Ahí queda de referencia para quien le pueda venir bien (y para mí cuando me olvide cómo hacer alguna de estas cosas).</p>El post <a href="https://picandocodigo.net/2026/scripts-para-actualizar-navidrome/">Scripts para actualizar Navidrome</a> fue publicado originalmente en <a href="https://picandocodigo.net">Picando Código</a>.]]></content:encoded>
					
					<wfw:commentRss>https://picandocodigo.net/2026/scripts-para-actualizar-navidrome/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
