<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Desarrollo on Manu Mateos</title><link>https://www.macram.es/tags/desarrollo/</link><description>Recent content in Desarrollo on Manu Mateos</description><generator>Hugo -- gohugo.io</generator><language>es</language><lastBuildDate>Mon, 08 Sep 2025 12:11:33 +0200</lastBuildDate><atom:link href="https://www.macram.es/tags/desarrollo/index.xml" rel="self" type="application/rss+xml"/><item><title>#155: artistas más escuchados</title><link>https://www.macram.es/posts/2025-09-08-artistas-mas-escuchados-en-last-fm/</link><pubDate>Mon, 08 Sep 2025 12:11:33 +0200</pubDate><guid>https://www.macram.es/posts/2025-09-08-artistas-mas-escuchados-en-last-fm/</guid><description>&lt;p&gt;&lt;a href="https://www.manumateos.dev/posts/shortcode-para-mostrar-artistas-mas-escuchados-last-fm/"&gt;Como he detallado en mi blog de desarrollo&lt;/a&gt;, he hecho un pequeño &lt;em&gt;shortcode&lt;/em&gt; para este blog de Hugo que muestra los artistas que más he escuchado en Last.FM. &lt;a href="https://www.macram.es/musica/"&gt;Se puede ver ya en acción en la página de música de este blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hay un espacio entre los artistas que no consigo eliminar sin hacer el código del todo ilegible; tengo que dedicarle algo más de tiempo, pero de momento estoy suficientemente a gusto con el resultado. Ha sido sencillo de programar, la verdad.&lt;/p&gt;</description><content:encoded><![CDATA[
      <p><a href="https://www.manumateos.dev/posts/shortcode-para-mostrar-artistas-mas-escuchados-last-fm/">Como he detallado en mi blog de desarrollo</a>, he hecho un pequeño <em>shortcode</em> para este blog de Hugo que muestra los artistas que más he escuchado en Last.FM. <a href="https://www.macram.es/musica/">Se puede ver ya en acción en la página de música de este blog</a>.</p>
<p>Hay un espacio entre los artistas que no consigo eliminar sin hacer el código del todo ilegible; tengo que dedicarle algo más de tiempo, pero de momento estoy suficientemente a gusto con el resultado. Ha sido sencillo de programar, la verdad.</p>
<p>Se actualiza, eso sí, cada vez que se construye el blog. O sea, la información no es precisamente en tiempo real. Pero tampoco creo que pase nada por mostrar que <em>la última vez</em> que actualicé el blog estaba escuchando esa música.</p>
<p><a href="https://gist.github.com/macram/3992b578a19d08e87c09a071a184ffe3">El código está en un GitHub Gist</a>.</p>

      ]]></content:encoded></item><item><title>Programs vs products</title><link>https://www.macram.es/posts/2025/04/2025-04-19-programs-vs-products/</link><pubDate>Sat, 19 Apr 2025 17:10:33 +0200</pubDate><guid>https://www.macram.es/posts/2025/04/2025-04-19-programs-vs-products/</guid><description>&lt;p&gt;Traduzco la cita de &lt;a href="https://dylanbeattie.net/2025/04/11/the-problem-with-vibe-coding.html"&gt;este post de Dylan Beattie&lt;/a&gt;, seleccionada a su vez por &lt;a href="https://rachsmith.com/the-difference-between-programs-and-products/"&gt;Rach Smith&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Lo del &lt;em&gt;&amp;ldquo;vibe coding&amp;rdquo;&lt;/em&gt; es otro recordatorio de que mucha gente que trabaja en tecnología no entiende la diferencia entre &amp;ldquo;programas&amp;rdquo; y &amp;ldquo;productos&amp;rdquo;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Añado otras dos que destaco. No significa, eso sí, que esté necesariamente de acuerdo con ellas. Solo me han parecido interesantes.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Probablemente la lección más importante que he aprendido en mi carrera, lo que creo que es el sello de la &amp;ldquo;experiencia&amp;rdquo;, es entender cuánto trabajo cuesta convertir un programa que funciona en un producto viable. Por eso las estimaciones de los desarrolladores son notoriamente optimistas.&lt;/p&gt;</description><content:encoded><![CDATA[
      <p>Traduzco la cita de <a href="https://dylanbeattie.net/2025/04/11/the-problem-with-vibe-coding.html">este post de Dylan Beattie</a>, seleccionada a su vez por <a href="https://rachsmith.com/the-difference-between-programs-and-products/">Rach Smith</a>.</p>
<blockquote>
<p>Lo del <em>&ldquo;vibe coding&rdquo;</em> es otro recordatorio de que mucha gente que trabaja en tecnología no entiende la diferencia entre &ldquo;programas&rdquo; y &ldquo;productos&rdquo;.</p>
</blockquote>
<p>Añado otras dos que destaco. No significa, eso sí, que esté necesariamente de acuerdo con ellas. Solo me han parecido interesantes.</p>
<blockquote>
<p>Probablemente la lección más importante que he aprendido en mi carrera, lo que creo que es el sello de la &ldquo;experiencia&rdquo;, es entender cuánto trabajo cuesta convertir un programa que funciona en un producto viable. Por eso las estimaciones de los desarrolladores son notoriamente optimistas.</p>
</blockquote>
<blockquote>
<p>Una de las cosas genuinamente positivas de herramientas como Copilot o ChatGPT es que empoderan a personas con experiencia mínima como desarrollador para crear sus propios programas. Pequeños programas que hacen cosas útiles. Y eso es maravilloso. Más poder para los usuarios.
Pero esto no es desarrollo de un producto, sino programación. No es lo mismo. Ni de lejos.</p>
</blockquote>

      ]]></content:encoded></item><item><title>Cambiar de hosting un blog: fácil, rápido e indoloro</title><link>https://www.macram.es/desarrollo/cambiar-de-hosting-un-blog-facil-rapido-e-indoloro/</link><pubDate>Thu, 29 Sep 2016 18:30:42 +0000</pubDate><guid>https://www.macram.es/desarrollo/cambiar-de-hosting-un-blog-facil-rapido-e-indoloro/</guid><description>&lt;p&gt;Estos días estoy dedicando parte de mi tiempo a &lt;strong&gt;trasladar algunos de mis sitios Web&lt;/strong&gt; de mi antiguo hosting en SurpassHosting a un &lt;a href="https://www.siteground.com/go/manumateos-wp"&gt;plan en SiteGround&lt;/a&gt;, que mantendré al menos un año (y que la verdad es que va como un tiro). Todos estos sitios Web están basados en WordPress, con un conjunto diferente de plugins y temas para cada uno, y por supuesto con distintos datos. Y el proceso al final ha resultado bastante sencillo.&lt;/p&gt;</description><content:encoded><![CDATA[
      <p>Estos días estoy dedicando parte de mi tiempo a <strong>trasladar algunos de mis sitios Web</strong> de mi antiguo hosting en SurpassHosting a un <a href="https://www.siteground.com/go/manumateos-wp">plan en SiteGround</a>, que mantendré al menos un año (y que la verdad es que va como un tiro). Todos estos sitios Web están basados en WordPress, con un conjunto diferente de plugins y temas para cada uno, y por supuesto con distintos datos. Y el proceso al final ha resultado bastante sencillo.</p>
<p>Tenemos que tener acceso a ambas cuentas de hosting para poder llevarlo a cabo.</p>
<!-- end-chunk -->
<!-- begin-chunk data-anchor="en-el-hosting-antiguo" -->

<h2>En el hosting antiguo</h2>

<ul>
<li><strong>Hacemos un backup de todos los archivos</strong>. Podemos omitir los de wp-super-cache. Para ello, accedemos por FTP o simplemente a través del administrador de ficheros de cPanel, hacemos un zip con todo y nos lo descargamos.</li>
<li><strong>Hacemos un dump de la base de datos</strong>. Consultamos el fichero <code>wp-config.php</code> para ver qué base de datos es la que debemos usar, accedemos a phpMyAdmin, buscamos la base de datos, «Exportar» y esperamos un poco. En el caso de <a href="http://musicafolk.es">musicafolk.es</a>, por ejemplo, ocupó poco más de dos megas.</li>
<li><strong>Ponemos un mensajito en el blog antiguo para identificar que es el antiguo</strong>. Esto es opcional.</li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk data-anchor="en-el-hosting-nuevo" -->

<h2>En el hosting nuevo</h2>

<ul>
<li>En el panel de control, damos de alta el dominio.</li>
<li>Subimos (y opcionalmente descomprimimos) el backup del blog que hicimos antes.</li>
<li>Creamos una base de datos MySQL, un usuario con una contraseña que conozcamos, y damos permisos a ese usuario a la base de datos que hemos creado.</li>
<li>Abrimos phpMyAdmin, y en la base de datos que hemos creado, importamos el dump que hicimos antes.</li>
<li>En <code>wp-config.php</code> del blog del hosting nuevo, cambiamos host, nombre de base de datos, usuario y contraseña de acceso a la base de datos.</li>
</ul>
<!-- end-chunk -->
<!-- begin-chunk data-anchor="en-el-panel-de-control-del-registrador-del-dominio" -->

<h2>En el panel de control del registrador del dominio</h2>

<ul>
<li>Cambiamos DNS del dominio del antiguo hosting al nuevo hosting.</li>
<li>Esperamos unas horas.</li>
</ul>
<p>Opcionalmente tendremos que hacer también la migración de las cuentas de correo y de su contenido, pero eso será carne de otro post.</p>

      ]]></content:encoded></item></channel></rss>