<?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>Tutorial on gvisoc.com</title>
    <link>https://gvisoc.com/tags/tutorial/</link>
    <description>Recent content in Tutorial on gvisoc.com</description>
    <image>
      <title>gvisoc.com</title>
      <url>https://gvisoc.com/images/site-umina-gs.jpg</url>
      <link>https://gvisoc.com/images/site-umina-gs.jpg</link>
    </image>
    <generator>Hugo -- 0.151.0</generator>
    <language>es-ES</language>
    <managingEditor>gabriel@gvisoc.com (Gabriel Viso Carrera)</managingEditor>
    <webMaster>gabriel@gvisoc.com (Gabriel Viso Carrera)</webMaster>
    <copyright>Gabriel Viso Carrera</copyright>
    <lastBuildDate>Mon, 15 Jul 2024 23:52:31 +0000</lastBuildDate>
    <atom:link href="https://gvisoc.com/tags/tutorial/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Actualiza tu Máquina Virtual de Windows 10 a Windows 11 en VirtualBox</title>
      <link>https://gvisoc.com/posts/actualiza-tu-maquina-virtual-de-windows-10-a-windows-11-en-virtualbox/</link>
      <pubDate>Mon, 15 Jul 2024 23:52:31 +0000</pubDate><author>gabriel@gvisoc.com (Gabriel Viso Carrera)</author>
      <guid>https://gvisoc.com/posts/actualiza-tu-maquina-virtual-de-windows-10-a-windows-11-en-virtualbox/</guid>
      <description>Es hora de ver cómo actualizar tu máquina virtual de Windows 10 a Windows 11, antes de perder el soporte de Microsoft.</description>
      <content:encoded><![CDATA[<p><a href="https://learn.microsoft.com/es-es/lifecycle/products/windows-10-home-and-pro"><strong>En Octubre de 2025 Windows 10 pierde su soporte</strong></a><strong>, y no recibirá más actualizaciones</strong>.</p>
<p><strong>Si usas GNU/Linux en tu día a día pero tienes Windows en una máquina virtual por si las moscas, esto también es un problema</strong> aunque no uses Windows más que una o dos veces al año. Por ejemplo, si usas Windows para entrar en la típica página de la administración porque no has sido capaz de configurar un navegador de forma que funcione correctamente, vas a tener que tener un sistema compatible pero actualizado. No quieres usar un sistema desactualizado, sin parches, etc., para cosas tan sensibles como tu declaración de la renta o gestionar cosas con la Seguridad Social. <strong>Aunque creas que te da igual, no te da igual, y no quieres hacerlo</strong>.</p>
<blockquote>
<p><strong>Para poder llevar a cabo este proceso tu ordenador físico tiene que cumplir con los requisitos de hardware de Windows 11</strong> en términos de microprocesador, módulo de seguridad TPM, y demás. La virtualización es un proceso que comparte dispositivos reales de la máquina física entre distintos sistemas operativos: uno anfitrión, que es el que está instalado sobre la máquina física, y los distintos sistemas operativos huéspedes, instalados en las máquinas virtuales.</p>
<p>Aunque pudiese haber productos que, además de virtualización, tuviesen capadidades de <em>emulación</em> para exponer un chip TPM realizado por software, o para que Windows 11 percibiese un microprocesador de una serie más moderna que el tuyo, VirtualBox no es uno de ellos.</p>
<p>Por lo tanto, <strong>utilizar VirtualBox no te va a servir para instalar Windows 11 en un PC que no esté soportado</strong>.</p></blockquote>
<p>Al igual que actualizar un ordenador a Windows 11, actualizar una máquina virtual tiene sus curvas, sus terraplenes y sus trucos: si cambiamos el <em>hardware virtual</em> de nuestra máquina virtual, nuestra licencia de Windows 10 no será válida, y tendremos que comprar una licencia de Windows 11. No podemos crear otra máquina virtual, instalar Windows 11 y usarlo, porque no tendremos licencia de Windows para ese hardware. Incluso si creamos la máquina virtual con los mismos <em>identificadores de hardware</em>, sospecho que al no haber cambiado de Windows 10 a Windows 11 de forma controlada podríamos tener algún problema de licencia porque la licencia vinculada a esos identificadores de hardware es de Windows 10.</p>
<p>Por si fuera poco, VirtualBox no se caracteriza por ofrecer una experiencia de virtualización de Windows 11 adecuada, ni por facilitar la actualización desde Windows 10:</p>
<ol>
<li>Hasta hace relativamente pocos telediarios, las máquinas virtuales de VirtualBox tenían una definición equivalente a un PC de hace 20 años, y no exagero: BIOS, esquema de particiones MBR, nada que se parezca a un chip TPM es ofrecido a la máquina virtual, el arranque seguro es ciencia-ficción y la EFI &ldquo;<em>sólo es válida para sistemas operativos especiales</em>&rdquo;.</li>
<li>Por las razones arriba expuestas, estas máquinas no soportan Windows 11. Para usar Windows 11 en estas máquinas debías usar <a href="https://blogs.oracle.com/virtualization/post/install-microsoft-windows-11-on-virtualbox">el proceso existente para decirle a Windows que no comprobase sus requisitos de hardware</a>. Esto cae en un terreno gris donde Microsoft no termina de posicionarse, pero siempre ha barajado no permitir que dichos PC recibiesen actualizaciones.</li>
<li>En <strong>VirtualBox 7</strong>, como quien dice, anteayer, Oracle por fin implementó todas las características que requiere Windows 11 de forma nativa y <a href="https://windowsreport.com/virtualbox-7-windows-11/">ya permite definir una máquina virtual con EFI, arranque seguro, TPM 2.0</a> y todas esas otras características.</li>
<li>En una máquina virtual existente, activar esas características permitiría, en teoría, ejecutar el proceso de actualización a Windows 11 sin perder la licencia ni tener que hacer arcanos de terminal ni editar ficheros a mano.</li>
<li>Sin embargo, <strong>activar la EFI, TPM y arranque seguro en nuestra máquina virtual existente la dejará aparentemente inservible, porque no arrancará</strong>.</li>
</ol>
<p><strong>No es un problema tan descabellado</strong>, tiene su sentido, la causa del problema es trivial y, por suerte, <strong>tiene fácil solución</strong>. El problema es que la máquina no encuentra el sistema operativo: el disco donde está Windows 10 es un disco formateado con un esquema de particiones MBR, típico de la época de los PC con BIOS, mientras que los PC con EFI espera discos formateados con esquema de particiones GPT.</p>
<p>Así pues, <strong>para poder activar la EFI hay que</strong> <a href="https://www.windowscentral.com/how-convert-mbr-disk-gpt-move-bios-uefi-windows-10"><strong>convertir la tabla de particiones de un disco desde MBR a GPT</strong></a>. Para ello y como se discute en el enlace anterior, Microsoft proporciona un programa llamado <code>mbr2gpt.exe</code>. Afortunadamente, todas las instalaciones de Windows 10 que conserven su partición de recuperación lo tienen disponible, y las instalaciones hechas en VirtualBox no son una excepción. Además, y por si las moscas, ese programa está incluido en todas las imágenes de DVD o de memoria USB que usaríamos para reparar, actualizar o restaurar el sistema.</p>
<p>Esto es lo que hay que hacer específicamente en Virtual Box:</p>
<ul>
<li>
<p>Actualiza tu instalación de Windows 10 hasta la última actualización disponible.</p>
</li>
<li>
<p><strong>Realiza una copia de seguridad de tus ficheros</strong>, por si la conversión desde MBR a GPT fallase por alguna razón y debieras reinstalar Windows 10.</p>
</li>
<li>
<p><strong>Recuerda: tu licencia está vinculada a Windows 10</strong>. Hasta que no tengas un sistema actualizado a Windows 11 y con Windows 11 activado, <em>creo que</em> no puedes formatear e instalar Windows 11 desde cero.</p>
</li>
<li>
<p>Descarga el programa de creación de medios de instalación de Microsoft para crear dos medios de instalación en formato ISO: <code>Windows 10.iso</code> y <code>Windows 11.iso</code>.</p>
</li>
<li>
<p>Reinicia tu sistema operativo en modo recuperación pulsando la tecla de mayúsculas mientras pinchas en el botón <strong>Reiniciar</strong> de Windows 10</p>
</li>
<li>
<p>Alternativamente, utiliza cualquiera de las ISO que acabas de descargar para reparar el sistema.</p>
</li>
</ul>
<p><img alt="La imagen muestra la pantalla de bienvenida de Windows 11 que aparece al arrancar desde la ISO que hemos descargado. Abajo a la izquierda, vemos una opción para reparar el sistema, que nos llevará a las mismas pantallas y opciones que ofrece la partición de recuperación de Windows 10." loading="lazy" src="/images/20240715-isorepair.png">La ISO de Windows 11 ofrece opciones para reparar el sistema, igual que la partición de recuperación de Windows 10.</p>
<ul>
<li>
<p>En este entorno, abre un intérprete de comandos (<em>Troubleshoot</em> &gt; <em>Advanced Options</em> &gt; <em>Command Prompt</em> o algo como <em>Solución de Problemas</em> &gt; <em>Opciones Avanzadas</em> &gt; <em>Intérprete de Comandos</em>) y ejecuta los comandos siguientes:</p>
<p>mbr32gpt /validate</p>
</li>
</ul>
<p>Comando para validar tu unidad de disco. Si todo va bien, la salida del programa terminará con <code>MBR2GPT: Validation completed successfully.</code></p>
<pre><code>mbr2gpt /convert
</code></pre>
<p>Comando para convertir tu unidad de disco desde MBR a GPT. Si todo va bien, la salida del programa terminará con <code>MBR2GPT: Conversion completed successfullyMBR2GPT: Update WinRE config fileMBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!</code></p>
<p><img loading="lazy" src="/images/20240715-recovery.png"></p>
<p><img loading="lazy" src="/images/20240715-recovery2.png"></p>
<p><img loading="lazy" src="/images/20240715-recovery3.png"></p>
<p><img loading="lazy" src="/images/20240715-cmd.png"></p>
<p><img loading="lazy" src="/images/20240715-cmd2.png"></p>
<p>Diferentes pantallas del proceso explicado en los puntos anteriores, donde podemos ver el aspecto del proceso de recuperación y la salida de los comandos.</p>
<ul>
<li><strong>Apaga la máquina virtual de forma ordenada</strong> y, en VirtualBox, cambia la configuración para que EFI, Arranque Seguro (<em>Secure Boot</em>), el chip TMP 2.0 y la aceleración de gráficos en 3D estén activadas en el siguiente arranque.</li>
</ul>
<p><img alt="La imagen muestra la pantalla de opciones de la máquina virtual de Windows 10, en Virtual Box, en la pestaña &quot;System&quot;, donde deberemos seleccionar &quot;Enable EFI (special OSes only)&quot; y &quot;Enable Secure Boot&quot;" loading="lazy" src="/images/20240715-uefitpm.png">Activando las opciones EFI y Secure Boot.<img alt="En la imagen vemos otra de las pestañas de opciones de la máquina virtual de Windows 10 en VirtualBox, &quot;Display&quot;, donde deberemos activar &quot;Extended features: Enable 3D Acceleration&quot;. También dotaremos a la máquina virtual de suficiente memoria de vídeo, en &quot;Video Memory&quot;, desplazando el selector hasta el máximo de 256 MB." loading="lazy" src="/images/20240715-3daccel.png">Activando la aceleración 3D, y dotando a la máquina de suficiente memoria de vídeo (256 MB, que es el máximo)</p>
<ul>
<li><strong>Arranca la máquina virtual</strong>. El sistema debería arrancar perfectamente y funcionar como si nada.</li>
<li>Actualiza Windows 10 una vez más.</li>
</ul>
<p>Windows seguirá diciendo que tu sistema no es compatible con Windows 11, y sólo obtendrás actualizaciones de Windows 10. Esto no es cierto gracias a los cambios que hemos llevado a cabo en la máquina: mi sospecha es que el programa de compatibilidad que Microsoft ha escrito tiene una base de datos de fabricantes reconocidos que no está preparado para máquinas virtuales. Pero esto no es un problema, porque tenemos una ISO de Windows 11 y podremos iniciar el proceso pese a todo.</p>
<ul>
<li><strong>Monta la ISO de Windows 11 en la unidad de DVD que tiene tu máquina virtual</strong>.</li>
<li><strong>Ábrela con el Explorador de Ficheros</strong> y ejecuta el programa <code>setup.exe</code>.</li>
</ul>
<p><img alt="Imagen de una ventana del Explorador de Ficheros de Windows 10, mostrando los contenidos de un DVD. El DVD se llama &quot;ESD-ISO&quot; y es el resultado de montar la imagen de DVD de Windows 11 en Virtual Box. En el panel derecho de la ventana se muestran varias carpetas y ficheros, y está seleccionado &quot;setup.exe&quot;." loading="lazy" src="/images/20240715-win11-setup.png">Programa de instalación de Windows 11, en el Explorador de Ficheros de Windows 10</p>
<ul>
<li>Selecciona las opciones adecuadas para conservar tus ficheros y aplicaciones (o no), y actualizar el sistema.</li>
</ul>
<p>Si todo te ha ido igual de bien que a mí, deberías tener una máquina virtual con Windows 11 donde todos los requisitos están cumplidos, la activación del sistema es correcta y está vinculada a tu cuenta de Microsoft.
<img alt="En la imagen se muestra la ventana de Virtual Box con escritorio de Windows 11. Los marcos de la ventana son los de Gnome, por lo que la máquina virtual está funcionando en Linux. Dentro de la máquina virtual hay una ventana abierta que muestra el detalle del chip TPM que le es ofrecido. Se muestran varios detalles, como el fabricante (IBM), especificaciones, y demás." loading="lazy" src="/images/20240715-win11tpmdetails.png">Detalle de la máquina virtual Windows 11 mostrando los detalles del chip TPM que le es ofrecido.
Es hora de actualizarla una última vez para recibir actualizaciones específicas de Windows 11, crear una copia de seguridad de acuerdo a tu propia estrategia, y dedicarte a cosas más productivas.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Migrar un Podcast de Spotify a Castopod</title>
      <link>https://gvisoc.com/posts/migrar-un-podcast-a-castopod/</link>
      <pubDate>Fri, 24 May 2024 12:00:05 +0000</pubDate><author>gabriel@gvisoc.com (Gabriel Viso Carrera)</author>
      <guid>https://gvisoc.com/posts/migrar-un-podcast-a-castopod/</guid>
      <description>Recuperando el control sobre las cosas que siempre debieron pertenecernos.</description>
      <content:encoded><![CDATA[<p>Empecé <a href="https://podcast.gvisoc.com/@sobrelamarcha">sobre la marcha</a> en 2017, al poco de llegar a Australia. Por aquél entonces, una red social de segmentos de 2 minutos llamada Anchor viraba su rumbo y abrazaba el podcasting como siguiente paso lógico en su estrategia. El funcionamiento era original e innovador: durante un espacio de 24 horas, los segmentos de 2 minutos y las contestaciones de tus contactos, de 1 minuto, se iban añadiendo a tu <em>emisora</em> de Anchor. Cuando terminaba el día, podías optar por publicar todo el contenido del día en un feed RSS: ya tenías tu podcast.</p>
<p>Era genial.</p>
<p>Entonces, llegó Spotify, primero como inversor, y luego comprando Anchor. Al poco tiempo, todas las características sociales y el funcionamiento que comentaba arriba, como la <em>emisora</em>, desaparecieron del producto y nos quedamos con una plataforma de podcasting solvente, y nada más.</p>
<p>No voy a dar cuenta en detalle del proceso de <a href="https://gvisoc.com/posts/enmierdificacion/">enmierdificación</a> de Spotify en este artículo, sino que me voy a limitar a decir que no estoy cómodo en esa plataforma desde hace tiempo, y he decidido <a href="https://gvisoc.com/posts/personal-y-rapido/">autoalojar en casa</a> mi propio podcast. El soporte a mi podcast me lo da ahora <a href="https://castopod.org/">Castopod</a>, una plataforma de podcasting libre y de código abierto que, además, ofrece integración con el fediverso mediante Activity Pub y soporte a múltiples características del <a href="https://podcasting2.org/">podcasting 2.0</a>, como la posibilidad de dejar comentarios desde tu propia aplicación de escucha de podcasts entre otras cosas.</p>
<p>Vamos a ver cómo se migra un podcast a Castopod. En este artículo se trata de Spotify, pero el proceso va a ser muy similar en cualquier otro caso.</p>
<h2 id="obtén-castopod">Obtén Castopod</h2>
<p>Castopod está disponible para instalar en tu propio servidor, que puede ser una VPS o una máquina sencilla conectada a internet, o puedes contratarlo en varios proveedores especializados. En <a href="https://castopod.org/">castopod.org</a> tienes acceso a información acerca de todas las opciones. Yo lo he instalado en un mini PC, en mi casa, usando Docker y NGINX como proxy inverso. Publicaré algo al respecto en lo sucesivo, pero hoy me voy a centrar en el <strong>proceso de salida de Spotify</strong>.</p>
<h3 id="opcional-obtén-tu-propio-dominio-y-si-es-posible-una-cdn">Opcional: obtén tu propio dominio y, si es posible, una CDN</h3>
<p>Si lo vas a instalar en tu casa, vas a necesitar un dominio. Si lo usas ofrecido por alguno de los proveedores, probablemente puedas usar un subdominio proporcionado por ellos.</p>
<p>En cualquier caso, como un podcast sirve archivos de cierto peso, es buena idea contratar un servicio que te ofrezca una red de distribución de contenidos (CDN) con presencia en múltiples geografías: actuará de caché, relajando los requisitos de ancho de banda de tu proveedor, y además acelerará el acceso a tu podcast desde geografías lejanas. Personalmente, uso la cuenta gratuita de Cloudflare para los dos asuntos: dominio y CDN.</p>
<h2 id="importa-tu-podcast-en-castopod">Importa tu Podcast en Castopod</h2>
<p>Una vez Castopod está funcionando en tu servidor, es hora de importar tu podcast en Castopod. Esto se hace indicando la dirección del feed RSS a Castopod en su panel de control, así como el nombre de usuario en el fediverso, la categoría y el idioma del contenido.</p>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240524-castopodimport.png"
         alt="Formulario de importación de un podcast en Castopod. Permite introducir la dirección del feed, indicar el idioma, la categoría y el nombre de usuario de la cuenta en el fediverso."/> <figcaption>
            <p>Formulario de importación de un podcast en Castopod.</p>
        </figcaption>
</figure>

<p>![)Formulario de importación de un podcast en Castopod
Es importante tener en cuenta que Castopod va a reinterpretar todo el feed y a validarlo. Uno de los problemas que tuve derivados de este aspecto es que, si a alguno de tus episodios le faltan las notas (el contenido del campo <code>&lt;description /&gt;</code>), el proceso va a fallar, tendrás que corregir el episodio en concreto, esperar a que Spotify republique tu feed, y reanudar el proceso donde se interrumpió. En mi caso, llevó unos cuantos intentos:</p>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240524-castopodimportlog.png"
         alt="Pantalla de Castopod que muestra diferentes intentos de importar sobre la marcha en mi nuevo servidor. Podemos contar 8 intentos fallidos, seguidos de tres exitosos para sincronizar metadatos editados y publicaciones posteriores al proceso original de importación"/> <figcaption>
            <p>Distintos intentos fallidos antes de completar la importación de sobre la marcha.</p>
        </figcaption>
</figure>

<h3 id="opcional-activa-las-estadísticas-op3">Opcional: activa las estadísticas OP3</h3>
<p>Las estadísticas que ofrece Castopod por defecto son bastante buenas, pero si te interesa la iniciativa <em>Open Podcast Prefix Project</em>, <a href="https://op3.dev/">OP3</a>, es un buen momento para unirte a ella activando las estadísticas con un sólo click en el formulario de edición de tu podcast.</p>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240524-castopodeditpod.png"
         alt="Formulario de edición del podcast recién importado. De interés es el hecho de que para activar las estadísticas OP3, en Castopod se hace con un click."/> <figcaption>
            <p>Formulario de edición del podcast recién importado.</p>
        </figcaption>
</figure>

<h2 id="redirige-tu-antiguo-feed-al-nuevo-permanentemente">Redirige tu antiguo feed al nuevo, permanentemente</h2>
<p>Éste es el paso más sencillo, y más crítico. En Spotify para Podcasters, en el panel de edición de tu podcast, encontrarás un campo de texto para introducir un nuevo feed al que redirigir el antiguo. Esta redirección se implementa mediante un código de estado del protocolo HTTP, 301, que indica a los clientes, índices, buscadores y directorios de podcasting que el feed se ha mudado y nunca volverá a Spotify. En el cuerpo de la respuesta que acompaña a ese estado de redirección permanente 301 está la dirección del nuevo feed. El comportamiento esperado para clientes HTTP (cualquier aplicación o servicio que quiera acceder al feed) cuando reciben una respuesta con estado 301 es actualizar sus registros a la nueva dirección y no volver a intentar acceder a la antigua nunca más.</p>
<p>A partir de este momento, y en un tiempo indeterminado, todos tus suscriptores empezarán a recibir contenido por el feed nuevo, y si tienes la misma experiencia que yo, de una forma totalmente transparente.</p>
<blockquote>
<p>⚠️ <strong>Cuando esto pase, perderás el control de tu podcast en Spotify para Podcasters</strong></p></blockquote>
<p>Esto es algo de lo que Spotify no te avisa claramente, pero cuando Spotify perciba que el podcast ya no está bajo su control, perderás acceso a funciones de edición del mismo, e incluso a la posibilidad de borrar los datos del mismo en Spotify.</p>
<p>Aún cuando veas que esto está pasando, no borres aún tu cuenta de Spotify para Podcasters: si algún rezagado no ha recibido la instrucción de redirección y borras tu cuenta, se borra la redirección, con lo cual podrías perder oyentes. Personalmente, yo voy a borrarla pasado un mes.</p>
<blockquote>
<p>⚠️ Escoge cuidadosamente el momento de hacer esto si alojas tu nuevo podcast en tu casa.</p>
<p>En el momento en el que actives la redirección en Spotify, servicios de directorio que probablemente no sepas que estaban indexando tu feed recibirán las coordenadas del feed nuevo. Estos servicios de directorio usan procesos tipo <em>arañas</em> (mala traducción de <em>web crawlers</em>) para recorrer el feed y reindexarlo todo.</p>
<p>El cambio desde Spotify para Podcasters a Castopod es muy profundo. En términos de la propia estructura del feed, de dónde están alojados los ficheros, y del nombre de los mismos, el efecto es que todos estos procesos perciben tu podcast como una <em>reedición</em> completa. Como decimos en España, <em>a este feed no lo reconoce ni su padre</em>. Esto hace que todos estos actores invaliden todos los datos previos y lo recorran todo de nuevo, descargando todos y cada uno de tus episodios, metadatos, imágenes&hellip; todo. Y en este momento, aunque tengas CDN, su caché todavía está vacía, por lo que todas las peticiones van a ir directas a tu casa.</p>
<p>Estos servicios tienen una capacidad de cómputo y de red inmensamente mayor que la de tu casa, por lo que todos* ataquen tu feed a la vez*, tu conexión a internet va a experimentar un pico de tráfico de subida muy significativo, que puede afectar a tu conectividad, especialmente si hay alguien trabajando desde casa.</p>
<p>Por eso, mejor hazlo por la noche. No seas como yo 😅</p></blockquote>
<h2 id="solicita-el-traspaso-de-tu-podcast-a-tu-propiedad-en-los-distintos-directorios-que-te-interesen">Solicita el traspaso de tu Podcast a tu propiedad en los distintos directorios (que te interesen)</h2>
<p>Esto es importante.</p>
<p>Me voy a centrar en Apple Podcasts, pero es fácil entender que esto deberías hacerlo allá en donde te interese tener presencia, en tu caso particular.</p>
<p>Acabas de redirigir tu feed a Castopod, tu conexión a internet en casa las ha pasado canutas, y has tenido que dar explicaciones a tu mujer e hijos de por qué internet iba como una patata, pero todo ha vuelto a su cauce normal, todo funciona y los primeros oyentes que sabían que ibas a cambiar esto te felicitan, te dicen que las descargas van más lentas&hellip;</p>
<p>Sin embargo, los directorios de podcasting como Apple Podcasts no te tienen registrado como el autor o el responsable del mismo a la hora de enviarte alertas y avisos con respecto a tu podcast. Situaciones en las que te podrías ver involucrado y que te interesaría resolver con Apple, como una potencial violación de los Términos y Condiciones de su servicios de directorio, no te serán notificadas.</p>
<p>Por otro lado, tampoco tienes control sobre tu podcast en Spotify para Podcasters, que es a donde Apple enviaría este tipo de mensajes en caso de conflicto. Spotify te ha dado la patada en cuanto la redirección se ha vuelto efectiva.</p>
<p>Estás en tierra de nadie.</p>
<p>Es hora de ponerse en contacto con Apple Podcasts Connect y solicitar que te den control sobre tu podcast.</p>
<p>Para eso, ármate con tu fluidez en el idioma de Shakespeare, porque creo que el formulario no se ofrece en Español, y haz lo siguiente (efectivo en Mayo de 2024):</p>
<ol>
<li>
<p>Entra en <a href="https://podcastsconnect.apple.com">Apple Podcasts Connect</a>, o regístrate si no tienes cuenta.</p>
</li>
<li>
<p>Abajo de todo, selecciona &ldquo;<em>Contact Us</em>&rdquo;</p>
</li>
<li>
<p>En el formulario que aparece, rellena tus datos y selecciona como tema de consulta &ldquo;<em>Missing Podcast(s)</em>&rdquo; dentro de &ldquo;<em>Content Management</em>&rdquo;. Tendrás que introducir los siguientes datos:</p>
</li>
<li>
<p>El título del podcast (&quot;<em><strong>Podamigos del cocido</strong></em>&quot;)</p>
</li>
<li>
<p>El <em>id</em> del podcast. Entiendo que se trata de los números al final en la URL del podcast en Apple Podcasts: &ldquo;<strong>id817487481</strong>&rdquo;.</p>
</li>
<li>
<p>La URL completa a la página del podcast en Apple Podcasts.</p>
</li>
<li>
<p>La URL del nuevo feed.</p>
</li>
<li>
<p>En el cuerpo del mensaje, indica que has migrado tu podcast desde Spotify a otro hosting, indica también la del anterior por si acaso el operador que te atienda todavía tiene el antiguo feed en sus cachés, y pide instrucciones como te gustaría que te las pidiesen a ti.</p>
</li>
</ol>
<p>Este fue el mensaje enviado, nada fuera de lo común:</p>
<blockquote>
<p>Good afternoon.</p>
<p>I am writing as the author of the show &ldquo;sobre la marcha&rdquo;, which was previously hosted on Spotify for Podcasters. I recently re-hosted the show on my own hosting server, and I would like to claim ownership and be able to manage it under my Apple Podcasts Connect dashboard. I hope this is the right method / channel to request so.</p>
<p>Looking forward to hearing from you,</p>
<p>~Gabriel Viso Carrera</p>
<p>PS – before today, the show&rsquo;s feed was &ldquo;<a href="https://anchor.fm/s/dd4f78/podcast/rss%22">https://anchor.fm/s/dd4f78/podcast/rss"</a>. As part of the migration, it has been placed a 301 permanent redirection to the feed I filled in this form; please take it into consideration of you see that the redirection hasn&rsquo;t been followed in your systems yet. Please note that no further episodes will be appearing in such feed.</p></blockquote>
<p>Te enviarán un correo en un plazo de un par de días, pidiéndote más datos (como el ID de tu cuenta en Apple Podcasts Connect), y dándote un código numérico que deberás introducir en algún campo del feed. Por ejemplo, mí me dieron como opciones el campo de <code>&lt;copyright /&gt;</code>, <code>&lt;keyword /&gt;</code> o <code>&lt;verification /&gt;</code>.</p>
<p>En negrita los aspectos clave que nos piden en esta respuesta de ejemplo, que es lo que me contestaron a mí con algunas cosas cambiadas.</p>
<blockquote>
<p>Hello Gabriel,</p>
<p>Thanks for reaching out to us. I hope you&rsquo;re doing well.</p>
<p>To get access to the show in Apple Podcasts Connect, we can transfer the ownership of it to your account.</p>
<p>To transfer ownership, <strong>enter the six-digit authorization code “381234” in the verification, keyword, or copyright fields of your RSS feed</strong>.</p>
<p>You can update the six-digit authorization code on your hosting provider’s platform or edit the metadata tags in your RSS feed. If you need assistance with this update, contact your hosting provider. We’ll review your request after we receive your reply.</p>
<p>When you reply, <strong>tell us where you entered the authorization code so we can find it <strong>and</strong> include the Account ID of your Apple Podcasts Connect account</strong>.</p>
<p>You can locate the Account ID on the <a href="https://podcastsconnect.apple.com/account/details">Details pane</a> in the Account section in Apple Podcasts Connect.</p>
<p>Example Account ID: 12a345bc6-d7ef-8901-2ghi-j3k4lm56n7o8</p>
<p>If you have additional questions related to this request, please reference case number 384791872432.</p>
<p>Best regards,</p>
<p>Mary Jane
Apple Inc.</p></blockquote>
<p>El feed que genera Castopod no tiene campo <code>&lt;verification /&gt;</code>, pero como añadir campos a medida es sencillísimo, es la solución ideal porque nadie recibirá ese cambio de forma visible. Ve al panel de control de edición de tu podcast, y abajo de todo encontrarás un campo donde poder poner el campo extra:</p>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240524-castopodeditpodverification.png"
         alt="Captura de pantalla del panel de edición del podcast, mostrando el campo donde podemos introducir el código de verificación. Este lugar es &#34;Advanced Parameters&#34;; y debemos introducir el campo con las etiquetas XML incluidas, por ejemplo &amp;lt;verification&amp;gt;381234&amp;lt;/verification&amp;gt;"/> <figcaption>
            <p>Captura de pantalla del panel de edición del podcast, mostrando el campo donde podemos introducir el código de verificación.</p>
        </figcaption>
</figure>

<p>Salva los cambios en tu podcast, verifica que en unos segundos, el feed tiene el mencionado campo dentro del objeto <code>&lt;channel /&gt;</code>, y contesta a Apple con los datos que te han solicitado, que incluyen dónde pueden encontrar el valor en cuestión.</p>
<blockquote>
<p>Good morning, Mary Jane.</p>
<p>Thanks for your prompt reply. As requested:My Podcasts Connect Account ID is <strong>12a345bc6-d7ef-8901-2ghi-j3k4lm56n7o8</strong>.I&rsquo;ve just included the code you provided in the tag of my feed, inside the &lt;channel /&gt; element:</p>
<p>&lt;rss version=&ldquo;2.0&rdquo;&gt;
&lt;channel&gt;
&hellip;
**        &lt;verification&gt;381234&lt;/verification&gt;**
&hellip;
&lt;/channel&gt;
&lt;/rss&gt;</p>
<p>Thank you for your help and kind regards,
~Gabriel</p></blockquote>
<p>Cuando recibas la confirmación y al cabo de un tiempo prudencial que te indicarán, deberías poder controlar tu relación con el directorio de Apple Podcasts tú mismo.</p>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240524-applepodconnect.png"
         alt="Captura de pantalla de mi panel de control de Apple Podcasts Connect mostrando mi podcast &#34;sobre la marcha&#34;"/> <figcaption>
            <p>Captura de pantalla de mi panel de control de Apple Podcasts Connect mostrando mi podcast &ldquo;sobre la marcha&rdquo;</p>
        </figcaption>
</figure>

<h2 id="no-tengas-prisa-en-borrar-cosas">No tengas prisa en borrar cosas</h2>
<p>En realidad ya está, pero es importante que no corras a Spotify y a tu feed a borrar cosas y deshacer cambios, porque puedes revertir el proceso sin querer.</p>
<ol>
<li>Como comentaba en el apartado de la redirección permamente, no tengas demasiada prisa en borrar tu cuenta de Spotify, porque podrías perder oyentes.</li>
<li>Aún cuando ya tengas tu podcast en Apple Podcasts Connect, no corras a editar tu podcast en Castopod para retirar el campo de verificación. Ten en cuenta que el directorio de podcasts de Apple tienen páginas en todo el mundo, y no nos interesa que, por alguna razón, alguna versión antigua del feed se haya quedado en algún sitio y reasignen tu podcast a Spotify. Deja ese campo de verificación en tu feed el tiempo que te parezca oportuno.</li>
</ol>
<h2 id="pues-ya-estaría">Pues ya estaría</h2>
<p>Hasta aquí mi experiencia. Espero que te resulte útil e interesante.</p>
]]></content:encoded>
    </item>
    <item>
      <title>Copias de Seguridad con Pika Backup</title>
      <link>https://gvisoc.com/posts/copias-de-seguridad-pika-backup/</link>
      <pubDate>Mon, 06 May 2024 10:28:43 +0000</pubDate><author>gabriel@gvisoc.com (Gabriel Viso Carrera)</author>
      <guid>https://gvisoc.com/posts/copias-de-seguridad-pika-backup/</guid>
      <description>Abandono Déjà Dup después de años de servicio.</description>
      <content:encoded><![CDATA[<p>Estoy moviendo todas mis copias de seguridad, desde Déjà Dup a Pika Backup.</p>
<p><a href="https://apps.gnome.org/PikaBackup/">Pika Backup</a> es una solución de copias de seguridad para GNU/Linux que, sin dejar de ser extremadamente sencilla de utilizar, proporciona características muy interesantes y es muy eficiente. Está basado en <a href="https://borgbackup.readthedocs.io/en/stable/">Borg Backup</a>, un sistema que crea copias de seguridad comprimidas, cifradas, y que además detecta y elimina duplicados en la copia de seguridad.</p>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240506-pikabackupmulti.png"
         alt="La imagen muestra la vista principal de Pika Backup. Muestra dos configuraciones de copia de seguridad, una a un disco duro USB sin programar, y otra, programada para ejecutarse periódicamente, a una ubicación remota."/> <figcaption>
            <p>Pika Backup con dos tareas de copia de seguridad configuradas; una en un directorio remoto, y otra en un disco duro externo</p>
        </figcaption>
</figure>

<p>Las características de Pika Backup que me han convencido han sido las siguientes:</p>
<ul>
<li>
<p><strong>Permite realizar copias de seguridad a discos USB y a cualquier directorio remoto, y soporta Borg en el lado del servidor</strong>:</p>
</li>
<li>
<p>Directorio &ldquo;tonto&rdquo;: cualquier directorio en donde tengas acceso local (por ejemplo, servicios tipo Drop Box o One Drive), y a localizaciones remotas &ldquo;tradicionales&rdquo; como servidores de ficheros FTP, o carpetas compartidas en red.</p>
</li>
<li>
<p>En sí, esto ya es muy potente y versátil.</p>
</li>
<li>
<p>Servicio remoto con soporte para <a href="https://borgbackup.readthedocs.io/en/stable/">Borg Backup</a>, si quieres mejor rendimiento. Esto no es más que un servidor donde el ejecutable <code>borg</code> esté instalado, y al que tengas acceso por <code>ssh</code>. Una Raspberry Pi con el paquete <code>borgbackup</code> instalado y un disco duro enchufado por USB es suficiente para tener copias de seguridad en red en casa, con rendimiento mejorado.</p>
</li>
<li>
<p>No hay por qué saber usar Borg; Pika Backup lo hace todo por ti, tanto en tu ordenador de trabajo como en tu servidor de copia de seguridad.</p>
</li>
<li>
<p>Más adelante os cuento por qué esto es tan ventajoso.</p>
</li>
<li>
<p><strong>Permite tener más de una tarea de copia de seguridad configuradas sobre el mismo conjunto de datos</strong>, para poder tener tu copia de seguridad en varios lugares. Por ejemplo, en un servidor en red, donde ejecutas la copia de seguridad de forma programada, y en un disco externo por USB, donde ejecutas la copia manualmente, cuando te parece bien.</p>
</li>
<li>
<p>Esto permite desarrollar una **estrategia 3:2:1 **sin salir de Pika Backup.</p>
</li>
</ul>
<blockquote>
<p>💡 Una estrategia <strong>3:2:1</strong> significa que deberíamos tener <strong>3</strong> réplicas de los datos, <strong>2</strong> de las cuales serían las copias de seguridad, ubicadas en sistemas almacenamiento diferentes, para <strong>1</strong> conjunto de datos en particular.</p></blockquote>
<p>De esa forma, siempre nos protegemos en caso de daño físico tanto a nuestra estación de trabajo como a discos de las copias, siendo extremadamente difícil que fallen las tres réplicas a la vez.</p>
<ul>
<li><strong>Es amigable para portátiles</strong>, porque detecta si el ordenador está conectado a la corriente, y si no lo está, ni siquiera intenta realizar la tarea de copia de seguridad programada.</li>
<li><strong>Proporciona filtros predefinidos</strong> para excluir de la copia de seguridad máquinas virtuales, contenedores, cachés y aplicaciones flatpak instaladas en el directorio de usuario. Esto simplifica bastante la configuración, aunque si no es suficiente, se pueden añador desde ficheros y carpetas individuales, hasta filtros basados en nombres de fichero y en expresiones regulares.</li>
<li><strong>Las copias de seguridad se pueden programar</strong> (hay reglas horarias, diarias, semanales, mensuales o anuales), <strong>y permite especificar el día y la hora 🎉</strong>. Esto parece baladí, pero si sabes que, por ejemplo, los domingos por la tarde el portátil va a estar en el escritorio con tareas de mantenimiento como actualizar el sistema, con sólo dejarlo enchufado la copia de seguridad se va a realizar automáticamente.</li>
</ul>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240506-pikabackupfilters.png"
         alt="Una vista de la configuración donde se pueden ver los distintos filtros que se pueden configurar en Pika Backup. Muestra filtros predeterminados, y carpetas seleccionadas manualmente."/> <figcaption>
            <p>Una vista de la configuración donde se pueden ver los distintos filtros que se pueden configurar en Pika Backup.</p>
        </figcaption>
</figure>

<p>De por sí, las funcionalidades que proporciona Pika Backup en su interfaz gráfico son ya suficientes para convencerme; <em>sobre todo</em> el hecho de poder tener todas las copias de seguridad de mi estrategia 3:2:1 en la misma aplicación. Pero donde lo remata es en el aspecto de ser un cliente de Borg, y por lo tanto soportar servidores con Borg,  para acelerar todas las operaciones de copia y restauración, y en especial <strong>la verificación</strong> de las copias de seguridad.</p>
<p>En general, <strong>hay que verificar las copias de seguridad, al menos cada cierto tiempo</strong>. Con ello nos aseguramos de que los archivos se han generado y almacenado correctamente, y que no hay nada corrupto. Y esto es un proceso que, si se hace en red, es muy costoso: Pika debería descargarse un trozo de la copia de seguridad desde el servidor de red, verificar su integridad, buscar el siguiente trozo, y así&hellip; hasta 130 GB en mi caso. He presenciado verificaciones de integridad hechas así que tardaron 20 horas. Y así es como se hace cuando Pika Backup deposita las copias de seguridad en un directorio de red, &ldquo;tonto&rdquo;, es decir, sin Borg.</p>
<p>Con Borg, la cosa cambia. El hecho de que Pika Backup esté basado en Borg Backup y, a todos los efectos, que sea un cliente de Borg, acelera el proceso de una forma drástica. Según la documentación de Borg, el proceso del lado del servidor realiza las operaciones de gestión de almacenamiento completas cuando se hace la copia de seguridad, <strong>y la verificación en sí</strong>. Esto incrementa el rendimiento sensiblemente, porque elimina el trasiego de datos por la red, y reduce el tiempo de verificación de una copia tan masiva como 130 GB <strong>de 20 horas a unos 35 minutos</strong>.</p>
<figure class="ma0 w-75">
    <img loading="lazy" src="/images/20240506-borgserve.png"
         alt="La imagen muestra un terminal de Gnome conectado al host barcas, bajo el usuario gvisoc. Dentro del terminal se puede ver la salida del comando htop, que muestra el proceso de servidor de borg realizando la verificación de integridad de la copia de seguridad, consumiendo algo menos de un 13% de CPU."/> <figcaption>
            <p>Una captura de pantalla que muestra el proceso de servidor de borg realizando la verificación de integridad de la copia de seguridad, consumiendo algo menos de un 13% de CPU.</p>
        </figcaption>
</figure>

<p>En general estoy muy contento con el cambio, ya que me permite realizar las cosas más eficientemente, utilizar mejor los recursos, y sobre todo, <strong>sobre todísimo</strong>, poder realizar todas las copias de seguridad de mi estrategia con la misma aplicación y de forma sencilla.</p>
<p>Extremadamente recomendable.</p>
<hr>
<h2 id="cómo-se-compara-pika-backup-con-déjà-dup">¿Cómo se compara Pika Backup con Déjà Dup?</h2>
<p><a href="https://flathub.org/apps/org.gnome.DejaDup">Déjà Dup</a> es una solución basada en <a href="https://duplicity.gitlab.io/">duplicity</a> que se ofrece, tradicionalmente, como parte del entorno de escritorio Gnome. Realiza copias de seguridad cifradas, incrementales, y las almacena en un formato de archivo comprimido que, independientemente de dónde almacenes estos archivos, preserva los permisos de los ficheros en tu máquina.</p>
<ul>
<li>Soporta discos externos y todo tipo de almacenamiento remoto –la lista completa se puede consultar en la documentación de <a href="https://duplicity.gitlab.io/">duplicity</a>, pero <strong>sólo soporta una única configuración para tu copia de seguridad. La copia de seguridad que configures, es única y a un sólo destino</strong>. Esto dificulta el realizar una estrategia de copias de seguridad robusta, 3:2:1, con la misma herramienta.</li>
<li>Por otro lado, el sistema de copias de seguridad no tiene parte servidora, como la tiene Borg (y la aprovecha Pika Backup al ser éste un cliente gráfico y versátil de Borg); esto quiere decir que <strong>la verificación y el almacenamiento sea <em>mucho</em> más lento</strong>.</li>
<li>No está bien pensado para portátiles, si es que han pensado en portátiles en absoluto.</li>
<li><strong>No permite escoger el día o la hora de las copias de seguridad programada</strong>. Si cuando configuras Déjà Dup las copias semanales caen en miércoles por el artículo 33, moverlas al domingo no es nada intuitivo, si es que el posible. Y, si cuando entra la copia de seguridad, te tienes que ir con tu portátil, el proceso se va a quedar por ahí medio enganchado.</li>
<li><strong>Las copias de seguridad programadas siempre se intentan realizar, estés funcionando en batería, sin red, o lo que sea</strong>. Esto consume energía y genera errores de forma innecesaria.</li>
</ul>
<p>Todo este tipo de cosas hacen que Déjà Dup se vaya quedando atrás. Si bien es igual de sencillo de usar que Pika Backup, el ritmo al que añaden el tipo de funcionalidades que  me afectan más es bastante bajo, casi diría que cae en la apatía, y estas cosas van desluciendo al producto poco a poco.</p>
<hr>
<h3 id="comentarios-previos">Comentarios previos</h3>
<p><strong>Antonio</strong>, el 8 de mayo de 2024 , <strong>comentó</strong>:</p>
<blockquote>
<p>Gabriel, estupendo artículo muy interesante para los que tenemos que hacer respaldos de los archivos regularmente. Recomiendas alguno para macOS?. Gracias</p></blockquote>
<p><strong>Gabriel Viso Carrera</strong>, el 8 de mayo de 2024, <strong>respondió</strong>:</p>
<blockquote>
<blockquote>
<p>Para macOS solo tengo experiencia con Time Machine y Super Duper. Los dos hacen bien su tarea.</p>
<p>No descarto probar Vorta, que está basado en Borg Backup, igual que Pika Backup. Si quieres echarle un vistazo ve a <a href="https://vorta.borgbase.com">https://vorta.borgbase.com</a></p></blockquote></blockquote>
]]></content:encoded>
    </item>
  </channel>
</rss>
