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

<channel>
	<title>El blog de Skatox</title>
	<atom:link href="http://skatox.com/blog/feed/" rel="self" type="application/rss+xml"/>
	<link>https://skatox.com/blog/</link>
	<description>Compartiendo mis opiniones informáticas mas allá de los 280 caracteres</description>
	<lastBuildDate>Sun, 01 Nov 2026 22:31:38 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://skatox.com/blog/images/2022/03/cropped-tux-32x32.png</url>
	<title>El blog de Skatox</title>
	<link>https://skatox.com/blog/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">11159770</site>	<xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item>
		<title>10 cosas que aprendí durante la década de los 30</title>
		<link>https://skatox.com/blog/2026/11/01/10-cosas-que-aprendi-durante-la-decada-de-los-30/</link>
					<comments>https://skatox.com/blog/2026/11/01/10-cosas-que-aprendi-durante-la-decada-de-los-30/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Sun, 01 Nov 2026 22:31:36 +0000</pubDate>
				<category><![CDATA[Otras cosas]]></category>
		<category><![CDATA[Planetas]]></category>
		<category><![CDATA[decadas]]></category>
		<category><![CDATA[experiencia]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=8286</guid>

					<description><![CDATA[<p>Hace 10 años hice un artículo sobre 20 cosas que aprendí durante la década de los 20, y pues como hoy estoy entrando a una&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/11/01/10-cosas-que-aprendi-durante-la-decada-de-los-30/">10 cosas que aprendí durante la década de los 30</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hace 10 años hice un artículo sobre <a href="https://skatox.com/blog/2016/11/01/30-cosas-aprendi-la-decada-de-los-20/" target="_blank" rel="noreferrer noopener">20 cosas que aprendí durante la década de los 20</a>, y pues como hoy estoy entrando a una nueva década, decidí tomar un breve tiempo para continuar con esta tradición y compartir un poco sobre mí en este blog.</p>



<ol class="wp-block-list">
<li><strong>Ser padre una gran experiencia que ojalá todos pudieran vivir</strong>: el mayor cambio en esta década fue ser padre. Me ha cambiado la vida, ahora siento que tengo una misión de cuidar a mi hija, darle una gran experiencia y prepararla para este mundo. Ademas que verla crecer y compartir tiempo con ella es algo que no se puede describir. Desearía que la gente pudiera vivir la paternidad o maternidad y experimentar este sentimiento tan bello.</li>



<li><strong>Para crecer hay que soltar algunas cosas:</strong> en estos años tuve que migrar a Colombia, tardé en hacerlo porque no quería soltar algunas cosas porque estaba en mi zona de confort, pero intenté y luego me di cuenta que mi «zona de confort» en realidad no lo era y gracias a Dios he podido crecer poco a poco, soltando esas cosas que te amarran porque te dan estabilidad y confianza pero a su vez te detienen de crecer.</li>



<li><strong>Para tener una mejor vida hay que cuidar el cuerpo</strong>: en mis 20s y 30s descuidé mucho mi cuerpo. Me dejé engordar mucho y lidiar con las consecuencias de sobrepeso ha hecho disminuir un poco mi calidad de vida. Sin embargo desde hace un año empecé en gimnasio y me ha ido mejor porque siento una gran diferencia en mi cuerpo al estar un poco mas sano y con mas muscular. A pesar de ser poco el cambio, los resultados son enormes para mi.</li>



<li><strong>Elegir una buena esposa me ha facilitado la vida y me ha permitido crecer:</strong> me casé con alguien que en vez de complicarme la vida me la facilita, me ha ayudado a crecer como persona, como profesional y en todas las áreas. Es muy importante escoger a alguien que te permita sacar lo mejor de ti y hacerte cada día mejor. Que cuando estés en tus bajones, te ayude a salir de ahí y motivarte a seguir adelante.</li>



<li><strong>Las reuniones con las amistades ahora son de horas o minutos: </strong>a diferencia de la adolescencia y tal un poco en los 20s. Los amigos tienen familias propias, han emigrado, viven lejos y solo es posible verlos por unos pocos minutos. La calidad muchas veces es igual de bien, pero el tiempo y es muy corto. Inclusive, en algunos casos, dudas si incluso los podrás ver de nuevo.</li>



<li><strong>Empiezas a ver mas gente de tu edad morir:</strong> sobre todo al final de los 30s, he perdido amigos por muertes inesperadas, aparentemente tenían buen estado de salud, sin embargo, se fueron antes de lo esperado. Esto me hace apreciar mas la vida y ver como algunos de nosotros se bajan del tren de la vida y continuamos sin ellos.</li>



<li><strong>Mientras mas viajas por el mundo notas menos las diferencias entre culturas similares</strong>: durante la última década tuve la oportunidad de viajar por distintos países y conocer personas de diferentes culturas. Antes era de los que se enfocaban en las pequeñas diferencias entre los países, casi como si esas particularidades nos hicieran completamente distintos. Sin embargo, viajar me hizo cambiar esa perspectiva. Hoy me doy cuenta de lo mucho que compartimos los latinoamericanos, por ejemplo, desde nuestras costumbres hasta nuestra forma de ver la vida. Las diferencias que antes me parecían enormes se vuelven insignificantes cuando las comparo con las que existen entre nuestras culturas y las de países asiáticos, por ejemplo. Al final, viajar me enseñó que tenemos mucho más en común de lo que creemos.</li>



<li><strong>Cumplir un sueño también significa quitarte un peso de encima</strong>: es sentir que ya no tienes que seguir persiguiendo aquello que durante tantos años ocupó un lugar en tu cabeza. Y esa tranquilidad te permite mirar tu vida desde otra perspectiva, reconocer lo que has construido y, quizás lo más importante, disfrutarlo sin estar pensando constantemente en lo que viene después. Creo que muchas veces vivimos tan concentrados en lo que nos falta por alcanzar que olvidamos detenernos a apreciar lo que ya hemos conseguido. Aquellas cosas que alguna vez parecían imposibles o demasiado lejanas terminan convirtiéndose en parte de nuestra vida cotidiana, y casi sin darnos cuenta dejamos de darles la importancia que merecen.</li>



<li><strong>Una de las cosas más difíciles de emigrar es descubrir que, de alguna manera, te quedas sin hogar</strong>: cuando te vas de tu país, siempre queda la idea de que algún día podrás regresar y encontrar todo como lo dejaste. Pero con el paso de los años descubres que eso es imposible. Tu ciudad cambia, las personas cambian, los lugares que frecuentabas desaparecen y hasta las costumbres que antes eran parte de tu vida comienzan a sentirse extrañas. Pero no solo cambia el lugar que dejaste atrás. Tú también cambias. Sin darte cuenta, adoptas costumbres, formas de pensar y maneras de vivir del país que te recibió. Y cuando regresas a tu ciudad, descubres que ya no eres la misma persona que se fue. Es una sensación extraña caminar por las calles donde creciste y sentirte como un turista. Reconoces los lugares, recuerdas las historias, pero ya no sientes que perteneces completamente a ellos. Entonces entiendes que lo que realmente extrañas no es solamente tu país, sino un lugar que ya no existe. Extrañas la ciudad que conociste, las personas que estaban allí y, sobre todo, la persona que eras en aquel momento. Quizás lo más curioso es que, aunque nunca hubieras emigrado, muchas de esas cosas también habrían desaparecido. La diferencia es que, al irte, conservaste una imagen congelada de tu ciudad, mientras que quienes se quedaron vivieron sus cambios poco a poco.</li>



<li><strong>No juzgues a una persona por un momento específico de su vida</strong>: en algunos encuentros con amigos noté que se comportaban de manera diferente, más distantes, apagados e incluso algo deprimidos. En ese momento atribuí su actitud a la situación que se vive en Venezuela y terminé sintiéndome molesto por el trato que recibí. Tiempo después descubrí que estaban atravesando situaciones personales muy difíciles y entendí que había reaccionado mal. Me tomé su comportamiento como algo personal, cuando en realidad no tenía nada que ver conmigo. En lugar de molestarme, debí preocuparme por entender qué les estaba pasando y ofrecerles mi apoyo como amigo. A veces olvidamos que cada persona está librando sus propias batallas, muchas de las cuales desconocemos<strong>.</strong> No todo gira alrededor de nosotros y, antes de juzgar la actitud de alguien, vale la pena detenerse a pensar qué puede estar viviendo.</li>
</ol>



<p class="wp-block-paragraph">En fin, es una lista mucha mas corta que la anterior, pero creo que mucha mas profunda para mí. Espero que te sirva estas experiencias o si tienes alguna que compartir, no dejes de escribir un comentario.</p>



<p class="wp-block-paragraph">Gracias por leerme.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
<p>La entrada <a href="https://skatox.com/blog/2026/11/01/10-cosas-que-aprendi-durante-la-decada-de-los-30/">10 cosas que aprendí durante la década de los 30</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/11/01/10-cosas-que-aprendi-durante-la-decada-de-los-30/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8286</post-id>	</item>
		<item>
		<title>La historia de C++: un documental sobre su evolución durante más de 40 años</title>
		<link>https://skatox.com/blog/2026/10/26/la-historia-de-c-un-documental-sobre-su-evolucion-durante-mas-de-40-anos/</link>
					<comments>https://skatox.com/blog/2026/10/26/la-historia-de-c-un-documental-sobre-su-evolucion-durante-mas-de-40-anos/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Mon, 26 Oct 2026 20:41:46 +0000</pubDate>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Desarrollo y Programación]]></category>
		<category><![CDATA[Documentales o Videos]]></category>
		<category><![CDATA[Planetas]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=7944</guid>

					<description><![CDATA[<p>Hace poco vi un documental sobre la historia de C++ y me gustó bastante. Aunque nunca ha sido mi lenguaje de programación principal, siempre me&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/10/26/la-historia-de-c-un-documental-sobre-su-evolucion-durante-mas-de-40-anos/">La historia de C++: un documental sobre su evolución durante más de 40 años</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hace poco vi un <a href="https://www.youtube.com/watch?v=lI7tMxzSJ7w">documental sobre la historia de C++</a> y me gustó bastante. Aunque nunca ha sido mi lenguaje de programación principal, siempre me ha parecido interesante cómo una tecnología creada hace más de 40 años sigue siendo tan importante en la industria del software. Lo que más me gustó es que entrevista al creador del lenguaje y a varias personas que participaron en su evolución. Es genial escuchar, directamente de sus protagonistas, las historias y decisiones que terminaron definiendo uno de los lenguajes más importantes de la programación.</p>



<h2 class="wp-block-heading">De su creación a convertirse en un estándar</h2>



<p class="wp-block-paragraph">Una de las cosas que me llamó la atención fue conocer cómo <strong>Bjarne Stroustrup</strong> comenzó a desarrollar C++ en Bell Labs, inicialmente como una extensión de C que permitía utilizar la programación orientada a objetos sin sacrificar el rendimiento.</p>



<p class="wp-block-paragraph">También me pareció interesante conocer la historia de la Standard Template Library (STL) y cómo, con el crecimiento del lenguaje, comenzaron los esfuerzos para crear una biblioteca estándar y, posteriormente, estandarizar C++.</p>



<p class="wp-block-paragraph">A veces utilizamos características de los lenguajes sin pensar en todo el trabajo y las discusiones que hubo detrás. Escuchar a quienes participaron en esas decisiones te da otra perspectiva.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Cuando Java parecía que iba a reemplazar a C++</h2>



<p class="wp-block-paragraph">Otra parte que me gustó fue cuando hablaron de la llegada de Java y de cómo muchos pensaban que terminaría reemplazando a C++. Cuando entré a la universidad en el 2004, se comentaba que Java iba a reemplazar ese lenguaje; de hecho, recuerdo cómo Java se volvió extremadamente popular, especialmente por simplificar aspectos como la gestión de la memoria. Parecía que los nuevos lenguajes iban a dejar atrás las tecnologías más antiguas.</p>



<p class="wp-block-paragraph">Sin embargo, C++ nunca desapareció. Siguió siendo importante en áreas donde el rendimiento y el control del hardware son fundamentales. Me parece curioso cómo, en programación, muchas veces pensamos que una nueva tecnología va a reemplazar por completo a otra, cuando en realidad terminan coexistiendo durante décadas.</p>



<h2 class="wp-block-heading">C++ sigue siendo un lenguaje moderno</h2>



<p class="wp-block-paragraph">Uno de los aspectos que más me sorprendió fue ver cuánto ha evolucionado C++. Todavía lo asocio con punteros, la administración manual de memoria y una sintaxis bastante compleja, pero el lenguaje moderno es muy diferente al que se utilizaba hace 20 años.</p>



<p class="wp-block-paragraph">Con <strong>C++11</strong> comenzó una modernización importante, incorporando lambdas, smart pointers y muchas otras características que facilitan el desarrollo. Desde entonces, el lenguaje ha continuado evolucionando con nuevas versiones del estándar.</p>



<p class="wp-block-paragraph">Me parece impresionante que haya logrado modernizarse sin abandonar la compatibilidad con décadas de software existente, aunque esto también lo convierte en un lenguaje bastante complejo.</p>



<p class="wp-block-paragraph">Otra parte que disfruté fue la participación de <strong>John Romero</strong>, uno de los creadores de Doom y Quake, quien habló sobre la importancia de C++ en la industria de los videojuegos.</p>



<p class="wp-block-paragraph">Como alguien a quien le gustan los videojuegos y la programación, me encanta conocer las tecnologías que subyacen a muchos de los juegos que conocemos. Es interesante cómo C++ sigue siendo fundamental en el desarrollo de motores gráficos y videojuegos modernos.</p>



<h2 class="wp-block-heading">Un documental que recomiendo ver</h2>



<p class="wp-block-paragraph">Una de las razones por las que disfruto de estos documentales es que permiten conocer la historia del software directamente de sus protagonistas. No es lo mismo leer sobre una característica de un lenguaje que escuchar a sus creadores explicar por qué decidieron implementarla.</p>



<p class="wp-block-paragraph">Después de verlo, me quedó una mayor apreciación por C++ y su capacidad de evolucionar a pesar de todas las tecnologías que han surgido para reemplazarlo.</p>



<p class="wp-block-paragraph">También me recordó que, en el desarrollo de software, no todo consiste en utilizar el lenguaje o el framework más reciente. Hay tecnologías que llevan décadas resolviendo problemas y todavía tienen muchísimo que ofrecer.</p>



<p class="wp-block-paragraph">Si te gusta la programación, aunque nunca hayas escrito una línea de C++, <strong>te recomiendo ver este documental</strong>.</p>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://skatox.com/blog/2026/10/26/la-historia-de-c-un-documental-sobre-su-evolucion-durante-mas-de-40-anos/"><img decoding="async" src="http://skatox.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FlI7tMxzSJ7w%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p class="wp-block-paragraph">Happy Coding!</p>
<p>La entrada <a href="https://skatox.com/blog/2026/10/26/la-historia-de-c-un-documental-sobre-su-evolucion-durante-mas-de-40-anos/">La historia de C++: un documental sobre su evolución durante más de 40 años</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/10/26/la-historia-de-c-un-documental-sobre-su-evolucion-durante-mas-de-40-anos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7944</post-id>	</item>
		<item>
		<title>Los plugins que uso en Neovim en tiempos de IA</title>
		<link>https://skatox.com/blog/2026/10/19/los-plugins-que-uso-en-neovim-en-tiempos-de-ia/</link>
					<comments>https://skatox.com/blog/2026/10/19/los-plugins-que-uso-en-neovim-en-tiempos-de-ia/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Mon, 19 Oct 2026 13:05:00 +0000</pubDate>
				<category><![CDATA[Planetas]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=4560</guid>

					<description><![CDATA[<p>Los plugines de neovim que me ayudan a tener un flujo de desarrollo moderno con IA</p>
<p>La entrada <a href="https://skatox.com/blog/2026/10/19/los-plugins-que-uso-en-neovim-en-tiempos-de-ia/">Los plugins que uso en Neovim en tiempos de IA</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Con el uso de IA, <a href="https://neovim.io/" target="_blank" rel="noreferrer noopener">Neovim</a> se ha vuelto para mí más bien un editor para leer código y hacer cambios menores, gracias al agente de IA integrado. Mi forma de usarlo ha cambiado: ahora una parte importante del trabajo consiste en revisar lo que genera el agente, entender los cambios y ajustar los detalles que hagan falta.</p>



<p class="wp-block-paragraph">Pero igual <strong>quería compartir los plugins que tengo en mi configuración</strong>, por si a alguien le sirven. Aunque escriba menos código directamente, sigo necesitando buscar archivos, moverme entre funciones, revisar diferencias y editar sin complicarme demasiado.</p>



<p class="wp-block-paragraph">Los agrupé por función y dejé una breve descripción junto al enlace de cada uno. No hace falta instalar toda la lista: la idea es que encuentres algo útil para tu forma de trabajar.</p>



<h2 class="wp-block-heading">Autocompletado y snippets en neovim</h2>



<p class="wp-block-paragraph">Para los cambios que sigo haciendo a mano, contar con un buen autocompletado y snippets sigue siendo útil. Esta es la combinación que tengo:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/hrsh7th/nvim-cmp">nvim-cmp</a>: El motor de autocompletado.</li>



<li><a href="https://github.com/FelipeLema/cmp-async-path">cmp-async-path</a>: Completa rutas de archivos de forma asíncrona.</li>



<li><a href="https://github.com/hrsh7th/cmp-buffer">cmp-buffer</a>: Sugiere palabras a partir del contenido de los buffers.</li>



<li><a href="https://github.com/hrsh7th/cmp-nvim-lsp">cmp-nvim-lsp</a>: Conecta las sugerencias del LSP con nvim-cmp.</li>



<li><a href="https://github.com/hrsh7th/cmp-nvim-lua">cmp-nvim-lua</a>: Añade autocompletado para la API de Lua de Neovim.</li>



<li><a href="https://github.com/saadparwaiz1/cmp_luasnip">cmp_luasnip</a>: Integra los snippets de LuaSnip con nvim-cmp.</li>



<li><a href="https://github.com/L3MON4D3/LuaSnip">LuaSnip</a>: El motor para expandir y trabajar con snippets.</li>



<li><a href="https://github.com/rafamadriz/friendly-snippets">friendly-snippets</a>: Una colección de snippets para distintos lenguajes.</li>
</ul>



<h2 class="wp-block-heading">LSP, formato, linting y depuración</h2>



<p class="wp-block-paragraph">Que parte del código lo escriba un agente no elimina la necesidad de revisar errores, mantener el formato y depurar. Aquí entran estas herramientas:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/neovim/nvim-lspconfig">nvim-lspconfig</a>: Configuraciones para conectar los servidores de lenguaje con el cliente LSP de Neovim.</li>



<li>mason.nvim: Facilita la instalación y la administración de servidores de lenguaje, formateadores, linters y adaptadores de depuración.</li>



<li><a href="https://github.com/stevearc/conform.nvim">conform.nvim</a>: Permite ejecutar formateadores de código directamente desde el editor.</li>



<li><a href="https://github.com/mhartington/formatter.nvim">formatter.nvim</a>: Otra herramienta para integrar formateadores externos.</li>



<li><a href="https://github.com/mfussenegger/nvim-lint">nvim-lint</a>: Integra linters para mostrar errores y advertencias en el código.</li>



<li><a href="https://github.com/mfussenegger/nvim-dap">nvim-dap</a>: Añade un cliente de depuración para trabajar con puntos de interrupción, la ejecución paso a paso y la inspección de variables.</li>
</ul>



<h2 class="wp-block-heading">Edición y navegación en neovim</h2>



<p class="wp-block-paragraph">Esta parte sigue teniendo bastante sentido para mí: si ahora paso más tiempo leyendo código, moverme rápido por él y hacer cambios puntuales importa mucho.</p>



<ul class="wp-block-list">
<li><a href="https://github.com/tpope/vim-commentary">vim-commentary</a>: Comenta y descomenta código con pocos comandos.</li>



<li><a href="https://github.com/tpope/vim-surround">vim-surround</a>: Añade, cambia o elimina comillas, paréntesis, etiquetas y otros delimitadores.</li>



<li><a href="https://github.com/tommcdo/vim-exchange">vim-exchange</a>: Intercambia dos fragmentos de texto.</li>



<li><a href="https://github.com/mg979/vim-visual-multi">vim-visual-multi</a>: Permite trabajar con múltiples selecciones y cursores.</li>



<li><a href="https://github.com/inkarkat/vim-ReplaceWithRegister">vim-ReplaceWithRegister</a>: Reemplaza texto con el contenido de un registro.</li>



<li><a href="https://github.com/phaazon/hop.nvim">hop.nvim</a>: Permite saltar a distintas posiciones del texto mediante etiquetas.</li>



<li><a href="https://github.com/christoomey/vim-tmux-navigator">vim-tmux-navigator</a>: Unifica la navegación entre las divisiones de Vim y los paneles de tmux.</li>



<li><a href="https://github.com/kevinhwang91/nvim-hlslens">nvim-hlslens</a>: Mejora la visualización de las coincidencias al buscar dentro de un archivo.</li>



<li><a href="https://github.com/m4xshen/hardtime.nvim">hardtime.nvim</a>: Ayuda a corregir hábitos de navegación y a aprovechar mejor los movimientos de Vim.</li>



<li><a href="https://github.com/Wansmer/treesj">treesj</a>: Divide o une bloques de código entre una y varias líneas.</li>



<li><a href="https://github.com/ThePrimeagen/refactoring.nvim">refactoring.nvim</a>: Ofrece operaciones de refactorización, como extraer funciones o variables.</li>



<li><a href="https://github.com/Galooshi/vim-import-js">vim-import-js</a>: Integra ImportJS para gestionar imports de JavaScript.</li>



<li><a href="https://github.com/MaxMEllon/vim-jsx-pretty">vim-jsx-pretty</a>: Añade resaltado de sintaxis para JSX.</li>



<li><a href="https://github.com/adoy/vim-php-refactoring-toolbox">vim-php-refactoring-toolbox</a>: Ofrece herramientas de refactorización para PHP.</li>



<li><a href="https://github.com/stephpy/vim-php-cs-fixer">vim-php-cs-fixer</a>: Integra PHP CS Fixer para corregir el estilo del código PHP.</li>
</ul>



<h2 class="wp-block-heading">Archivos, búsquedas y proyectos</h2>



<p class="wp-block-paragraph">Encontrar el archivo correcto suele ser el primer paso para entender un cambio. Estos plugins cubren la exploración, las búsquedas y el manejo de proyectos y sesiones:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/nvim-tree/nvim-tree.lua">nvim-tree.lua</a>: Un explorador de archivos en forma de árbol.</li>



<li><a href="https://github.com/nvim-telescope/telescope.nvim">telescope.nvim</a>: Permite buscar y filtrar archivos, contenido, buffers y otros elementos del editor.</li>



<li><a href="https://github.com/coffebar/neovim-project">neovim-project</a>: Facilita cambiar entre proyectos y recuperar su contexto de trabajo.</li>



<li><a href="https://github.com/Shatur/neovim-session-manager">neovim-session-manager</a>: Guarda y restaura sesiones del editor.</li>



<li><a href="https://github.com/airblade/vim-rooter">vim-rooter</a>: Ajusta el directorio de trabajo a la raíz del proyecto.</li>
</ul>



<h2 class="wp-block-heading">Git, tareas y sesiones en neovim</h2>



<p class="wp-block-paragraph">Con un agente haciendo cambios, revisar el diff es una parte importante del trabajo. Aquí también incluyo las herramientas para ejecutar tareas y mantener sesiones:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/kdheepak/lazygit.nvim">lazygit.nvim</a>: Permite abrir lazygit dentro de Neovim.</li>



<li><a href="https://github.com/f-person/git-blame.nvim">git-blame.nvim</a>: Muestra información del commit asociado a una línea.</li>



<li><a href="https://github.com/lewis6991/gitsigns.nvim">gitsigns.nvim</a>: Marca cambios de Git en el editor y permite trabajar con fragmentos del diff.</li>



<li><a href="https://github.com/sindrets/diffview.nvim">diffview.nvim</a>: Ofrece una interfaz para revisar diferencias entre archivos y consultar su historial.</li>



<li><a href="https://github.com/mhinz/vim-signify">vim-signify</a>: Muestra líneas añadidas, modificadas o eliminadas en el margen.</li>



<li><a href="https://github.com/stevearc/overseer.nvim">overseer.nvim</a>: Permite ejecutar y administrar tareas, como builds y tests.</li>



<li><a href="https://github.com/tpope/vim-obsession">vim-obsession</a>: Mantiene actualizados los archivos de sesión de Vim.</li>
</ul>



<h2 class="wp-block-heading">Interfaz y notificaciones</h2>



<p class="wp-block-paragraph">También hay plugins para hacer más cómoda la lectura, ver mejor lo que está pasando y recordar atajos. En esta categoría aparecen algunas dependencias que usan otros plugins:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/lukas-reineke/indent-blankline.nvim">indent-blankline.nvim</a>: Muestra guías de indentación para seguir la estructura del código.</li>



<li><a href="https://github.com/mvllow/modes.nvim">modes.nvim</a>: Añade indicadores visuales de color según el modo del editor.</li>



<li><a href="https://github.com/mawkler/modicator.nvim">modicator.nvim</a>: Cambia el color del número de la línea actual según el modo.</li>



<li><a href="https://github.com/folke/noice.nvim">noice.nvim</a>: Modifica la presentación de mensajes, la línea de comandos y otros elementos de la interfaz.</li>



<li><a href="https://github.com/MunifTanjim/nui.nvim">nui.nvim</a>: Una biblioteca de componentes de interfaz utilizada por otros plugins.</li>



<li><a href="https://github.com/rcarriga/nvim-notify">nvim-notify</a>: Presenta las notificaciones en ventanas configurables.</li>



<li><a href="https://github.com/nvim-tree/nvim-web-devicons">nvim-web-devicons</a>: Proporciona iconos para tipos de archivo y otros elementos.</li>



<li><a href="https://github.com/folke/which-key.nvim">which-key.nvim</a>: Muestra las combinaciones de teclas disponibles mientras empiezas a escribir un atajo.</li>



<li><a href="https://github.com/nvzone/menu">menu</a>: Permite crear menús, incluidos submenús, dentro del editor.</li>



<li><a href="https://github.com/nvzone/minty">minty</a>: Añade herramientas para seleccionar y explorar colores.</li>



<li><a href="https://github.com/nvzone/volt">volt</a>: Proporciona la base para crear interfaces interactivas utilizadas por otros plugins de esta lista.</li>
</ul>



<h2 class="wp-block-heading">IA, utilidades y Tailwind</h2>



<p class="wp-block-paragraph">Esta es la parte que más conecta con el cambio en mi forma de usar Neovim. La integración del agente convive con utilidades del editor y herramientas para leer estilos:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/coder/claudecode.nvim">claudecode.nvim</a>: Integra Claude Code con Neovim para compartir contexto del código y revisar los cambios propuestos desde el editor.</li>



<li><a href="https://github.com/folke/snacks.nvim">snacks.nvim</a>: Una colección de utilidades, como terminales y selectores. También sirve de apoyo a la integración de Claude Code.</li>



<li><a href="https://github.com/MaximilianLloyd/tw-values.nvim">tw-values.nvim</a>: Muestra los valores CSS asociados a las clases de Tailwind de un elemento.</li>
</ul>



<h2 class="wp-block-heading">Gestor de plugins, dependencias y tema</h2>



<p class="wp-block-paragraph">Por último, estas son otras piezas de la configuración:</p>



<ul class="wp-block-list">
<li><a href="https://github.com/nvim-lua/plenary.nvim">plenary.nvim</a>: Una biblioteca de funciones Lua que utilizan varios plugins.</li>



<li><a href="https://github.com/folke/lazy.nvim">lazy.nvim</a>: El gestor para instalar, actualizar y cargar los plugins.</li>



<li><a href="https://github.com/navarasu/onedark.nvim">onedark.nvim</a>: El tema de colores de la configuración.</li>
</ul>



<h2 class="wp-block-heading">La configuración sigue, el uso cambia</h2>



<p class="wp-block-paragraph">Viendo la lista, hay herramientas con funciones que se cruzan: más de una para formato, indicadores de cambios o sesiones. Comparto lo que tengo en mi configuración; no significa que necesites combinar todo esto para usar Neovim.</p>



<p class="wp-block-paragraph">Lo que más ha cambiado es el peso de cada cosa. Con la IA, buscar, navegar y revisar código ocupa más espacio en mi trabajo. Y para eso sigue siendo útil tener un editor con el que me sienta cómodo.</p>



<p class="wp-block-paragraph">Si usas alguno de estos plugins o tienes otro que te facilite trabajar con agentes de IA en Neovim, déjalo en los comentarios.</p>



<p class="wp-block-paragraph">¡Éxitos mejorando tu neovim!</p>
<p>La entrada <a href="https://skatox.com/blog/2026/10/19/los-plugins-que-uso-en-neovim-en-tiempos-de-ia/">Los plugins que uso en Neovim en tiempos de IA</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/10/19/los-plugins-que-uso-en-neovim-en-tiempos-de-ia/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4560</post-id>	</item>
		<item>
		<title>La IA te ayuda con la tesis, frente al jurado respondes tú</title>
		<link>https://skatox.com/blog/2026/10/12/la-ia-te-ayuda-con-la-tesis-frente-al-jurado-respondes-tu/</link>
					<comments>https://skatox.com/blog/2026/10/12/la-ia-te-ayuda-con-la-tesis-frente-al-jurado-respondes-tu/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 13:10:00 +0000</pubDate>
				<category><![CDATA[Inteligencia Artificial]]></category>
		<category><![CDATA[Planetas]]></category>
		<category><![CDATA[ia]]></category>
		<category><![CDATA[maestria]]></category>
		<category><![CDATA[tesis]]></category>
		<category><![CDATA[unet]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=7939</guid>

					<description><![CDATA[<p>Mi experiencia en el podcast O corres o te encaramas Hace poco tuve la oportunidad de participar como invitado en O corres o te encaramas,&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/10/12/la-ia-te-ayuda-con-la-tesis-frente-al-jurado-respondes-tu/">La IA te ayuda con la tesis, frente al jurado respondes tú</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Mi experiencia en el podcast O corres o te encaramas</h1>



<p class="wp-block-paragraph">Hace poco tuve la oportunidad de participar como invitado en O corres o te encaramas, un podcast de Aníbal Rojas y Freddy Montes, en el que conversan sobre cómo distintas personas utilizan la inteligencia artificial en su trabajo y en su vida profesional. Así que cuando me invitaron a participar, obviamente me hizo bastante ilusión porque soy seguidor del programa desde sus inicios.</p>



<p class="wp-block-paragraph">En este episodio hablamos sobre uno de los usos de la IA que más me ha servido durante los últimos años: apoyarme tanto en mi trabajo como desarrollador como en mi parte académica. De hecho, sobre cómo la usé para realizar la investigación de mi tesis de maestría en informática.</p>



<h2 class="wp-block-heading">La IA y mi tesis</h2>



<p class="wp-block-paragraph">Uno de los temas principales fue cómo utilicé la inteligencia artificial en la redacción de mi tesis de Maestría en Informática. Creo que hay mucha controversia en torno al uso de la IA en la universidad, especialmente porque es muy fácil caer en pedirle a una herramienta que genere contenido y utilizarlo sin entenderlo realmente.</p>



<p class="wp-block-paragraph">En mi caso, la experiencia fue diferente, pues utilicé la IA principalmente como una herramienta para acelerar procesos que normalmente consumen bastante tiempo: investigar temas, encontrar puntos en los que debía profundizar, organizar ideas y apoyarme durante la redacción.</p>



<p class="wp-block-paragraph">Por supuesto, al final eres tú quien tiene que entender el trabajo que estás haciendo. La IA puede ayudarte con la tesis, pero frente al jurado respondes tú.</p>



<p class="wp-block-paragraph">También conversamos sobre cómo utilizo estas herramientas para investigar y generar código. Algo que me ha permitido reducir bastante el tiempo entre tener una idea, investigarla y, finalmente, construir algo que pueda probar.</p>



<h2 class="wp-block-heading">Hablar de mi lado académico</h2>



<p class="wp-block-paragraph">Una de las cosas que más me gustó del episodio fue poder hablar de mi trayectoria académica. Normalmente, cuando participo en eventos, escribo en el blog o hablo en redes sociales, termino conversando sobre programación, desarrollo de software, Linux, inteligencia artificial o alguna herramienta nueva que estoy probando.</p>



<p class="wp-block-paragraph">Sin embargo, rara vez tengo la oportunidad de hablar sobre mi experiencia en la universidad, la investigación o el proceso de hacer una tesis. Por eso disfruté bastante esta conversación. Además, siendo seguidor de <strong>O corres o te encaramas</strong> desde hace tiempo, fue genial pasar de escuchar las conversaciones a formar parte de una de ellas.</p>



<p class="wp-block-paragraph">Si te interesa cómo estoy utilizando la inteligencia artificial para investigar, programar y trabajar en proyectos académicos, te recomiendo ver el episodio.</p>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://skatox.com/blog/2026/10/12/la-ia-te-ayuda-con-la-tesis-frente-al-jurado-respondes-tu/"><img decoding="async" src="http://skatox.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FfFaqzLE6R6U%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p class="wp-block-paragraph">Y si después de verlo tienes alguna pregunta, inquietud o simplemente quieres compartir cómo estás utilizando IA en tus estudios o trabajo, déjala en los comentarios.</p>



<p class="wp-block-paragraph">Happy Hacking!</p>
<p>La entrada <a href="https://skatox.com/blog/2026/10/12/la-ia-te-ayuda-con-la-tesis-frente-al-jurado-respondes-tu/">La IA te ayuda con la tesis, frente al jurado respondes tú</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/10/12/la-ia-te-ayuda-con-la-tesis-frente-al-jurado-respondes-tu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7939</post-id>	</item>
		<item>
		<title>Cómo migrar un widget de WordPress a un bloque de Gutenberg</title>
		<link>https://skatox.com/blog/2026/09/30/como-migrar-un-widget-de-wordpress-a-un-bloque-de-gutenberg/</link>
					<comments>https://skatox.com/blog/2026/09/30/como-migrar-un-widget-de-wordpress-a-un-bloque-de-gutenberg/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Wed, 30 Sep 2026 12:04:00 +0000</pubDate>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Desarrollo y Programación]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Planetas]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[gutenberg]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=4646</guid>

					<description><![CDATA[<p>Hace varios años desarrollé dos plugins para WordPress: JS Archive List y JS Categories List. Ambos nacieron cuando los widgets de WordPress se desarrollaban prácticamente&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/09/30/como-migrar-un-widget-de-wordpress-a-un-bloque-de-gutenberg/">Cómo migrar un widget de WordPress a un bloque de Gutenberg</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hace varios años desarrollé dos plugins para WordPress: <a href="https://wordpress.org/plugins/jquery-archive-list-widget/" target="_blank" rel="noreferrer noopener">JS Archive List</a> y <a href="https://wordpress.org/plugins/jquery-categories-list/" data-type="link" data-id="https://wordpress.org/plugins/jquery-categories-list/" target="_blank" rel="noreferrer noopener">JS Categories List</a>. Ambos nacieron cuando los widgets de WordPress se desarrollaban prácticamente por completo en PHP: creabas una clase, extendías <em>WP_Widget</em>, generabas el formulario de configuración y, finalmente, renderizabas el HTML. Funcionaba bastante bien, pero WordPress ha cambiado mucho desde la llegada de Gutenberg. Así que decidí migrar ambos plugins para que pudieran utilizarse como un bloque de Gutenberg. En el caso de <a href="https://skatox.com/blog/2023/06/05/js-categories-list-4-0/" target="_blank" rel="noreferrer noopener">JS Categories List, ocurrió desde la versión 4.0 y en JS Archive List desde la versión 5</a><a href="https://skatox.com/blog/2022/06/07/js-archive-list-5-0/" target="_blank" rel="noreferrer noopener">.0</a>, manteniendo además el widget anterior en PHP por compatibilidad con instalaciones existentes.</p>



<p class="wp-block-paragraph">Lo interesante de esta migración no fue solo aprender a crear un bloque. También me hizo ver, de una forma diferente, cómo ha evolucionado WordPress.</p>



<figure class="wp-block-image size-large"><img data-dominant-color="70769b" data-has-transparency="false" style="--dominant-color: #70769b;" fetchpriority="high" decoding="async" width="1024" height="546" sizes="(max-width: 1024px) 100vw, 1024px" src="https://skatox.com/blog/images/2026/09/ilustracion-de-desarrollo-de-software-con-codigo-engranajes-flujos-de-1024x546.avif" alt="Se acabaron los tiempos de plugins 100% hechos en PHP, ahora es bloque de Gutenberg en JS (React) + PHP" class="wp-image-7679 not-transparent" srcset="https://skatox.com/blog/images/2026/09/ilustracion-de-desarrollo-de-software-con-codigo-engranajes-flujos-de-1024x546.avif 1024w, https://skatox.com/blog/images/2026/09/ilustracion-de-desarrollo-de-software-con-codigo-engranajes-flujos-de-600x320.avif 600w, https://skatox.com/blog/images/2026/09/ilustracion-de-desarrollo-de-software-con-codigo-engranajes-flujos-de-1536x819.avif 1536w, https://skatox.com/blog/images/2026/09/ilustracion-de-desarrollo-de-software-con-codigo-engranajes-flujos-de.avif 1717w" /><figcaption class="wp-element-caption">Se acabaron los tiempos de plugins 100% hechos en PHP, ahora es bloque de Gutenberg en JS (React) + PHP</figcaption></figure>



<h2 class="wp-block-heading">De widgets en PHP a una interfaz en React</h2>



<p class="wp-block-paragraph">Un widget clásico de WordPress normalmente hacía casi todo en PHP. Por ejemplo, teníamos algo parecido a esto:</p>



<pre class="wp-block-code"><code lang="php" class="language-php line-numbers">class My_Widget extends WP_Widget {

    public function widget( $args, $instance ) {
        // Obtener datos.
        // Generar HTML.
        // Mostrar el widget.
    }

    public function form( $instance ) {
        // Formulario de configuración.
    }
}
</code></pre>



<p class="wp-block-paragraph">El formulario que veía el administrador, la configuración y el HTML final estaban muy ligados entre sí. Con Gutenberg la separación es diferente. Ahora puedes tener PHP encargándose de los datos y del renderizado mientras que el editor utiliza JavaScript y React para construir la interfaz de configuración.</p>



<p class="wp-block-paragraph">Por esta razón, siento que WordPress cada vez se siente más como un <strong>CMS que ofrece servicios y APIs en PHP</strong>, mientras que diferentes interfaces consumen esos servicios.</p>



<p class="wp-block-paragraph">Gutenberg es probablemente el mejor ejemplo, porque el editor trabaja con entidades como posts, páginas, usuarios o términos mediante <code>@wordpress/core-data</code>Que internamente puede procesar los datos mediante las APIs de WordPress.</p>



<p class="wp-block-paragraph">PHP no desapareció. Simplemente ya no tiene que encargarse de toda la interfaz.</p>



<h2 class="wp-block-heading">¿Cómo comenzar un bloque de Gutenberg?</h2>



<p class="wp-block-paragraph">WordPress posee una herramienta oficial llamada <code>@wordpress/create-block</code> que genera la estructura inicial de un plugin con un bloque, incluyendo JavaScript, PHP, CSS y la configuración necesaria para compilar todo. Puedes crear uno ejecutando:</p>



<pre class="wp-block-code"><code class="">npx @wordpress/create-block@latest my-block --namespace=my-plugin
</code></pre>



<p class="wp-block-paragraph">Luego:</p>



<pre class="wp-block-code"><code class="">cd my-block
npm start
</code></pre>



<p class="wp-block-paragraph">Aunque estés migrando un plugin existente, te recomiendo ejecutar este comando al menos una vez. Es una forma sencilla de entender cuál es la estructura recomendada actualmente por WordPress.</p>



<p class="wp-block-paragraph">Entre los archivos encontrarás uno particularmente importante:</p>



<pre class="wp-block-code"><code class="">block.json
</code></pre>



<p class="wp-block-paragraph">Este archivo contiene la definición del bloque: nombre, atributos, scripts, estilos y demás metadatos. Por ejemplo:</p>



<pre class="wp-block-code"><code class="">{
    "apiVersion": 3,
    "name": "my-plugin/archive-list",
    "title": "Archive List",
    "category": "widgets",
    "attributes": {
        "showCount": {
            "type": "boolean",
            "default": false
        }
    }
}
</code></pre>



<p class="wp-block-paragraph">WordPress actualmente recomienda registrar los bloques utilizando esta metadata y <code>register_block_type()</code> Desde PHP se hace asi:</p>



<pre class="wp-block-code"><code class="">add_action( 'init', function() {
    register_block_type( __DIR__ . '/build' );
} );
</code></pre>



<p class="wp-block-paragraph">Con eso PHP conoce nuestro bloque y WordPress puede cargar los scripts y estilos necesarios.</p>



<h2 class="wp-block-heading">La configuración del bloque de Gutenberg ahora vive en React</h2>



<p class="wp-block-paragraph">En un widget clásico, las opciones se construían con inputs HTML generados en PHP. En un bloque de Gutenberg puedes crear esa interfaz con los componentes que ya ofrece WordPress. Por ejemplo:</p>



<pre class="wp-block-code"><code class="">import { InspectorControls } from '@wordpress/block-editor';
import {
    PanelBody,
    ToggleControl
} from '@wordpress/components';

export default function Edit({ attributes, setAttributes }) {
    return (
        &lt;InspectorControls&gt;
            &lt;PanelBody title="Options"&gt;
                &lt;ToggleControl
                    label="Show post count"
                    checked={ attributes.showCount }
                    onChange={ ( value ) =&gt;
                        setAttributes({ showCount: value })
                    }
                /&gt;
            &lt;/PanelBody&gt;
        &lt;/InspectorControls&gt;
    );
}
</code></pre>



<p class="wp-block-paragraph">De esta forma, Gutenberg se encarga de gran parte de la experiencia del editor y nosotros solo debemos definir qué opciones necesita nuestro bloque.</p>



<p class="wp-block-paragraph">En mis plugins esto reemplazó buena parte de los formularios que antes tenía que generar manualmente desde PHP.</p>



<h2 class="wp-block-heading">Consumir los datos de WordPress desde el bloque de Gutenberg</h2>



<p class="wp-block-paragraph">Otra parte interesante es que no necesariamente tienes que crear tus propios endpoints para obtener información que WordPress ya conoce. Desde el editor puedes consultar entidades utilizando <code>core-data</code>. Por ejemplo, para obtener páginas puedes utilizar:</p>



<pre class="wp-block-code"><code class="">import { useEntityRecords } from '@wordpress/core-data';

const { records, isResolving } = useEntityRecords(
    'postType',
    'page'
);
</code></pre>



<p class="wp-block-paragraph">WordPress se encarga de resolver la petición, de mantener los datos en su store y de entregarlos al componente. En un plugin como JS Categories List, el mismo concepto permite trabajar con taxonomías y categorías desde la interfaz del bloque, sin tener que imprimir previamente toda esa información en el HTML generado por PHP.</p>



<p class="wp-block-paragraph">Eso también tiene otra ventaja, la nueva versión de mis plugins puede leer la información dinámicamente y cargar JavaScript y CSS solamente cuando realmente existe un bloque o widget en la página, en lugar de cargar recursos innecesariamente en todo el sitio.</p>



<h2 class="wp-block-heading">No tienes que reescribir todo tu PHP</h2>



<p class="wp-block-paragraph">Esta fue una de las cosas que pensé inicialmente que serían más complicadas.</p>



<p class="wp-block-paragraph">Migrar a un bloque de Gutenberg <strong>no significa necesariamente convertir todo el plugin a JavaScript</strong>. Puedes crear un bloque dinámico y continuar renderizando su contenido desde PHP, por ejemplo, <code>block.json</code> puede indicar:</p>



<pre class="wp-block-code"><code class="">{
    "render": "file:./render.php"
}
</code></pre>



<p class="wp-block-paragraph">Y dentro de <code>render.php</code> Puedes reutilizar buena parte de la lógica que ya tenía tu antiguo widget, permitiendo tener una migración más progresiva:</p>



<pre class="wp-block-code"><code class="">&lt;?php

$show_count = $attributes['showCount'] ?? false;

echo my_old_archive_render_function(
    $show_count
);
</code></pre>



<p class="wp-block-paragraph">La interfaz del editor puede estar hecha con React, mientras que el frontend todavía utiliza funciones PHP que llevan años funcionando. Los bloques dinámicos están diseñados precisamente para casos donde el contenido debe calcularse al momento de renderizar la página, y WordPress permite hacerlo mediante un archivo <code>render.php</code> o un <code>render_callback</code>.</p>



<p class="wp-block-paragraph">En mi caso, esto fue bastante útil porque no tenía sentido reescribir código estable solamente por utilizar Gutenberg.</p>



<h2 class="wp-block-heading">Mantener el antiguo widget  por retrocompatibilidad</h2>



<p class="wp-block-paragraph">También decidí no eliminar de inmediato los widgets anteriores. Tanto JS Archive List como JS Categories List mantienen una versión legacy en PHP para instalaciones que todavía la utilizan, mientras que el desarrollo nuevo está enfocado en el bloque Gutenberg.</p>



<p class="wp-block-paragraph">Creo que esta es una buena estrategia para plugins que llevan muchos años publicados. Puedes modernizar el código sin afectar las instalaciones de los usuarios que configuraron el widget hace más de cinco años. Ya con el tiempo puedes dejar la implementación antigua únicamente en modo de mantenimiento.</p>



<h2 class="wp-block-heading">WordPress es bastante diferente ahora</h2>



<p class="wp-block-paragraph">Después de hacer esta migración, creo que desarrollar para WordPress actualmente se parece bastante menos al WordPress con el que comencé hace años.</p>



<p class="wp-block-paragraph">PHP continúa siendo una parte fundamental, pero ahora tenemos una capa de APIs, bases de datos, componentes y una interfaz escrita en React.</p>



<p class="wp-block-paragraph">En lugar de pensar:</p>



<p class="wp-block-paragraph"><strong>“Tengo que crear una página PHP para configurar esto.”</strong></p>



<p class="wp-block-paragraph">Cada vez pienso más:</p>



<p class="wp-block-paragraph"><strong>“¿Qué datos o servicios debe proporcionar WordPress y cómo los va a consumir la interfaz?”</strong></p>



<p class="wp-block-paragraph">Ese cambio de mentalidad hace que Gutenberg tenga mucho más sentido. Así que si tienes un plugin antiguo basado en <code>WP_Widget</code>, no necesitas reescribirlo por completo de una vez. Puedes comenzar creando un bloque, mover las opciones del formulario a React y reutilizar tu código PHP para el renderizado. Luego moderniza el resto poco a poco. </p>



<p class="wp-block-paragraph">Para empezar y entender cómo funciona todo, crea primero un bloque vacío con <code>@wordpress/create-block</code>, ejecuta <code>npm start</code> Y comienza a modificarlo. Es probablemente la forma más rápida de dejar de ver Gutenberg como algo extraño y comenzar a verlo simplemente como la nueva interfaz de desarrollo de WordPress.</p>



<p class="wp-block-paragraph">Happy coding!</p>
<p>La entrada <a href="https://skatox.com/blog/2026/09/30/como-migrar-un-widget-de-wordpress-a-un-bloque-de-gutenberg/">Cómo migrar un widget de WordPress a un bloque de Gutenberg</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/09/30/como-migrar-un-widget-de-wordpress-a-un-bloque-de-gutenberg/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4646</post-id>	</item>
		<item>
		<title>Cuando WordPress necesita desarrollo a medida y no simplemente más plugins</title>
		<link>https://skatox.com/blog/2026/09/17/cuando-wordpress-necesita-desarrollo-a-medida-y-no-simplemente-mas-plugins/</link>
					<comments>https://skatox.com/blog/2026/09/17/cuando-wordpress-necesita-desarrollo-a-medida-y-no-simplemente-mas-plugins/#comments</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Fri, 18 Sep 2026 04:22:22 +0000</pubDate>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Desarrollo y Programación]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=7746</guid>

					<description><![CDATA[<p>Añadir un plugin es una respuesta válida cuando resuelve una necesidad concreta, está bien mantenido y no introduce complejidad innecesaria. El problema aparece cuando WordPress&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/09/17/cuando-wordpress-necesita-desarrollo-a-medida-y-no-simplemente-mas-plugins/">Cuando WordPress necesita desarrollo a medida y no simplemente más plugins</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img data-dominant-color="7a7470" data-has-transparency="false" style="--dominant-color: #7a7470;" decoding="async" width="1024" height="683" sizes="(max-width: 1024px) 100vw, 1024px" src="https://skatox.com/blog/images/2026/09/image-1024x683.avif" alt="" class="wp-image-7747 not-transparent" srcset="https://skatox.com/blog/images/2026/09/image-1024x683.avif 1024w, https://skatox.com/blog/images/2026/09/image-600x400.avif 600w, https://skatox.com/blog/images/2026/09/image.avif 1350w" /></figure>



<p class="wp-block-paragraph">Añadir un plugin es una respuesta válida cuando resuelve una necesidad concreta, está bien mantenido y no introduce complejidad innecesaria. El problema aparece cuando WordPress empieza a crecer por acumulación: una extensión para esto, otra para aquello, una tercera para conectar sistemas y una cuarta para corregir el comportamiento de las anteriores.</p>



<p class="wp-block-paragraph">Al principio parece eficiente. Con el tiempo, esa lógica suele traducirse en incompatibilidades, tiempos de carga peores, pantallas de administración confusas y miedo a actualizar. La cuestión no es demonizar los plugins, sino reconocer cuándo el proyecto ya no debería depender de ellos para sostener lógica crítica del negocio.</p>



<h2 class="wp-block-heading"><strong>Señales de que el límite ya ha llegado</strong></h2>



<p class="wp-block-paragraph">Hay algunas pistas bastante claras. Por ejemplo: cuando un cambio pequeño obliga a revisar varios plugins a la vez; cuando una integración importante depende de hacks o campos escondidos; cuando cada actualización genera incertidumbre; o cuando nadie del equipo puede explicar con seguridad dónde vive cada regla funcional.</p>



<p class="wp-block-paragraph">También es una señal de que la administración se vuelve opaca. Si quienes editan contenidos encuentran campos duplicados, procesos inconsistentes o pasos manuales que no entienden, probablemente el problema no es de formación, sino de arquitectura.</p>



<p class="wp-block-paragraph">En ese escenario, lo sensato suele ser plantear <a href="https://codewebbarcelona.com/servicio/diseno-y-desarrollo-web/wordpress/" target="_blank" rel="noreferrer noopener">desarrollo WordPress</a> a medida. No porque “lo custom” sea mejor por definición, sino porque ciertas reglas del negocio merecen vivir en código propio, con alcance delimitado, pruebas razonables y una lógica que el equipo pueda mantener con criterio.</p>



<h2 class="wp-block-heading"><strong>Qué suele llevarse a medida</strong></h2>



<p class="wp-block-paragraph">Normalmente conviene customizar aquello que forma parte del producto o del flujo principal: integraciones con ERP o CRM, automatizaciones, modelos de datos específicos, áreas privadas, buscadores especializados, reglas de publicación, conectores API o paneles internos simplificados. Son piezas donde la configuración genérica se queda corta o genera demasiadas excepciones.</p>



<p class="wp-block-paragraph">Esto permite reducir la dependencia de opciones ocultas y reacciones en cadena. En vez de adaptar el negocio a un plugin, se adapta el desarrollo a la necesidad real. El resultado no tiene por qué ser más complejo; a menudo es más claro, porque cada responsabilidad queda mejor delimitada.</p>



<h2 class="wp-block-heading"><strong>No se trata de rehacerlo todo</strong></h2>



<p class="wp-block-paragraph">Pasar a medida no siempre implica sustituir toda la base existente. Muchas veces basta con identificar qué piezas pueden seguir siendo estándar y cuáles conviene aislar en una capa propia. Lo importante es decidirlo con una visión de conjunto, no solo reaccionando a incidencias.</p>



<p class="wp-block-paragraph">La mejor pregunta, por tanto, no es cuántos plugins tiene la web, sino si la arquitectura sigue siendo comprensible, mantenible y segura. Cuando la respuesta empieza a ser no, añadir otro plugin rara vez arregla el problema. Lo habitual es que simplemente lo esconda durante un tiempo más.</p>



<h2 class="wp-block-heading"><strong>La administración también debe simplificarse</strong></h2>



<p class="wp-block-paragraph">Cuando se apuesta por una capa a medida, una parte del valor aparece en el backend. Menos campos irrelevantes, procesos más claros, validaciones coherentes y pantallas pensadas para el uso diario reducen errores y dependencia. Es decir, el desarrollo a medida no solo mejora el código; también puede mejorar mucho la experiencia del equipo que trabaja dentro de WordPress todos los días.</p>
<p>La entrada <a href="https://skatox.com/blog/2026/09/17/cuando-wordpress-necesita-desarrollo-a-medida-y-no-simplemente-mas-plugins/">Cuando WordPress necesita desarrollo a medida y no simplemente más plugins</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/09/17/cuando-wordpress-necesita-desarrollo-a-medida-y-no-simplemente-mas-plugins/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7746</post-id>	</item>
		<item>
		<title>The Story of VS Code: Un Documental Imprescindible</title>
		<link>https://skatox.com/blog/2026/09/07/the-story-of-vs-code-un-documental-imprescindible/</link>
					<comments>https://skatox.com/blog/2026/09/07/the-story-of-vs-code-un-documental-imprescindible/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Mon, 07 Sep 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[Documentales o Videos]]></category>
		<category><![CDATA[Microsoft/Windows]]></category>
		<category><![CDATA[Planetas]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=7677</guid>

					<description><![CDATA[<p>Hace unos días se estrenó The Story of VS Code, un documental que cuenta la historia de Visual Studio Code directamente desde las personas que&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/09/07/the-story-of-vs-code-un-documental-imprescindible/">The Story of VS Code: Un Documental Imprescindible</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hace unos días se estrenó <strong><a href="https://www.youtube.com/watch?v=kHL3XzjpT5w" target="_blank" rel="noreferrer noopener">The Story of VS Code</a></strong>, un documental que cuenta la historia de Visual Studio Code directamente desde las personas que participaron en su desarrollo. Como me gustan este tipo de documentales sobre la historia del software, decidí verlo y encontré varias cosas que no conocía.</p>



<p class="wp-block-paragraph">Visual Studio Code es uno de esos programas que hoy parecen haber existido desde siempre. En pocos años pasó de ser un nuevo editor creado por <a href="https://www.microsoft.com/" target="_blank" rel="noreferrer noopener">Microsoft</a>, bastante criticado por utilizar tecnologías web para una aplicación de escritorio, a convertirse prácticamente en un estándar dentro de la industria. </p>



<p class="wp-block-paragraph">Al final no parece que les haya ido tan mal.</p>



<h2 class="wp-block-heading">¿De dónde salió Visual Studio Code?</h2>



<p class="wp-block-paragraph">Una de las cosas interesantes del documental es que VS Code no comenzó realmente como un editor de escritorio. El proyecto tiene sus raíces en un equipo de Microsoft en Zurich que trabajaba en herramientas de desarrollo para el navegador. De ahí aparecieron proyectos como Monaco, que eventualmente evolucionaron hasta convertirse en Visual Studio Code.</p>



<p class="wp-block-paragraph">Para construirlo utilizaron tecnologías web sobre Electron. Actualmente esto no resulta demasiado extraño, pero hace diez años utilizar HTML, CSS y JavaScript para crear una aplicación de escritorio generaba bastante discusión, principalmente por el consumo de recursos comparado con aplicaciones nativas.</p>



<p class="wp-block-paragraph">Otra cosa que me sorprendió fue descubrir que el proyecto era desarrollado por programadores distribuidos en diferentes partes del mundo. Siempre había imaginado que proyectos de este tamaño dentro de Microsoft se construían principalmente entre personas de una misma oficina o región.</p>



<p class="wp-block-paragraph">El documental además está contado por los propios protagonistas del proyecto, explicando las decisiones que fueron tomando hasta que aquel editor bastante polémico terminó convirtiéndose en uno de los más utilizados de la industria.</p>


<div class="wp-block-image">
<figure class="aligncenter"><img data-dominant-color="28292b" data-has-transparency="false" style="--dominant-color: #28292b;" decoding="async" width="1402" height="1122" sizes="(max-width: 1402px) 100vw, 1402px" src="https://skatox.com/blog/images/2026/09/captura-de-visual-studio-code-con-codigo-javascript-para-anadir-mostrar-y.avif" alt="Captura de Visual Studio Code con código JavaScript para añadir, mostrar y" class="wp-image-7678 not-transparent" srcset="https://skatox.com/blog/images/2026/09/captura-de-visual-studio-code-con-codigo-javascript-para-anadir-mostrar-y.avif 1402w, https://skatox.com/blog/images/2026/09/captura-de-visual-studio-code-con-codigo-javascript-para-anadir-mostrar-y-600x480.avif 600w, https://skatox.com/blog/images/2026/09/captura-de-visual-studio-code-con-codigo-javascript-para-anadir-mostrar-y-1024x819.avif 1024w" /><figcaption class="wp-element-caption">Interfaz de Visual Studio Code</figcaption></figure>
</div>


<h2 class="wp-block-heading">Microsoft estaba apostando bastante por la web</h2>



<p class="wp-block-paragraph">Algo que me llamó especialmente la atención fue ver cuántas tecnologías relacionadas estaba desarrollando Microsoft durante esa época. Por un lado estaba Monaco y todo el trabajo alrededor de herramientas de desarrollo para la web. Al mismo tiempo estaban creando <strong>TypeScript</strong>, que eventualmente tendría una relación bastante cercana con VS Code.</p>



<p class="wp-block-paragraph">También apareció el <a href="https://microsoft.github.io/language-server-protocol/" target="_blank" rel="noreferrer noopener"><strong>Language Server Protocol</strong>,</a> mejor conocido como LSP. El cual permite que un editor se comunique mediante un protocolo estándar con un servidor que entiende determinado lenguaje de programación. De esta forma funcionalidades como autocompletado, navegación entre definiciones o detección de errores no tienen que implementarse nuevamente para cada editor.</p>



<p class="wp-block-paragraph">Como usuario de Neovim esto me parece particularmente interesante porque actualmente utilizo LSP todos los días, aunque prácticamente no utilice VS Code. Es un buen ejemplo de una tecnología nacida alrededor de un producto de Microsoft que terminó beneficiando a todo el ecosistema.</p>



<h2 class="wp-block-heading">De VS Code a los editores con IA</h2>



<p class="wp-block-paragraph">Otra decisión importante fue publicar buena parte del proyecto como open source. Con el tiempo VS Code no solamente consiguió un enorme ecosistema de extensiones, sino que su código terminó sirviendo como base para construir otros editores.</p>



<p class="wp-block-paragraph">Esto se vuelve especialmente interesante actualmente con la inteligencia artificial.Varios de los nuevos editores orientados a programación con IA son forks o están construidos sobre tecnologías provenientes de VS Code. En lugar de desarrollar un editor completamente desde cero, pueden utilizar una base que lleva más de una década evolucionando.</p>



<p class="wp-block-paragraph">El documental habla precisamente de esta nueva etapa y de cómo VS Code terminó convirtiéndose no solamente en un editor, sino prácticamente en infraestructura para otras herramientas de desarrollo.</p>



<p class="wp-block-paragraph">Me parece curioso que algunos de los productos que ahora intentan competir contra VS Code existan precisamente gracias al trabajo que Microsoft hizo con el proyecto.</p>



<h2 class="wp-block-heading">¿Utilizo Visual Studio Code?</h2>



<p class="wp-block-paragraph">Curiosamente, casi no. Desde hace bastante tiempo mi editor principal es <a href="https://neovim.org">Neovim</a> y sigo prefiriéndolo para mi trabajo diario. Me gusta trabajar cerca de la terminal y tener un entorno configurado exactamente como quiero. Sin embargo, en diferentes trabajos me ha tocado utilizar Visual Studio Code y realmente no me parece un mal editor.</p>



<p class="wp-block-paragraph">Funciona en prácticamente cualquier plataforma, tiene un ecosistema enorme de extensiones y para alguien que simplemente quiere instalar un editor y comenzar a programar resulta bastante cómodo. Además, tengo que reconocer que es de las pocas tecnologías de Microsoft que me parece que están realmente bien hechas.</p>



<p class="wp-block-paragraph">No significa que vaya a abandonar Neovim mañana, pero puedo entender perfectamente por qué terminó siendo tan popular.</p>



<h2 class="wp-block-heading">¿Vale la pena ver The Story of VS Code?</h2>



<p class="wp-block-paragraph">Si eres programador y utilizas Visual Studio Code diariamente, te recomiendo ver el documental. Cuenta cómo comenzó el proyecto, por qué decidieron utilizar tecnologías web, quiénes estuvieron involucrados y cómo aparecieron tecnologías como Monaco, TypeScript y LSP alrededor de todo este ecosistema.</p>



<p class="wp-block-paragraph">También resulta interesante ver cómo un editor que inicialmente recibió bastantes críticas terminó afectando para bien la forma en que desarrollamos software y sirviendo de base para una nueva generación de herramientas.</p>



<p class="wp-block-paragraph">Incluso si no utilizas VS Code, probablemente utilizas alguna tecnología que fue influenciada por este proyecto.</p>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://skatox.com/blog/2026/09/07/the-story-of-vs-code-un-documental-imprescindible/"><img decoding="async" src="http://skatox.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2FkHL3XzjpT5w%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p class="wp-block-paragraph">Happy coding!</p>
<p>La entrada <a href="https://skatox.com/blog/2026/09/07/the-story-of-vs-code-un-documental-imprescindible/">The Story of VS Code: Un Documental Imprescindible</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/09/07/the-story-of-vs-code-un-documental-imprescindible/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7677</post-id>	</item>
		<item>
		<title>Herdr: el Tmux moderno para trabajar con agentes de IA en paralelo</title>
		<link>https://skatox.com/blog/2026/08/24/herdr-el-tmux-para-trabajar-con-agentes-de-ia-en-paralelo/</link>
					<comments>https://skatox.com/blog/2026/08/24/herdr-el-tmux-para-trabajar-con-agentes-de-ia-en-paralelo/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Mon, 24 Aug 2026 12:20:00 +0000</pubDate>
				<category><![CDATA[Apple/Mac]]></category>
		<category><![CDATA[Desarrollo y Programación]]></category>
		<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Inteligencia Artificial]]></category>
		<category><![CDATA[Planetas]]></category>
		<category><![CDATA[consola]]></category>
		<category><![CDATA[herdr]]></category>
		<category><![CDATA[ia]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[macos]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[terminal]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=7593</guid>

					<description><![CDATA[<p>Durante muchos años he sido usuario de tmux, hasta que, hace unas semanas, al revisar videos en YouTube, descubrí Herdr. Es una de esas herramientas&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/08/24/herdr-el-tmux-para-trabajar-con-agentes-de-ia-en-paralelo/">Herdr: el Tmux moderno para trabajar con agentes de IA en paralelo</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Durante muchos años he sido usuario de tmux, hasta que, hace unas semanas, al revisar videos en YouTube, descubrí Herdr. Es una de esas herramientas que, después de incorporarla a tu flujo de trabajo, resulta difícil abandonar: permite mantener sesiones activas, dividir la terminal en varios paneles y trabajar con múltiples consolas sin llenar el escritorio de ventanas. Sin embargo, <strong>mi manera de desarrollar software ha cambiado bastante con el auge de la inteligencia artificial.</strong> En mi nuevo trabajo utilizo varios agentes de programación en paralelo y, al mismo tiempo, necesito mantener activos servidores, procesos de compilación, pruebas y otros servicios relacionados con los proyectos.</p>



<p class="wp-block-paragraph">Tmux seguía funcionando, por supuesto, pero cada vez me costaba más navegar entre tantas ventanas y paneles. En ocasiones no recordaba dónde había dejado determinado agente, cuál seguía trabajando o cuál estaba esperando que respondiera una pregunta. Terminaba de recorrer las sesiones una por una para comprobar qué estaba ocurriendo. </p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://skatox.com/blog/images/2026/08/Screenshot_20260822_155234.png" alt="herdr corriendo codex" class="wp-image-7594"/><figcaption class="wp-element-caption">herdr corriendo Codex</figcaption></figure>



<h2 class="wp-block-heading">¿Qué es Herdr?</h2>



<p class="wp-block-paragraph">Herdr es un multiplexor de terminal diseñado específicamente para trabajar con agentes de programación. La forma más sencilla de explicarlo es que se trata de una especie de tmux modernizado y adaptado a la era de la inteligencia artificial.</p>



<p class="wp-block-paragraph">Al igual que tmux, Herdr permite crear múltiples terminales, dividirlas en paneles y mantener las sesiones en ejecución en segundo plano. Puedes cerrar la ventana de la terminal, volver más tarde y continuar donde estabas, sin detener los agentes ni los procesos activos.</p>



<p class="wp-block-paragraph">La diferencia es que Herdr no solo ve paneles: también reconoce los agentes que se ejecutan dentro de ellos. Es compatible con herramientas como Claude Code, Codex, OpenCode, GitHub Copilot CLI, Cursor Agent, entre otras. En una barra lateral se muestra si cada agente está trabajando, bloqueado, inactivo o ha terminado su tarea.</p>



<p class="wp-block-paragraph">Esta pequeña diferencia resuelve uno de los principales problemas que tenía con tmux. Ya no necesito recorrer manualmente todos los paneles para saber qué agente requiere mi atención.</p>



<h2 class="wp-block-heading">Espacios de trabajo, pestañas y paneles</h2>



<p class="wp-block-paragraph">Una de las características que más me gustaron es la manera en que Herdr organiza las terminales. La herramienta utiliza tres niveles:</p>



<ul class="wp-block-list">
<li>Los espacios de trabajo permiten separar proyectos.</li>



<li>Las pestañas agrupan diferentes tareas dentro de cada proyecto.</li>



<li>Los paneles contienen las consolas, los agentes y los servicios que se ejecutan.</li>
</ul>



<p class="wp-block-paragraph">Por ejemplo, puedo tener un espacio de trabajo para cada proyecto. Dentro de él creo una pestaña para los agentes, otra para el servidor de desarrollo y otra para las pruebas o los registros. Si necesito observar dos procesos al mismo tiempo, simplemente divido la pestaña en varios paneles.</p>



<p class="wp-block-paragraph">La barra lateral resume el estado de todos los agentes. De esta forma, puedo ver rápidamente quién continúa trabajando, quién necesita que apruebe una acción y quién ya finalizó. Al seleccionarlo, Herdr me lleva directamente a su panel para revisar el resultado y redactar el siguiente prompt.</p>



<p class="wp-block-paragraph">Para quienes trabajamos con varios agentes en paralelo, esta vista resulta mucho más práctica que intentar recordar en qué ventana se encuentra cada uno.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://skatox.com/blog/images/2026/08/Herdr.png" alt="Interfaz de Herdr" class="wp-image-7596"/><figcaption class="wp-element-caption">Ejemplo de la interfaz de Herdr</figcaption></figure>



<h2 class="wp-block-heading">Una transición sencilla desde tmux</h2>



<p class="wp-block-paragraph">Otra razón por la que comencé a utilizar Herdr es que no tuve que aprender de cero una nueva forma de controlar la terminal. La herramienta conserva el mismo modelo de prefijo de tmux: por defecto se utiliza <code>Ctrl+B</code> Antes de ejecutar una acción.</p>



<p class="wp-block-paragraph">También incluye varios atajos familiares. Con <code>Ctrl+B</code> y luego <code>c</code> Se crea una nueva pestaña, mientras que <code>Ctrl+B</code> y después <code>n</code> o <code>p</code> Permite avanzar o retroceder entre ellas. Para dividir paneles, navegar por los espacios de trabajo o desconectarse de una sesión, se sigue una lógica muy similar.</p>



<p class="wp-block-paragraph">Si ya utilizas tmux, la adaptación es bastante rápida. Además, al presionar <code>Ctrl+B</code> y luego <code>?</code> Puedes consultar todos los atajos disponibles.</p>



<p class="wp-block-paragraph">Herdr también soporta el mouse por defecto. Es posible seleccionar paneles, pestañas, espacios de trabajo y agentes con un clic, cambiar el tamaño de las divisiones arrastrando sus bordes y abrir menús contextuales con el botón derecho. Aunque normalmente prefiero los atajos de teclado, el mouse resulta cómodo cuando quiero reorganizar rápidamente la interfaz.</p>



<h2 class="wp-block-heading">Notificaciones cuando un agente necesita atención</h2>



<p class="wp-block-paragraph">Una de las funciones más útiles de Herdr es su sistema de notificaciones. La herramienta puede avisar cuando un agente termina una tarea o cuando necesita que respondamos una pregunta o aprobemos alguna acción. Esto permite dejar varios agentes trabajando y concentrarse en otra actividad sin revisar cada terminal constantemente. Cuando alguno finaliza, recibo el aviso, salto directamente a su panel, reviso lo que hizo y continúo la conversación con un nuevo prompt.</p>



<p class="wp-block-paragraph">En la práctica, Herdr convierte un conjunto de terminales dispersas en una pequeña central de control para agentes. No ejecuta el trabajo por ellos ni reemplaza herramientas como Codex o Claude Code; simplemente ofrece una forma mucho más clara de organizarlos y supervisarlos.</p>



<h2 class="wp-block-heading">Herdr funciona dentro de la terminal</h2>



<p class="wp-block-paragraph">Existen otras alternativas para administrar agentes, como <a href="https://cmux.com/es" target="_blank" rel="noreferrer noopener">cmux</a>, pero muchas de ellas funcionan como aplicaciones independientes o buscan reemplazar la terminal que ya utilizas. Herdr adopta un enfoque diferente. Es una herramienta nativa de consola, desarrollada en Rust, que se ejecuta en la terminal que prefieras. No necesita Electron ni obliga a cambiar <a href="https://skatox.com/blog/tag/ghostty/" data-type="post_tag" data-id="1250">Ghostty</a>, Kitty, iTerm2, Alacritty ni a cambiar ningún otro emulador de terminal que ya forme parte de tu entorno.</p>



<p class="wp-block-paragraph">Para mí, esto es una gran ventaja. Puedo conservar el flujo de trabajo que he utilizado durante años, entrar por SSH cuando lo necesito y seguir trabajando exclusivamente desde la consola.</p>



<h2 class="wp-block-heading">Una herramienta de código abierto para organizar el nuevo desarrollo con IA</h2>



<p class="wp-block-paragraph">Otro aspecto que me encanta es que <a href="https://github.com/herdrdev/herdr">Herdr es un proyecto de código abierto</a>, distribuido bajo la licencia Apache 2.0. Esto permite revisar su código, proponer mejoras y contribuir con una herramienta que probablemente resulte cada vez más útil a medida que trabajar con varios agentes se convierta en algo habitual.</p>



<p class="wp-block-paragraph">Después de muchos años utilizando tmux, no esperaba reemplazarlo fácilmente. Sin embargo, Herdr conserva las ideas que siempre me gustaron de tmux y añade justo lo que necesitaba para mi flujo de trabajo actual: una interfaz más moderna, organización por proyectos, soporte para el mouse, seguimiento del estado de los agentes y notificaciones cuando alguno requiere atención.</p>



<p class="wp-block-paragraph">Si trabajas con muchas consolas, mantienes varios servicios activos o utilizas diferentes agentes de inteligencia artificial en paralelo, te recomiendo probarlo. En esencia, Herdr es el tmux de siempre, pero preparado para una forma de desarrollar software que apenas hace unos años no existía.</p>



<p class="wp-block-paragraph">Happy coding!</p>
<p>La entrada <a href="https://skatox.com/blog/2026/08/24/herdr-el-tmux-para-trabajar-con-agentes-de-ia-en-paralelo/">Herdr: el Tmux moderno para trabajar con agentes de IA en paralelo</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/08/24/herdr-el-tmux-para-trabajar-con-agentes-de-ia-en-paralelo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7593</post-id>	</item>
		<item>
		<title>SUSE Now Hallelujah: otra gran parodia musical geek de SUSE</title>
		<link>https://skatox.com/blog/2026/08/17/suse-now-hallelujah-otra-gran-parodia-musical-geek-de-suse/</link>
					<comments>https://skatox.com/blog/2026/08/17/suse-now-hallelujah-otra-gran-parodia-musical-geek-de-suse/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Mon, 17 Aug 2026 12:33:00 +0000</pubDate>
				<category><![CDATA[Gnu/Linux]]></category>
		<category><![CDATA[Musica Geek]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[video]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=7549</guid>

					<description><![CDATA[<p>Si has leído mi blog desde hace tiempo, sabrás que una de las cosas que me gusta compartir es música geek, especialmente cuando combina tecnología,&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/08/17/suse-now-hallelujah-otra-gran-parodia-musical-geek-de-suse/">SUSE Now Hallelujah: otra gran parodia musical geek de SUSE</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Si has leído mi blog desde hace tiempo, sabrás que una de las cosas que me gusta compartir es música geek, especialmente cuando combina tecnología, software libre y un poco de humor. También habrás notado que <a href="https://www.suse.com/" target="_blank" rel="noreferrer noopener">SUSE</a> aparece con bastante frecuencia en esta categoría, porque probablemente sea una de las empresas de tecnología que más se han divertido creando parodias musicales sobre Linux y el mundo open source.</p>



<p class="wp-block-paragraph">Revisando algunos de esos videos, me encontré con uno que todavía no había compartido por aquí: <strong>SUSE Now Hallelujah</strong>, una parodia publicada por SUSE en 2018 basada en la canción <strong>Faith de Stevie Wonder y Ariana Grande</strong>, perteneciente a la banda sonora de la película <em>Sing</em>. Y, como suele pasar con los videos musicales de SUSE, no se limitaron a cambiar algunas palabras de la canción original. Crearon todo un videoclip, con músicos, cantantes, coreografía y, por supuesto, bastante color verde.</p>



<h2 class="wp-block-heading">¿De qué se trata SUSE Now Hallelujah?</h2>



<p class="wp-block-paragraph">La protagonista de la canción es prácticamente la mascota de SUSE: el famoso camaleón verde. A partir de allí, la letra comienza a incorporar diversas características y tecnologías relacionadas con SUSE y Linux.</p>



<p class="wp-block-paragraph">Entre las referencias aparecen conceptos como centros de datos, uptime, infraestructura, almacenamiento, contenedores, escalabilidad y live patching, todo mientras el camaleón baila y demuestra por qué, aparentemente, es el rey del open source.</p>



<p class="wp-block-paragraph">Si <strong>trabajas administrando servidores o tienes experiencia con Linux en entornos empresariales,</strong> seguramente reconocerás muchas de estas referencias. Por ejemplo, el live patching permite aplicar determinados parches al kernel sin tener que reiniciar completamente el sistema, lo cual es especialmente importante cuando estás administrando servicios que deben permanecer disponibles durante largos períodos de tiempo. </p>



<p class="wp-block-paragraph">Pero tampoco hace falta conocer todos estos conceptos para disfrutar el video. La canción funciona simplemente por lo absurda y divertida que resulta la idea de convertir características de una distribución Linux empresarial en una canción alegre y pegadiza.</p>



<h2 class="wp-block-heading">SUSE y su extraña tradición musical</h2>



<p class="wp-block-paragraph">Una de las cosas que siempre me ha parecido curiosa de SUSE es que, durante años, ha utilizado la música y el humor como parte de su cultura. No es precisamente lo primero que imaginas cuando piensas en una empresa dedicada a Linux empresarial, servidores e infraestructura.</p>



<p class="wp-block-paragraph"><em>SUSE Now Hallelujah</em> sigue exactamente ese espíritu: tomar algo que normalmente podría parecer extremadamente técnico y convertirlo en una pequeña celebración de la cultura geek y del software libre.</p>



<p class="wp-block-paragraph">Así que si utilizas Linux, administras servidores, trabajas en tecnología o simplemente disfrutas este tipo de rarezas de Internet, te recomiendo ver el video.</p>



<p class="wp-block-paragraph">Y cuidado, porque después de escucharlo unas cuantas veces, probablemente termines con el <strong>“I&#8217;m going green, Hallelujah, I&#8217;m SUSE now”</strong> dando vueltas en tu cabeza.</p>


<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><a href="https://skatox.com/blog/2026/08/17/suse-now-hallelujah-otra-gran-parodia-musical-geek-de-suse/"><img decoding="async" src="http://skatox.com/blog/wp-content/plugins/wp-youtube-lyte/lyteCache.php?origThumbUrl=https%3A%2F%2Fi.ytimg.com%2Fvi%2F-z8LDOujCJc%2Fhqdefault.jpg" alt="YouTube Video"></a><br /><br /><figcaption></figcaption></figure>


<p class="wp-block-paragraph">Finalmente, si te gusta este tipo de videos, recuerda revisar la categoría de <strong><a href="https://skatox.com/blog/category/musica-geek/" data-type="category" data-id="405">Música Geek</a></strong> del blog, donde durante años he recopilado canciones, parodias y otras rarezas musicales creadas especialmente para geeks.</p>
<p>La entrada <a href="https://skatox.com/blog/2026/08/17/suse-now-hallelujah-otra-gran-parodia-musical-geek-de-suse/">SUSE Now Hallelujah: otra gran parodia musical geek de SUSE</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/08/17/suse-now-hallelujah-otra-gran-parodia-musical-geek-de-suse/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7549</post-id>	</item>
		<item>
		<title>Escribo menos código que nunca: Superpowers y el nuevo desarrollo con IA</title>
		<link>https://skatox.com/blog/2026/08/10/escribo-menos-codigo-que-nunca-superpowers-y-el-nuevo-desarrollo-con-ia/</link>
					<comments>https://skatox.com/blog/2026/08/10/escribo-menos-codigo-que-nunca-superpowers-y-el-nuevo-desarrollo-con-ia/#respond</comments>
		
		<dc:creator><![CDATA[Miguel Useche]]></dc:creator>
		<pubDate>Mon, 10 Aug 2026 12:12:00 +0000</pubDate>
				<category><![CDATA[Desarrollo y Programación]]></category>
		<category><![CDATA[Inteligencia Artificial]]></category>
		<category><![CDATA[Planetas]]></category>
		<category><![CDATA[ia]]></category>
		<category><![CDATA[inteligencia artificial]]></category>
		<category><![CDATA[llm]]></category>
		<category><![CDATA[skills]]></category>
		<category><![CDATA[superpowers]]></category>
		<guid isPermaLink="false">https://skatox.com/blog/?p=7514</guid>

					<description><![CDATA[<p>Hace unos pocos meses me di cuenta de que cada vez escribía menos código directamente. No porque estuviera desarrollando menos software, sino porque mi forma&#8230;</p>
<p>La entrada <a href="https://skatox.com/blog/2026/08/10/escribo-menos-codigo-que-nunca-superpowers-y-el-nuevo-desarrollo-con-ia/">Escribo menos código que nunca: Superpowers y el nuevo desarrollo con IA</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Hace unos pocos meses me di cuenta de que cada vez escribía menos código directamente. No porque estuviera desarrollando menos software, sino porque mi forma de trabajar había cambiado por completo. Si antes abría mi editor y comenzaba a implementar una idea casi de inmediato, ahora paso mucho más tiempo entendiendo el problema, diseñando la solución y validando que todo tenga sentido antes de escribir una sola línea a través del uso de <strong><a href="https://github.com/obra/superpowers">Superpowers</a></strong>.</p>



<p class="wp-block-paragraph">Paradójicamente, eso me ha hecho desarrollar más rápido.</p>



<p class="wp-block-paragraph">Durante los últimos años hemos visto aparecer herramientas capaces de generar código en cuestión de segundos. Sin embargo, cualquiera que haya trabajado en proyectos reales sabe que generar código y desarrollar software son dos cosas muy distintas. Un programa no solo necesita funcionar; también debe ser mantenible, probado, seguro y fácil de evolucionar.</p>



<p class="wp-block-paragraph">Gracias al <a href="https://x.com/ezronald" target="_blank" rel="noreferrer noopener">Ing. Ronald Escalona</a>, quien me compartió información sobre las skills de <em>Superpowers</em>, un plugin que incorpora un conjunto de <em>skills</em> especializados para el desarrollo de software. Después de utilizarlo durante un mes, puedo decir que cambió por completo mi forma de trabajar con IA y, curiosamente, también mi forma de programar.</p>


<div class="wp-block-image">
<figure class="aligncenter"><img data-dominant-color="13141c" data-has-transparency="false" style="--dominant-color: #13141c;" decoding="async" width="1402" height="1122" sizes="(max-width: 1402px) 100vw, 1402px" src="https://skatox.com/blog/images/2026/08/programador-trabajando-con-un-asistente-de-ia-que-sugiere-codigo-en.avif" alt="Programador trabajando con las skills de superpowers que sugiere código en pantalla" class="wp-image-7516 not-transparent" srcset="https://skatox.com/blog/images/2026/08/programador-trabajando-con-un-asistente-de-ia-que-sugiere-codigo-en.avif 1402w, https://skatox.com/blog/images/2026/08/programador-trabajando-con-un-asistente-de-ia-que-sugiere-codigo-en-600x480.avif 600w, https://skatox.com/blog/images/2026/08/programador-trabajando-con-un-asistente-de-ia-que-sugiere-codigo-en-1024x819.avif 1024w" /><figcaption class="wp-element-caption">Gracias al skill de superpowers, ahora tengo un asistente que programa por mi</figcaption></figure>
</div>


<h2 class="wp-block-heading">¿Qué es un plugin y qué es un skill?</h2>



<p class="wp-block-paragraph">Antes de hablar de Superpowers, conviene aclarar dos conceptos:</p>



<ul class="wp-block-list">
<li>Un <strong>plugin</strong> es una extensión que añade nuevas capacidades a una aplicación. En este caso, Superpowers amplía las capacidades del modelo de lenguaje incorporando metodologías, procesos y herramientas orientados específicamente al desarrollo de software.</li>



<li>Un <strong>skill</strong>, por otra parte, puede entenderse como una habilidad especializada. No es simplemente un prompt enorme ni un conjunto de instrucciones copiadas y pegadas en cada conversación. Es un flujo de trabajo diseñado para resolver un tipo específico de problema siguiendo buenas prácticas de ingeniería.</li>
</ul>



<p class="wp-block-paragraph">La mejor forma de imaginarlo es pensar que, en lugar de conversar con una única inteligencia artificial, estás incorporando a tu equipo a diferentes especialistas: un arquitecto de software, un ingeniero de calidad, un experto en pruebas automatizadas, un revisor de código o un especialista en depuración. Dependiendo del problema que quieras resolver, utilizas el skill más adecuado.</p>



<p class="wp-block-paragraph">Lo interesante es que estos skills no buscan reemplazar al desarrollador; buscan que la IA trabaje siguiendo un proceso similar al que utilizaría un buen equipo de ingeniería.</p>



<h2 class="wp-block-heading">Los skills que componen Superpowers</h2>



<p class="wp-block-paragraph">Aunque cada skill puede utilizarse de forma independiente, en conjunto cubren prácticamente todo el ciclo de desarrollo de una funcionalidad.</p>



<p class="wp-block-paragraph">El proceso suele comenzar con <strong><em>Brainstorming</em></strong>, una skill que ayuda a comprender el problema antes de pensar en la implementación. En lugar de generar código de inmediato, analiza los requisitos, identifica restricciones, plantea preguntas clave y propone distintas alternativas para resolver el problema.</p>



<p class="wp-block-paragraph">Una vez que existe claridad sobre lo que se quiere construir, <strong><em>Writing Plans</em></strong> transforma esas ideas en un plan de implementación dividido en tareas pequeñas y ordenadas. Este paso resulta especialmente útil cuando se trabaja en funcionalidades grandes o proyectos complejos, ya que evita improvisar durante el desarrollo.</p>



<p class="wp-block-paragraph">Si el proyecto requiere trabajar de forma aislada, <strong><em>Using Git Worktrees</em></strong> prepara automáticamente un entorno independiente. Aunque esta es una característica nativa de Git, pocas personas la utilizan, y resulta extremadamente útil para desarrollar funcionalidades sin afectar la rama principal del proyecto.</p>



<p class="wp-block-paragraph">Uno de los skills más interesantes es el <a href="https://es.wikipedia.org/wiki/Desarrollo_guiado_por_pruebas"><em>Test-Driven Development (TDD)</em></a>. En lugar de escribir primero el código, guía al desarrollador para que siga el ciclo clásico de TDD: crear una prueba, verificar que falle, implementar únicamente el código necesario para hacerla pasar y finalmente refactorizar. Esto convierte las pruebas en una especificación funcional y hace que la IA deje de «adivinar» cómo debería comportarse el sistema.</p>



<p class="wp-block-paragraph">Cuando las tareas son demasiado grandes, <strong><em>Subagent Driven Development</em></strong> permite dividir el trabajo entre varios agentes especializados. Mientras uno analiza la arquitectura, otro implementa, otro escribe pruebas y otro revisa la documentación. El resultado se parece mucho más al trabajo colaborativo de un equipo que a una conversación tradicional con un modelo de lenguaje.</p>



<p class="wp-block-paragraph">La fase de depuración también tiene su propio proceso, denominado <strong><em>Systematic Debugging</em>,</strong> que evita modificar el código por intuición y propone investigar primero la causa raíz del problema antes de aplicar cualquier corrección.</p>



<p class="wp-block-paragraph">Después de implementar una funcionalidad, entra en juego <strong><em>Requesting Code Review</em></strong>, encargado de revisar la calidad del código desde distintos puntos de vista, como mantenibilidad, claridad, arquitectura y rendimiento. Si posteriormente surgen comentarios durante una revisión, <em>Receiving Code Review</em> ayuda a analizarlos críticamente y decidir cuáles realmente mejoran el proyecto.</p>



<p class="wp-block-paragraph">Superpowers también incorpora <em><strong>Fix CI</strong>,</em> pensado para diagnosticar problemas en los pipelines de integración continua, especialmente cuando fallan las pruebas o los procesos de GitHub Actions.</p>



<p class="wp-block-paragraph">Antes de considerar terminada una tarea, aparece <strong><em>Verification Before Completion</em></strong>, cuyo objetivo es comprobar que todo compile correctamente, que las pruebas pasen y que no existan errores conocidos. Finalmente, «<strong><em>Finishing a Development Branch</em></strong>» realiza una última revisión antes de integrar la rama al proyecto principal, verificando que el trabajo esté realmente listo para hacer merge.</p>



<p class="wp-block-paragraph">Vistos individualmente, parecen herramientas independientes, pero juntos forman una metodología bastante completa para desarrollar software asistido por inteligencia artificial.</p>



<h2 class="wp-block-heading">Cómo se trabaja con Superpowers</h2>



<p class="wp-block-paragraph">Todo comienza con <strong><em>Brainstorming</em></strong>. Antes de pensar en el código, intento entender el problema, revisar los requisitos y explorar diferentes alternativas. Muchas veces descubro que la primera idea no es necesariamente la mejor.</p>



<p class="wp-block-paragraph">Cuando la solución está clara, utilizo <strong><em>Writing Plans</em></strong> para dividir el trabajo en pequeñas tareas. Tener un plan evita perder tiempo durante la implementación y hace mucho más sencillo saber qué falta por hacer.</p>



<p class="wp-block-paragraph">Si la funcionalidad es importante, preparo un entorno aislado utilizando <strong><em>Using Git Worktrees</em></strong>, lo que me permite experimentar sin preocuparme por afectar el estado del proyecto principal.</p>



<p class="wp-block-paragraph">A partir de ese momento, intento seguir siempre un enfoque basado en Test-Driven Development. Primero escribo las pruebas, luego implemento únicamente el código necesario para que pasen y, finalmente, refactorizo cuando todo funciona correctamente. Si el desarrollo requiere varias partes independientes, <strong><em>Subagent Driven Development</em></strong> permite repartir responsabilidades entre distintos agentes especializados, lo que acelera bastante el proceso.</p>



<p class="wp-block-paragraph">Cuando inevitablemente aparece algún error, procuro resistir la tentación de modificar el código de inmediato. En lugar de ello, recurro a <em><strong>Systematic Debugging</strong>,</em> que obliga a formular hipótesis, buscar evidencia y encontrar la verdadera causa del problema antes de proponer una solución.</p>



<p class="wp-block-paragraph">Una vez implementada la funcionalidad, solicito una revisión mediante <em><strong>Requesting Code Review</strong>,</em> analizo los comentarios utilizando <strong><em>Receiving Code Review</em></strong> y, antes de considerar terminado el trabajo, ejecuto <strong><em>Verification Before Completion</em></strong> para asegurarme de que todo compile correctamente y las pruebas pasen sin inconvenientes. Finalmente, <strong><em>Finishing a Development Branch</em></strong> sirve como una última comprobación antes de integrar la rama al proyecto principal.</p>



<p class="wp-block-paragraph">Puede parecer un proceso más largo que simplemente pedirle a la IA «implementa esta funcionalidad», pero mi experiencia ha sido exactamente lo contrario. Al existir un proceso ordenado, aparecen menos errores, disminuye el retrabajo y las implementaciones suelen llegar mucho más maduras desde el principio.</p>



<h2 class="wp-block-heading">Reflexión final</h2>



<p class="wp-block-paragraph">Después de varios meses utilizando este enfoque, tengo una conclusión bastante clara: la inteligencia artificial no está reemplazando al ingeniero de software; está cambiando cuál es su trabajo. Cada vez dedicaremos menos tiempo a escribir código repetitivo y mucho más a comprender problemas, diseñar soluciones, validar resultados y tomar decisiones técnicas. Es un cambio que, lejos de preocuparme, me parece una evolución natural de nuestra profesión.</p>



<p class="wp-block-paragraph">De hecho, esto me recuerda a mi profesor de Sistemas de Información II cuando en clase dijo que una cosa es la Ingeniería de Software y otra programar. Que al estudiar ingenieria haríamos mas que aquellos que solo saben programar, y eso fue hace como 18 años. Todo un visionario.</p>



<p class="wp-block-paragraph">Herramientas como Superpowers demuestran que utilizar IA para desarrollar software puede ser cada vez más seguro y confiable cuando existe una metodología que la respalda. Sin embargo, <strong>ninguna metodología elimina la necesidad del criterio humano</strong>. Comprender el contexto del negocio, decidir qué problema vale la pena resolver, evaluar riesgos y determinar cuándo una solución realmente cumple con los objetivos del proyecto siguen siendo tareas del desarrollador.</p>



<p class="wp-block-paragraph">La IA seguirá mejorando, escribirá código cada vez más rápido y probablemente resolverá problemas cada vez más complejos. Pero mientras existan decisiones de diseño, arquitectura y negocio que tomar, la experiencia humana seguirá siendo indispensable. Quizás el futuro del desarrollo no consista en escribir más código, sino en construir mejores procesos para colaborar con la inteligencia artificial de forma responsable. Y, sinceramente, creo que ese futuro ya comenzó.</p>



<p class="wp-block-paragraph">Happy coding!</p>
<p>La entrada <a href="https://skatox.com/blog/2026/08/10/escribo-menos-codigo-que-nunca-superpowers-y-el-nuevo-desarrollo-con-ia/">Escribo menos código que nunca: Superpowers y el nuevo desarrollo con IA</a> se publicó primero en <a href="https://skatox.com/blog">El blog de Skatox</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://skatox.com/blog/2026/08/10/escribo-menos-codigo-que-nunca-superpowers-y-el-nuevo-desarrollo-con-ia/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7514</post-id>	</item>
	</channel>
</rss>