<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Sin categoría on javierin.com</title>
		<link>https://javierin.com/category/sin-categoria/</link>
		<description>Recent content in Sin categoría on javierin.com</description>
		<generator>Hugo</generator>
		<language>es-ES</language>
		
		
		
		
			<lastBuildDate>Sat, 13 Jun 2026 05:49:58 +0000</lastBuildDate>
		
			<atom:link href="https://javierin.com/category/sin-categoria/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Gestionar servicios con systemd: guía práctica</title>
				<link>https://javierin.com/gestionar-servicios-con-systemd-guia-practica/</link>
				<pubDate>Tue, 26 May 2026 08:53:00 +0000</pubDate>
				<guid>https://javierin.com/gestionar-servicios-con-systemd-guia-practica/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Gestionar servicios con systemd: guía práctica&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;systemd es el gestor de servicios estándar en la mayoría de distribuciones Linux modernas. Aprende a crear tus propios servicios, controlarlos con systemctl y leer sus logs con journalctl.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cómo usar llms.txt: El nuevo estándar para guiar a los modelos de lenguaje en tu web</title>
				<link>https://javierin.com/guia-uso-llms-txt-ia/</link>
				<pubDate>Sat, 23 May 2026 05:01:33 +0000</pubDate>
				<guid>https://javierin.com/guia-uso-llms-txt-ia/</guid>
				<description>&lt;p&gt;Durante décadas, el archivo &lt;code&gt;robots.txt&lt;/code&gt; ha sido el guardián silencioso de la web, indicando a los motores de búsqueda qué podían y qué no podían indexar. Sin embargo, en pleno 2026, el panorama ha cambiado drásticamente. Ya no solo nos visitan Google o Bing para indexar enlaces; ahora nuestro sitio es frecuentado por agentes de IA, sistemas de RAG (Retrieval-Augmented Generation) y modelos de lenguaje que buscan entender el contexto profundo de nuestro contenido.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Lo que el S-1 de SpaceX revela sobre el futuro de la infraestructura de IA: Más allá de los cohetes</title>
				<link>https://javierin.com/spacex-s1-infraestructura-ia-futuro/</link>
				<pubDate>Thu, 21 May 2026 05:01:02 +0000</pubDate>
				<guid>https://javierin.com/spacex-s1-infraestructura-ia-futuro/</guid>
				<description>&lt;h2&gt;La evolución de SpaceX: De transportista a nodo de computación global&lt;/h2&gt;&#xA;&lt;p&gt;Durante años, el mundo ha visto a SpaceX principalmente como una empresa de transporte aeroespacial. Sin embargo, con la publicación de su documento S-1 para la oferta pública inicial (IPO) este mayo de 2026, queda claro que Elon Musk ha estado jugando una partida mucho más larga. Lo que revela este documento no es solo una hoja de ruta para llegar a Marte, sino una propuesta agresiva para dominar la &lt;strong&gt;infraestructura de IA&lt;/strong&gt; mediante una red de computación distribuida en órbita.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Files.md: La alternativa open-source a Obsidian que prioriza tu sistema de archivos</title>
				<link>https://javierin.com/files-md-alternativa-open-source-obsidian-markdown/</link>
				<pubDate>Tue, 19 May 2026 05:01:44 +0000</pubDate>
				<guid>https://javierin.com/files-md-alternativa-open-source-obsidian-markdown/</guid>
				<description>&lt;h2&gt;El renacimiento de la simplicidad en la toma de notas&lt;/h2&gt; &lt;p&gt;En pleno 2026, la soberanía de los datos se ha convertido en una prioridad para cualquier profesional técnico o entusiasta de la productividad. Tras años delegando nuestro conocimiento en plataformas en la nube o aplicaciones con formatos propietarios, hemos vuelto a lo básico: el sistema de archivos. Aquí es donde entra &lt;strong&gt;Files.md&lt;/strong&gt;, una propuesta que está ganando tracción como la alternativa open-source definitiva a gigantes como Obsidian o Logseq.&lt;/p&gt;</description>
			</item>
			<item>
				<title>¿IA como servicio público? El impacto del despliegue nacional de ChatGPT Plus en Malta</title>
				<link>https://javierin.com/malta-chatgpt-plus-ia-servicio-publico/</link>
				<pubDate>Sun, 17 May 2026 05:01:38 +0000</pubDate>
				<guid>https://javierin.com/malta-chatgpt-plus-ia-servicio-publico/</guid>
				<description>&lt;h2&gt;La IA como infraestructura nacional&lt;/h2&gt; &lt;p&gt;Imagínate que el acceso a los modelos de lenguaje más avanzados del mundo no dependiera de si puedes pagar una suscripción mensual, sino que fuera un derecho garantizado por tu gobierno, similar al acceso al agua potable o la electricidad. En 2026, lo que parecía una utopía tecnológica se ha convertido en realidad en el corazón del Mediterráneo. &lt;strong&gt;Malta ha dado un paso audaz al establecer una alianza estratégica con OpenAI&lt;/strong&gt; para desplegar ChatGPT Plus a escala nacional.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Scripting en Bash: guía práctica para tu homelab</title>
				<link>https://javierin.com/scripting-en-bash-guia-practica-para-tu-homelab/</link>
				<pubDate>Fri, 15 May 2026 12:36:00 +0000</pubDate>
				<guid>https://javierin.com/scripting-en-bash-guia-practica-para-tu-homelab/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Scripting en Bash: guía práctica para tu homelab&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Bash es el pegamento del homelab: conecta comandos, automatiza tareas y deja correr scripts mientras duermes. Aquí va lo que necesitas para empezar, con ejemplos reales y sin atajos.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Claves del jurado en el caso Musk vs. Altman: Los puntos legales que decidirán el destino de OpenAI</title>
				<link>https://javierin.com/musk-vs-altman-claves-jurado-openai/</link>
				<pubDate>Fri, 15 May 2026 05:01:34 +0000</pubDate>
				<guid>https://javierin.com/musk-vs-altman-claves-jurado-openai/</guid>
				<description>&lt;p&gt;Estamos en mayo de 2026 y el mundo tecnológico tiene la vista puesta en una sala de tribunal. El enfrentamiento legal entre &lt;strong&gt;Elon Musk y Sam Altman&lt;/strong&gt; no es solo una pelea de egos entre milmillonarios; es el proceso judicial que definirá cómo se gestiona la Inteligencia Artificial General (AGI) y si las promesas fundacionales de una organización sin ánimo de lucro tienen validez legal frente a miles de millones de dólares en inversión privada.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Googlebook: El fin de ChromeOS y la era de los portátiles nativos en IA</title>
				<link>https://javierin.com/googlebook-android-portatiles-ia/</link>
				<pubDate>Wed, 13 May 2026 05:01:45 +0000</pubDate>
				<guid>https://javierin.com/googlebook-android-portatiles-ia/</guid>
				<description>&lt;p&gt;Estamos en mayo de 2026 y el panorama tecnológico ha dado el giro que muchos veníamos prediciendo: la convergencia definitiva entre el ecosistema móvil y el escritorio. Google acaba de presentar &lt;strong&gt;Googlebook&lt;/strong&gt;, su nueva línea de portátiles que no solo sustituye conceptualmente a los antiguos Chromebooks, sino que cambia las reglas del juego al poner a Android en el centro de la experiencia de usuario. Pero, ¿por qué este movimiento ahora? ¿Qué hace que el &lt;strong&gt;hardware con IA&lt;/strong&gt; sea el motor de este cambio?&lt;/p&gt;</description>
			</item>
			<item>
				<title>Más allá de escribir código: Por qué tu agente de IA debe priorizar la reducción de costes de mantenimiento</title>
				<link>https://javierin.com/agentes-ia-mantenimiento-software-deuda-tecnica/</link>
				<pubDate>Mon, 11 May 2026 05:01:54 +0000</pubDate>
				<guid>https://javierin.com/agentes-ia-mantenimiento-software-deuda-tecnica/</guid>
				<description>&lt;p&gt;Estamos en mayo de 2026 y la industria del desarrollo de software ha dado un vuelco radical. Ya no nos impresiona que un agente de IA pueda generar una aplicación CRUD completa en cuestión de segundos. Lo que antes era magia, hoy es un estándar. Sin embargo, este exceso de productividad ha sacado a la luz un problema latente que muchos ignoraron durante la fiebre del oro de la IA en 2024 y 2025: el &lt;strong&gt;mantenimiento del software&lt;/strong&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cloudflare y la paradoja de la IA: Récord de ingresos, pero 1.100 empleos menos</title>
				<link>https://javierin.com/impacto-ia-empleo-cloudflare-despidos/</link>
				<pubDate>Sat, 09 May 2026 05:01:18 +0000</pubDate>
				<guid>https://javierin.com/impacto-ia-empleo-cloudflare-despidos/</guid>
				<description>&lt;p&gt;Estamos viviendo un momento de cambio estructural profundo en el sector IT. Durante años, se especuló sobre cuándo la Inteligencia Artificial empezaría a sustituir puestos de trabajo reales en las grandes tecnológicas de manera sistemática. Ese momento ha llegado, y el caso de Cloudflare es, probablemente, el ejemplo más claro y crudo de lo que nos espera en esta segunda mitad de la década.&lt;/p&gt; &lt;h2&gt;La eficiencia operativa como motor del cambio&lt;/h2&gt;&#xA;&lt;p&gt;Lo que hace que el reciente anuncio de Cloudflare sea tan impactante no es la magnitud de los despidos —unos 1.100 trabajadores—, sino el contexto financiero de la empresa. A diferencia de las oleadas de recortes de 2023 o 2024, que respondían a ajustes tras la pandemia o miedos a la inflación, Cloudflare ha reportado ingresos récord. El motivo esgrimido por su CEO, Matthew Prince, es puramente técnico y estratégico: &lt;strong&gt;la eficiencia operativa&lt;/strong&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hallucinopedia: La nueva base de datos para identificar y mitigar las alucinaciones en modelos de lenguaje</title>
				<link>https://javierin.com/hallucinopedia-identificar-mitigar-alucinaciones-ia/</link>
				<pubDate>Thu, 07 May 2026 05:01:47 +0000</pubDate>
				<guid>https://javierin.com/hallucinopedia-identificar-mitigar-alucinaciones-ia/</guid>
				<description>&lt;p&gt;En pleno 2026, la Inteligencia Artificial generativa ha dejado de ser una curiosidad tecnológica para convertirse en el motor de infraestructuras críticas, desde diagnósticos médicos hasta asesoría legal automatizada. Sin embargo, seguimos enfrentándonos a un enemigo persistente: las &lt;strong&gt;alucinaciones de IA&lt;/strong&gt;. Estos errores, donde el modelo afirma con total seguridad hechos completamente falsos, son el principal obstáculo para la adopción masiva de los LLM en entornos donde el error no es una opción.&lt;/p&gt;</description>
			</item>
			<item>
				<title>El cambio de Bun de Zig a Rust: ¿Por qué el runtime más rápido reinventa su motor?</title>
				<link>https://javierin.com/bun-js-cambio-zig-a-rust-analisis-rendimiento/</link>
				<pubDate>Tue, 05 May 2026 05:01:29 +0000</pubDate>
				<guid>https://javierin.com/bun-js-cambio-zig-a-rust-analisis-rendimiento/</guid>
				<description>&lt;p&gt;En el mundo del desarrollo backend, pocos nombres han causado tanto estruendo en los últimos años como &lt;strong&gt;Bun&lt;/strong&gt;. Desde su aparición, se posicionó como el heredero veloz de Node.js, prometiendo (y cumpliendo) velocidades de ejecución y tiempos de arranque que dejaban atrás a cualquier competidor. Sin embargo, nos encontramos en mayo de 2026 y el proyecto ha tomado una decisión que ha sacudido los cimientos de la comunidad: &lt;strong&gt;la migración de su núcleo de Zig a Rust&lt;/strong&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Comandos de Linux para el homelab: los que más uso</title>
				<link>https://javierin.com/comandos-de-linux-para-el-homelab-los-que-mas-uso/</link>
				<pubDate>Mon, 04 May 2026 16:19:00 +0000</pubDate>
				<guid>https://javierin.com/comandos-de-linux-para-el-homelab-los-que-mas-uso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Comandos de Linux para el homelab: los que más uso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Una selección práctica de comandos de Linux para sobrevivir el día a día del homelab. Desde htop y ss hasta rsync y tmux, con ejemplos de un setup real.&lt;/p&gt;</description>
			</item>
			<item>
				<title>El juicio de Elon Musk contra OpenAI: ¿Qué está en juego para el futuro de la IA abierta y comercial?</title>
				<link>https://javierin.com/elon-musk-openai-juicio-futuro-ia-abierta/</link>
				<pubDate>Wed, 29 Apr 2026 05:01:56 +0000</pubDate>
				<guid>https://javierin.com/elon-musk-openai-juicio-futuro-ia-abierta/</guid>
				<description>&lt;p&gt;En el panorama tecnológico de 2026, pocos eventos han captado tanto la atención como el juicio que enfrenta a Elon Musk con OpenAI y su director ejecutivo, Sam Altman. Lo que comenzó como una colaboración altruista para salvar a la humanidad de una inteligencia artificial desbocada se ha transformado en una batalla legal encarnizada que podría redefinir las reglas del juego para todo el sector de la IA.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;El origen del conflicto: De la filantropía al negocio multimillonario&lt;/h2&gt;&#xA;&lt;p&gt;Para entender por qué Musk ha llevado a OpenAI ante los tribunales, debemos retroceder a 2015. En aquel entonces, OpenAI se fundó como una organización sin fines de lucro con un objetivo claro: desarrollar Inteligencia Artificial General (AGI) que beneficiara a toda la humanidad, manteniendo sus avances en abierto para evitar que una sola entidad (en aquel momento se señalaba directamente a Google) monopolizara el poder.&lt;/p&gt;</description>
			</item>
			<item>
				<title>El fenómeno &#39;Staged&#39;: Por qué ya nada nos parece real (y cómo combatir la desinformación inmediata)</title>
				<link>https://javierin.com/fenomeno-staged-desinformacion-percepcion-realidad/</link>
				<pubDate>Mon, 27 Apr 2026 05:01:02 +0000</pubDate>
				<guid>https://javierin.com/fenomeno-staged-desinformacion-percepcion-realidad/</guid>
				<description>&lt;p&gt;En el panorama informativo de 2026, nos enfrentamos a un fenómeno tan fascinante como aterrador: la negación instantánea de la realidad. Apenas unos minutos después de que se produzca un evento de gran impacto —desde un incidente político hasta una catástrofe natural—, las redes sociales se inundan con una sola palabra: &lt;strong&gt;&#39;Staged&#39;&lt;/strong&gt; (montaje). Esta reacción automática no es casualidad, sino el síntoma de una crisis profunda en nuestra percepción de la verdad.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Google y su apuesta de 40.000 millones en Anthropic: Un nuevo orden en la IA generativa</title>
				<link>https://javierin.com/google-inversion-anthropic-40-mil-millones-ia-estrategia/</link>
				<pubDate>Sat, 25 Apr 2026 05:01:14 +0000</pubDate>
				<guid>https://javierin.com/google-inversion-anthropic-40-mil-millones-ia-estrategia/</guid>
				<description>&lt;p&gt;El panorama tecnológico de 2026 acaba de dar un giro sísmico. Lo que comenzó como una serie de inversiones estratégicas se ha convertido en uno de los movimientos financieros más agresivos de la década: &lt;strong&gt;Google ha confirmado un plan de inversión de hasta 40.000 millones de dólares en Anthropic&lt;/strong&gt;. Esta cifra no es solo un número récord; es una declaración de intenciones clara en la guerra fría de la Inteligencia Artificial (IA) que mantiene con otros gigantes del sector.&lt;/p&gt;</description>
			</item>
			<item>
				<title>OctoPrint en Raspberry Pi: guía de instalación real</title>
				<link>https://javierin.com/octoprint-en-raspberry-pi-guia-de-instalacion-real/</link>
				<pubDate>Thu, 23 Apr 2026 09:02:00 +0000</pubDate>
				<guid>https://javierin.com/octoprint-en-raspberry-pi-guia-de-instalacion-real/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;OctoPrint en Raspberry Pi: guía de instalación real&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;OctoPrint convierte tu impresora 3D en una máquina controlable desde el navegador, en red local o desde cualquier sitio. Aquí está todo lo que necesitas para montarlo en una Raspberry Pi, con cámara, acceso remoto seguro y los plugins que realmente valen.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cómo integrar tus propios agentes de IA en Microsoft Teams: Guía para automatizar flujos de trabajo corporativos</title>
				<link>https://javierin.com/integrar-agentes-ia-microsoft-teams-guia-automatizacion/</link>
				<pubDate>Thu, 23 Apr 2026 05:01:32 +0000</pubDate>
				<guid>https://javierin.com/integrar-agentes-ia-microsoft-teams-guia-automatizacion/</guid>
				<description>&lt;p&gt;En el panorama empresarial de 2026, Microsoft Teams ha dejado de ser una simple herramienta de videollamadas para convertirse en el núcleo operativo de las organizaciones. Sin embargo, el verdadero salto evolutivo no viene solo de las funciones nativas, sino de la capacidad de &lt;strong&gt;traer tus propios agentes de IA&lt;/strong&gt; al entorno donde ya trabaja tu equipo. Esta tendencia, conocida como BYOA (&lt;em&gt;Bring Your Own Agent&lt;/em&gt;), permite a las empresas integrar sus modelos personalizados y lógica de negocio específica directamente en el flujo de conversación habitual.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cómo convertir tu viejo televisor en una Smart TV de alto rendimiento: Las mejores alternativas a Chromecast en 2026</title>
				<link>https://javierin.com/alternativas-chromecast-convertir-tv-smart-tv/</link>
				<pubDate>Wed, 22 Apr 2026 10:02:02 +0000</pubDate>
				<guid>https://javierin.com/alternativas-chromecast-convertir-tv-smart-tv/</guid>
				<description>&lt;p&gt;¿Tienes un televisor de hace cinco o seis años con un panel increíble pero un software que se arrastra? No estás solo. A medida que avanzamos en 2026, la obsolescencia programada del software en las Smart TV se ha vuelto más evidente que nunca. Mientras que la pantalla sigue ofreciendo colores vibrantes y negros profundos, las aplicaciones tardan una eternidad en abrirse o, peor aún, ya no reciben actualizaciones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;La solución no es comprar una tele nueva, sino &lt;strong&gt;convertir tu viejo televisor en una Smart TV de alto rendimiento&lt;/strong&gt;. Durante años, el Chromecast de Google fue la opción por defecto, pero con la evolución del mercado y la desaparición del formato &#39;dongle&#39; básico en favor de dispositivos más robustos, las alternativas han superado con creces al concepto original. Hoy exploramos las mejores opciones para revitalizar tu salón.&lt;/p&gt;</description>
			</item>
			<item>
				<title>SpaceX y la compra de Cursor por 60.000 millones: ¿Por qué Musk quiere dominar tu editor de código?</title>
				<link>https://javierin.com/spacex-compra-cursor-ia-desarrolladores/</link>
				<pubDate>Wed, 22 Apr 2026 05:01:36 +0000</pubDate>
				<guid>https://javierin.com/spacex-compra-cursor-ia-desarrolladores/</guid>
				<description>&lt;h2&gt;Un movimiento sísmico en el ecosistema del desarrollo&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Estamos en abril de 2026 y el mundo tecnológico acaba de recibir una de esas noticias que obligan a detenerse y analizar el tablero de juego. SpaceX, la compañía que ha liderado la carrera espacial privada, ha cerrado un acuerdo para adquirir &lt;strong&gt;Cursor&lt;/strong&gt;, el editor de código basado en inteligencia artificial que ha transformado la forma en que escribimos software en los últimos años. El precio: &lt;strong&gt;60.000 millones de dólares&lt;/strong&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>El fin de la obsolescencia programada: Por qué el Framework Laptop 13 Pro es el estándar a seguir en hardware modular</title>
				<link>https://javierin.com/framework-laptop-13-pro-estandar-hardware-modular/</link>
				<pubDate>Tue, 21 Apr 2026 20:01:21 +0000</pubDate>
				<guid>https://javierin.com/framework-laptop-13-pro-estandar-hardware-modular/</guid>
				<description>&lt;p&gt;Durante décadas, la industria tecnológica nos ha condicionado a aceptar una realidad frustrante: si un componente de tu portátil falla o se queda obsoleto, lo más probable es que tengas que comprar un equipo nuevo. Sin embargo, estamos en 2026 y el paradigma ha cambiado radicalmente. El lanzamiento del &lt;strong&gt;Framework Laptop 13 Pro&lt;/strong&gt; no es solo una actualización de hardware; es la consolidación de un movimiento que prioriza la longevidad y la libertad del usuario sobre el consumo desechable.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Tim Cook deja el cargo: Quién es John Ternus y cómo cambiará el futuro del hardware en Apple</title>
				<link>https://javierin.com/john-ternus-nuevo-ceo-apple-futuro-hardware/</link>
				<pubDate>Tue, 21 Apr 2026 05:05:38 +0000</pubDate>
				<guid>https://javierin.com/john-ternus-nuevo-ceo-apple-futuro-hardware/</guid>
				<description>&lt;p&gt;Es oficial. El fin de una era ha llegado a Cupertino. Tras casi quince años de un crecimiento financiero sin precedentes bajo la batuta de Tim Cook, Apple abre un nuevo capítulo en su historia. El anuncio de que &lt;strong&gt;John Ternus&lt;/strong&gt; asume el cargo de &lt;strong&gt;Apple CEO&lt;/strong&gt; marca el paso de una gestión centrada en las operaciones y la cadena de suministro a una liderada por un ingeniero de hardware de pura cepa.&lt;/p&gt;</description>
			</item>
			<item>
				<title>F1 2026 y el futuro de los sistemas híbridos: Lecciones de ingeniería sobre gestión de energía y rendimiento</title>
				<link>https://javierin.com/f1-2026-ingenieria-gestion-energia-hibrida/</link>
				<pubDate>Mon, 20 Apr 2026 20:01:38 +0000</pubDate>
				<guid>https://javierin.com/f1-2026-ingenieria-gestion-energia-hibrida/</guid>
				<description>&lt;h1&gt;F1 2026 y el futuro de los sistemas híbridos: Lecciones de ingeniería sobre gestión de energía y rendimiento&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Estamos en abril de 2026 y el mundo del automovilismo está a punto de presenciar uno de los cambios más radicales en la historia de la competición. Con el Gran Premio de Miami a la vuelta de la esquina este próximo mayo, todas las miradas están puestas en el debut real de las nuevas regulaciones técnicas. No se trata solo de coches más estrechos o alerones diferentes; estamos ante una redefinición total de la unidad de potencia y, lo más importante, de cómo se gestiona la energía en milisegundos.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Kimi K2.6: La revolución open-source para programar sin depender de OpenAI</title>
				<link>https://javierin.com/kimi-k2-6-ia-codigo-open-source/</link>
				<pubDate>Mon, 20 Apr 2026 16:01:53 +0000</pubDate>
				<guid>https://javierin.com/kimi-k2-6-ia-codigo-open-source/</guid>
				<description>&lt;p&gt;En el ecosistema tecnológico de este 2026, la dependencia de las APIs cerradas ha dejado de ser la única opción viable para los desarrolladores. Si hace un par de años estábamos atados a las fluctuaciones de precios y políticas de privacidad de OpenAI, la llegada de modelos como &lt;strong&gt;Kimi K2.6&lt;/strong&gt; ha cambiado radicalmente el panorama. No estamos ante un modelo de juguete; estamos ante una herramienta de grado profesional que compite de tú a tú con lo mejor del sector propietario.&lt;/p&gt;</description>
			</item>
			<item>
				<title>IA agéntica en tu propio hardware: Guía para montar un agente local y seguro con OpenClaw</title>
				<link>https://javierin.com/ia-agentica-local-openclaw-guia-hardware/</link>
				<pubDate>Mon, 20 Apr 2026 10:02:23 +0000</pubDate>
				<guid>https://javierin.com/ia-agentica-local-openclaw-guia-hardware/</guid>
				<description>&lt;p&gt;En pleno 2026, la conversación sobre inteligencia artificial ha dado un giro radical. Ya no nos conformamos con simples chatbots que responden preguntas; ahora buscamos &lt;strong&gt;agentes&lt;/strong&gt;. Entidades digitales capaces de razonar, planificar y ejecutar tareas complejas de forma autónoma. Sin embargo, este avance ha traído consigo una preocupación creciente: la privacidad y el coste de las suscripciones en la nube.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aquí es donde entra en juego el &lt;strong&gt;self-hosting de IA&lt;/strong&gt;. Gracias a proyectos como &lt;strong&gt;OpenClaw&lt;/strong&gt;, hoy es más factible que nunca ejecutar un agente de IA potente y seguro directamente en tu propio hardware, sin que tus datos salgan jamás de tu red local. En esta guía, vamos a desgranar cómo puedes montar tu propio nodo agéntico y por qué OpenClaw se ha convertido en la herramienta de referencia para los entusiastas de la soberanía digital.&lt;/p&gt;</description>
			</item>
			<item>
				<title>El contratiempo del New Glenn: ¿Qué significa el fallo de Blue Origin para el futuro espacial?</title>
				<link>https://javierin.com/fallo-blue-origin-new-glenn-logistica-espacial/</link>
				<pubDate>Mon, 20 Apr 2026 05:43:16 +0000</pubDate>
				<guid>https://javierin.com/fallo-blue-origin-new-glenn-logistica-espacial/</guid>
				<description>&lt;p&gt;En la industria aeroespacial, el margen de error es prácticamente inexistente. El reciente incidente ocurrido durante el tercer lanzamiento del cohete &lt;strong&gt;New Glenn de Blue Origin&lt;/strong&gt; nos lo ha recordado de la forma más cruda posible. Lo que debía ser una misión rutinaria de despliegue para un cliente comercial terminó con el satélite en una órbita incorrecta, un error que no solo afecta a la carga útil, sino que pone en tela de juicio la fiabilidad inmediata del gigante fundado por Jeff Bezos.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Más allá del SAI: Guía de generadores eléctricos y estaciones de energía portátiles para proteger tu homelab ante apagones</title>
				<link>https://javierin.com/generador-electrico-casa-estacion-energia-homelab/</link>
				<pubDate>Sat, 18 Apr 2026 20:02:24 +0000</pubDate>
				<guid>https://javierin.com/generador-electrico-casa-estacion-energia-homelab/</guid>
				<description>&lt;p&gt;Cualquier entusiasta del &lt;strong&gt;homelab&lt;/strong&gt; que se precie sabe que un SAI (Sistema de Alimentación Ininterrumpida) es la primera línea de defensa. Sin embargo, en pleno 2026, con fenómenos climáticos más extremos y una red eléctrica que a veces flaquea bajo la demanda, los 15 o 20 minutos de autonomía que ofrece un SAI convencional se quedan cortos. Si tienes un servidor Proxmox, un NAS con varios terabytes de datos críticos y una infraestructura de red compleja, necesitas algo más robusto.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hetzner vs DigitalOcean: Cómo migrar tu infraestructura y ahorrar un 80% en costes de servidor sin caídas</title>
				<link>https://javierin.com/hetzner-vs-digitalocean-migracion-ahorro-vps/</link>
				<pubDate>Sat, 18 Apr 2026 16:01:28 +0000</pubDate>
				<guid>https://javierin.com/hetzner-vs-digitalocean-migracion-ahorro-vps/</guid>
				<description>&lt;p&gt;En el panorama del hosting cloud de 2026, la optimización de costes se ha convertido en una prioridad absoluta para desarrolladores y empresas. Tras años de crecimiento desmesurado en los precios de los proveedores &#34;Tier 1&#34; como AWS, Google Cloud o DigitalOcean, muchos estamos volviendo la mirada hacia Europa, concretamente hacia &lt;strong&gt;Hetzner&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;La pregunta no es solo si Hetzner es más barato (que lo es, y por mucho), sino si es lo suficientemente robusto para aguantar una infraestructura de producción crítica. Hoy vamos a analizar una comparativa real de &lt;strong&gt;Hetzner vs DigitalOcean&lt;/strong&gt; y, lo más importante, cómo ejecutar una migración de VPS para ahorrar un 80% en la factura mensual sin que tus usuarios sufran ni un segundo de caída.&lt;/p&gt;</description>
			</item>
			<item>
				<title>World ID llega a Tinder: ¿El fin del catfishing o una amenaza a tu privacidad?</title>
				<link>https://javierin.com/world-id-tinder-verificacion-biometrica-privacidad/</link>
				<pubDate>Sat, 18 Apr 2026 05:07:08 +0000</pubDate>
				<guid>https://javierin.com/world-id-tinder-verificacion-biometrica-privacidad/</guid>
				<description>&lt;p&gt;En el ecosistema de las citas online, la confianza siempre ha sido el activo más escaso. Todos conocemos (o hemos sufrido) historias de perfiles falsos, &lt;em&gt;bots&lt;/em&gt; que intentan estafarnos o el clásico &lt;em&gt;catfishing&lt;/em&gt;. Sin embargo, en pleno 2026, la solución que propone Tinder para erradicar estos problemas viene de la mano de Sam Altman y su proyecto &lt;strong&gt;World&lt;/strong&gt; (anteriormente conocido como Worldcoin). La integración de &lt;strong&gt;World ID&lt;/strong&gt; en la plataforma de citas más popular del mundo marca un antes y un después en cómo gestionamos nuestra &lt;strong&gt;identidad digital&lt;/strong&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>NeoGeo AES&#43;: SNK resucita la &#39;Rolls Royce&#39; de las consolas con hardware real y sin emulación</title>
				<link>https://javierin.com/neogeo-aes-plus-snk-hardware-real-coleccionismo/</link>
				<pubDate>Fri, 17 Apr 2026 20:03:24 +0000</pubDate>
				<guid>https://javierin.com/neogeo-aes-plus-snk-hardware-real-coleccionismo/</guid>
				<description>&lt;h1&gt;NeoGeo AES+: El regreso triunfal de la leyenda en formato físico real&lt;/h1&gt;&lt;p&gt;En el mundo del &lt;strong&gt;retro gaming&lt;/strong&gt;, hay un nombre que siempre ha evocado un aura de misticismo, potencia y, sobre todo, exclusividad: la NeoGeo AES de SNK. Conocida históricamente como la &#39;Rolls Royce&#39; de las consolas, fue el sistema que trajo los arcades literales a los salones de los pocos afortunados que podían permitírselo en los años 90. Hoy, en pleno 2026, SNK ha decidido dar un golpe sobre la mesa anunciando la &lt;strong&gt;NeoGeo AES+&lt;/strong&gt;, una revisión moderna que rompe con la tendencia actual de las &#39;consolas mini&#39; basadas en emulación.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cómo transcribir audio a texto gratis en 2026: Guía completa y herramientas</title>
				<link>https://javierin.com/transcribir-audio-a-texto-gratis-2026/</link>
				<pubDate>Fri, 17 Apr 2026 10:02:10 +0000</pubDate>
				<guid>https://javierin.com/transcribir-audio-a-texto-gratis-2026/</guid>
				<description>&lt;p&gt;A estas alturas de 2026, la transcripción de audio a texto ya no es ese proceso tedioso que requería horas de corrección manual o suscripciones carísimas. Gracias a la evolución de los modelos de lenguaje y el procesamiento en el dispositivo, hoy podemos convertir horas de grabación en texto preciso en cuestión de minutos y sin gastar un solo euro.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ya sea porque eres estudiante y quieres pasar tus apuntes a limpio, un periodista que necesita transcribir una entrevista de una hora, o simplemente quieres digitalizar tus notas de voz, las opciones actuales son más potentes que nunca. En este artículo vamos a repasar las mejores herramientas para &lt;strong&gt;transcribir audio a texto gratis&lt;/strong&gt; este año.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Claude Opus 4.7: El salto definitivo de Anthropic para entornos profesionales</title>
				<link>https://javierin.com/claude-opus-4-7-novedades-flujos-trabajo-profesionales/</link>
				<pubDate>Thu, 16 Apr 2026 16:01:25 +0000</pubDate>
				<guid>https://javierin.com/claude-opus-4-7-novedades-flujos-trabajo-profesionales/</guid>
				<description>&lt;p&gt;La evolución de la inteligencia artificial generativa no se detiene, y Anthropic ha vuelto a mover ficha con el lanzamiento de &lt;strong&gt;Claude Opus 4.7&lt;/strong&gt;. Si bien la familia Claude ya era reconocida por su capacidad de redacción natural y su ética integrada, esta nueva iteración del modelo Opus eleva el listón en lo que a razonamiento lógico y aplicaciones profesionales se refiere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;En el panorama actual, donde los modelos de lenguaje (LLM) están pasando de ser simples asistentes de chat a motores de ejecución de flujos de trabajo complejos, Claude Opus 4.7 se posiciona como una herramienta diseñada específicamente para quienes necesitan precisión técnica y una comprensión profunda del contexto. En este artículo, desglosamos qué ha cambiado realmente y cómo puedes empezar a aplicarlo en tu día a día para ganar una ventaja competitiva.&lt;/p&gt;</description>
			</item>
			<item>
				<title>El fin del reinado de Live Nation y Ticketmaster: ¿Bajará por fin el precio de las entradas?</title>
				<link>https://javierin.com/veredicto-live-nation-ticketmaster-monopolio-digital/</link>
				<pubDate>Thu, 16 Apr 2026 05:05:50 +0000</pubDate>
				<guid>https://javierin.com/veredicto-live-nation-ticketmaster-monopolio-digital/</guid>
				<description>&lt;h2&gt;Un veredicto que cambia las reglas del juego&lt;/h2&gt;&lt;p&gt;Durante años, cualquiera que haya intentado comprar una entrada para un gran concierto ha sentido la misma frustración: colas virtuales interminables, precios que suben de forma inexplicable y unas comisiones de gestión que, en ocasiones, parecen un mal chiste. Esa sensación de impotencia no era casualidad. Un jurado federal acaba de confirmar lo que millones de fans y profesionales del sector sospechaban: &lt;strong&gt;Live Nation y su filial Ticketmaster han mantenido un monopolio ilegal&lt;/strong&gt; en el mercado de la música en vivo.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Impresión 3D por resina: diferencias con el filamento</title>
				<link>https://javierin.com/impresion-3d-por-resina-diferencias-con-el-filamento/</link>
				<pubDate>Sun, 12 Apr 2026 13:45:00 +0000</pubDate>
				<guid>https://javierin.com/impresion-3d-por-resina-diferencias-con-el-filamento/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Impresión 3D por resina: diferencias con el filamento&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;La resina y el filamento son dos tecnologías distintas con casos de uso distintos. Esta comparativa técnica explica qué hace bien cada una para que decidas con datos, sin promesas.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cura o PrusaSlicer: cuál elegir para tu impresora</title>
				<link>https://javierin.com/cura-o-prusaslicer-cual-elegir-para-tu-impresora/</link>
				<pubDate>Wed, 01 Apr 2026 06:28:00 +0000</pubDate>
				<guid>https://javierin.com/cura-o-prusaslicer-cual-elegir-para-tu-impresora/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Cura o PrusaSlicer: cuál elegir para tu impresora&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Cura y PrusaSlicer son los dos slicers más usados para impresión 3D FDM, y ambos son gratuitos y multiplataforma. La elección depende de tu impresora y de lo que imprimas: aquí el veredicto.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Filamento PLA y tipos de filamento para impresora 3D</title>
				<link>https://javierin.com/filamento-pla-y-tipos-de-filamento-para-impresora-3d/</link>
				<pubDate>Sat, 21 Mar 2026 11:11:00 +0000</pubDate>
				<guid>https://javierin.com/filamento-pla-y-tipos-de-filamento-para-impresora-3d/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Filamento PLA y tipos de filamento para impresora 3D&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Si acabas de abrir tu primera impresora 3D, lo primero que necesitas entender es qué diferencia al PLA del PETG, del ABS o del TPU. Esta guía te explica cada material sin rodeos y con los límites reales sobre la mesa.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Estación meteorológica con Raspberry Pi paso a paso</title>
				<link>https://javierin.com/estacion-meteorologica-con-raspberry-pi-paso-a-paso/</link>
				<pubDate>Tue, 10 Mar 2026 15:54:00 +0000</pubDate>
				<guid>https://javierin.com/estacion-meteorologica-con-raspberry-pi-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Estación meteorológica con Raspberry Pi paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Con menos de 35 € en componentes y una tarde libre puedes tener temperatura, humedad y presión barométrica del jardín en Home Assistant. Aquí está todo lo que necesitas para montarlo desde cero.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cómo crear un clúster de Raspberry Pi con k3s</title>
				<link>https://javierin.com/como-crear-un-cluster-de-raspberry-pi-con-k3s/</link>
				<pubDate>Fri, 27 Feb 2026 08:37:00 +0000</pubDate>
				<guid>https://javierin.com/como-crear-un-cluster-de-raspberry-pi-con-k3s/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Cómo crear un clúster de Raspberry Pi con k3s&lt;/h1&gt;&lt;p class=&#34;pst-meta&#34;&gt;Por &lt;strong&gt;Javier&lt;/strong&gt; · Actualizado: 2026-02-27&lt;/p&gt;</description>
			</item>
			<item>
				<title>Arduino vs Raspberry Pi: diferencias y cuál elegir</title>
				<link>https://javierin.com/arduino-vs-raspberry-pi-diferencias-y-cual-elegir/</link>
				<pubDate>Mon, 16 Feb 2026 12:20:00 +0000</pubDate>
				<guid>https://javierin.com/arduino-vs-raspberry-pi-diferencias-y-cual-elegir/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Arduino vs Raspberry Pi: diferencias y cuál elegir&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Arduino y Raspberry Pi no son rivales directos: resuelven problemas distintos. Te cuento cómo funciona cada uno y en qué proyectos tiene sentido usar uno u otro.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Instalar OpenMediaVault en Raspberry Pi o mini PC</title>
				<link>https://javierin.com/instalar-openmediavault-en-raspberry-pi-o-mini-pc/</link>
				<pubDate>Thu, 05 Feb 2026 16:03:00 +0000</pubDate>
				<guid>https://javierin.com/instalar-openmediavault-en-raspberry-pi-o-mini-pc/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Instalar OpenMediaVault en Raspberry Pi o mini PC&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;OpenMediaVault convierte una Raspberry Pi o un mini PC con Debian en un NAS doméstico sin demasiadas complicaciones. Aquí está el proceso completo, con lo que realmente necesitas saber antes de empezar.&lt;/p&gt;</description>
			</item>
			<item>
				<title>CMR vs SMR: qué disco duro elegir para tu NAS</title>
				<link>https://javierin.com/cmr-vs-smr-que-disco-duro-elegir-para-tu-nas/</link>
				<pubDate>Sun, 25 Jan 2026 09:46:00 +0000</pubDate>
				<guid>https://javierin.com/cmr-vs-smr-que-disco-duro-elegir-para-tu-nas/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;CMR vs SMR: qué disco duro elegir para tu NAS&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;SMR y CMR son tecnologías distintas con comportamientos muy diferentes en un NAS con RAID. Saber cuál elegir —y cómo verificarlo antes de comprar— te evita problemas serios más adelante.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Snapshots de ZFS: cómo funcionan y cómo usarlos</title>
				<link>https://javierin.com/snapshots-de-zfs-como-funcionan-y-como-usarlos/</link>
				<pubDate>Thu, 15 Jan 2026 13:29:00 +0000</pubDate>
				<guid>https://javierin.com/snapshots-de-zfs-como-funcionan-y-como-usarlos/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Snapshots de ZFS: cómo funcionan y cómo usarlos&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Los snapshots ZFS son una de las herramientas más prácticas del sistema de ficheros para recuperarse de errores humanos. Aquí tienes los comandos que necesitas y lo que debes saber antes de usarlos.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Estrategia de backup 3-2-1 para tu homelab: guía práctica</title>
				<link>https://javierin.com/estrategia-de-backup-3-2-1-para-tu-homelab-guia-practica/</link>
				<pubDate>Sun, 04 Jan 2026 17:12:00 +0000</pubDate>
				<guid>https://javierin.com/estrategia-de-backup-3-2-1-para-tu-homelab-guia-practica/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Estrategia de backup 3-2-1 para tu homelab: guía práctica&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;La regla 3-2-1 lleva décadas siendo el estándar de facto para backups, y por algo es: tres copias, dos medios, uno fuera de casa. Aquí la implementamos desde cero con herramientas reales en un homelab Proxmox.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Qué es RAID y qué nivel elegir para tu homelab</title>
				<link>https://javierin.com/que-es-raid-y-que-nivel-elegir-para-tu-homelab/</link>
				<pubDate>Wed, 24 Dec 2025 10:55:00 +0000</pubDate>
				<guid>https://javierin.com/que-es-raid-y-que-nivel-elegir-para-tu-homelab/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Qué es RAID y qué nivel elegir para tu homelab&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;RAID agrupa varios discos físicos en un solo volumen lógico para ganar redundancia o tolerancia a fallos. Conoce cómo funciona cada nivel y cuándo tiene sentido montarlo en casa.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Synology o QNAP: qué marca de NAS comprar en 2026</title>
				<link>https://javierin.com/synology-o-qnap-que-marca-de-nas-comprar-en/</link>
				<pubDate>Sat, 13 Dec 2025 14:38:00 +0000</pubDate>
				<guid>https://javierin.com/synology-o-qnap-que-marca-de-nas-comprar-en/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Synology o QNAP: qué marca de NAS comprar en 2026&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Synology y QNAP dominan el mercado NAS para usuarios exigentes, pero son marcas muy distintas bajo el capó. Esta comparativa analiza los detalles que realmente importan: sistema operativo, política de discos, historial de seguridad y capacidad de expansión.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cómo acceder a tu NAS de forma segura desde fuera de casa</title>
				<link>https://javierin.com/como-acceder-a-tu-nas-de-forma-segura-desde-fuera-de-casa/</link>
				<pubDate>Tue, 02 Dec 2025 07:21:00 +0000</pubDate>
				<guid>https://javierin.com/como-acceder-a-tu-nas-de-forma-segura-desde-fuera-de-casa/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Cómo acceder a tu NAS de forma segura desde fuera de casa&lt;/h1&gt;&lt;p class=&#34;pst-meta&#34;&gt;Por &lt;strong&gt;Javier&lt;/strong&gt; · Actualizado: 2025-12-02&lt;/p&gt;</description>
			</item>
			<item>
				<title>Frigate NVR con Home Assistant: guía paso a paso</title>
				<link>https://javierin.com/frigate-nvr-con-home-assistant-guia-paso-a-paso/</link>
				<pubDate>Fri, 21 Nov 2025 11:04:00 +0000</pubDate>
				<guid>https://javierin.com/frigate-nvr-con-home-assistant-guia-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Frigate NVR con Home Assistant: guía paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Frigate es un NVR open source que detecta personas y objetos en local, sin enviar vídeo a ninguna nube. Te cuento cómo instalarlo desde cero, conectar tus cámaras IP y enlazarlo con Home Assistant para crear automatizaciones reales.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Mejor coordinador Zigbee para Home Assistant 2025</title>
				<link>https://javierin.com/mejor-coordinador-zigbee-para-home-assistant/</link>
				<pubDate>Mon, 10 Nov 2025 15:47:00 +0000</pubDate>
				<guid>https://javierin.com/mejor-coordinador-zigbee-para-home-assistant/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Mejor coordinador Zigbee para Home Assistant 2025&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Cuatro dongles, cuatro chips distintos y una sola pregunta: cuál conectar a tu Home Assistant. Comparativa directa con casos de uso reales del Sonoff Plus-P, ZBT-1, HUSBZB-1 y ConBee II.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cómo crear tu primera automatización en Home Assistant</title>
				<link>https://javierin.com/como-crear-tu-primera-automatizacion-en-home-assistant/</link>
				<pubDate>Thu, 30 Oct 2025 08:30:00 +0000</pubDate>
				<guid>https://javierin.com/como-crear-tu-primera-automatizacion-en-home-assistant/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Cómo crear tu primera automatización en Home Assistant&lt;/h1&gt;&lt;p class=&#34;pst-meta&#34;&gt;Por &lt;strong&gt;Javier&lt;/strong&gt; · Actualizado: 2025-10-30&lt;/p&gt;</description>
			</item>
			<item>
				<title>Primeros pasos en Home Assistant: checklist real</title>
				<link>https://javierin.com/primeros-pasos-en-home-assistant-checklist-real/</link>
				<pubDate>Sun, 19 Oct 2025 11:13:00 +0000</pubDate>
				<guid>https://javierin.com/primeros-pasos-en-home-assistant-checklist-real/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Primeros pasos en Home Assistant: checklist real&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Instalar Home Assistant es solo el principio. Antes de añadir el primer dispositivo, hay media docena de cosas que conviene dejar bien atadas para no lamentarlo después.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Tailscale o ZeroTier: VPNs de malla para tu homelab</title>
				<link>https://javierin.com/tailscale-o-zerotier-vpns-de-malla-para-tu-homelab/</link>
				<pubDate>Wed, 08 Oct 2025 15:56:00 +0000</pubDate>
				<guid>https://javierin.com/tailscale-o-zerotier-vpns-de-malla-para-tu-homelab/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Tailscale o ZeroTier: VPNs de malla para tu homelab&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Tailscale y ZeroTier son las dos opciones más populares para conectar tu homelab desde fuera sin complicarte con port forwarding. Las probamos en un setup real y te contamos en qué se diferencian de verdad.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Qué es el DNS y cómo cambiarlo en tu router</title>
				<link>https://javierin.com/que-es-el-dns-y-como-cambiarlo-en-tu-router/</link>
				<pubDate>Sat, 27 Sep 2025 08:39:00 +0000</pubDate>
				<guid>https://javierin.com/que-es-el-dns-y-como-cambiarlo-en-tu-router/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Qué es el DNS y cómo cambiarlo en tu router&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;El DNS es la agenda de contactos de internet: convierte google.com en una dirección IP que tu dispositivo entiende. Te explico cómo funciona por dentro, qué resolvers alternativos existen y cómo cambiarlo en el router.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Uptime Kuma en Docker: monitoriza tu homelab</title>
				<link>https://javierin.com/uptime-kuma-en-docker-monitoriza-tu-homelab/</link>
				<pubDate>Tue, 16 Sep 2025 12:22:00 +0000</pubDate>
				<guid>https://javierin.com/uptime-kuma-en-docker-monitoriza-tu-homelab/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Uptime Kuma en Docker: monitoriza tu homelab&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Uptime Kuma es una herramienta de monitorización self-hosted que puedes desplegar con Docker en minutos. Este tutorial explica cómo instalarlo, crear tus primeros monitores y recibir alertas cuando algo falla.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Crear tu primera VLAN en OPNsense paso a paso</title>
				<link>https://javierin.com/crear-tu-primera-vlan-en-opnsense-paso-a-paso/</link>
				<pubDate>Fri, 05 Sep 2025 16:05:00 +0000</pubDate>
				<guid>https://javierin.com/crear-tu-primera-vlan-en-opnsense-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Crear tu primera VLAN en OPNsense paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Guía paso a paso para segmentar tu red doméstica con VLANs en OPNsense sin necesidad de hardware extra. Desde crear la interfaz hasta configurar el firewall para aislar dispositivos IoT o una red de invitados.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Firewall doméstico: qué hace tu router (y qué no)</title>
				<link>https://javierin.com/firewall-domestico-que-hace-tu-router-y-que-no/</link>
				<pubDate>Tue, 26 Aug 2025 09:48:00 +0000</pubDate>
				<guid>https://javierin.com/firewall-domestico-que-hace-tu-router-y-que-no/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Firewall doméstico: qué hace tu router (y qué no)&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;El firewall de tu router bloquea conexiones entrantes no solicitadas, pero deja pasar todo el tráfico saliente sin inspeccionar nada. Aquí está lo que ocurre realmente en tu red doméstica.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hardening SSH paso a paso: asegura tu servidor</title>
				<link>https://javierin.com/hardening-ssh-paso-a-paso-asegura-tu-servidor/</link>
				<pubDate>Fri, 15 Aug 2025 13:31:00 +0000</pubDate>
				<guid>https://javierin.com/hardening-ssh-paso-a-paso-asegura-tu-servidor/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Hardening SSH paso a paso: asegura tu servidor&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Exponer SSH a internet sin configurarlo bien es invitar al ruido. Aquí están los pasos reales para que tu servidor aguante sin sorpresas desagradables.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Nginx Proxy Manager: reverse proxy con Docker paso a paso</title>
				<link>https://javierin.com/nginx-proxy-manager-reverse-proxy-con-docker-paso-a-paso/</link>
				<pubDate>Mon, 04 Aug 2025 06:14:00 +0000</pubDate>
				<guid>https://javierin.com/nginx-proxy-manager-reverse-proxy-con-docker-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Nginx Proxy Manager: reverse proxy con Docker paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Nginx Proxy Manager es la forma más directa de montar un reverse proxy en tu homelab sin editar un solo fichero de Nginx. Aquí va la guía desde el docker-compose hasta el primer certificado SSL, con lo que puede salir mal por el camino.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Homer vs Heimdall: dashboard para tu homelab</title>
				<link>https://javierin.com/homer-vs-heimdall-dashboard-para-tu-homelab/</link>
				<pubDate>Thu, 24 Jul 2025 10:57:00 +0000</pubDate>
				<guid>https://javierin.com/homer-vs-heimdall-dashboard-para-tu-homelab/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Homer vs Heimdall: dashboard para tu homelab&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Homer y Heimdall son los dashboards más populares en el mundo homelab, pero funcionan de formas completamente distintas. Esta comparativa te ayuda a elegir según lo que necesitas de verdad, sin rodeos.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Radarr, Sonarr y Prowlarr con Docker Compose</title>
				<link>https://javierin.com/radarr-sonarr-y-prowlarr-con-docker-compose/</link>
				<pubDate>Sun, 13 Jul 2025 14:40:00 +0000</pubDate>
				<guid>https://javierin.com/radarr-sonarr-y-prowlarr-con-docker-compose/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Radarr, Sonarr y Prowlarr con Docker Compose&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Guía paso a paso para montar Radarr, Sonarr y Prowlarr en Docker Compose usando las imágenes de linuxserver.io. Prowlarr centraliza la gestión de indexadores y los sincroniza automáticamente con el resto del stack.&lt;/p&gt;</description>
			</item>
			<item>
				<title>WireGuard con Docker usando wg-easy: tutorial paso a paso</title>
				<link>https://javierin.com/wireguard-con-docker-usando-wg-easy-tutorial-paso-a-paso/</link>
				<pubDate>Wed, 02 Jul 2025 07:23:00 +0000</pubDate>
				<guid>https://javierin.com/wireguard-con-docker-usando-wg-easy-tutorial-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;WireGuard con Docker usando wg-easy: tutorial paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;wg-easy es una imagen Docker que envuelve WireGuard con una interfaz web para añadir y gestionar peers sin tocar la línea de comandos. Este tutorial cubre el setup completo: desde el compose hasta la conexión del primer cliente.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Immich en Proxmox: instala tu galería autohospedada</title>
				<link>https://javierin.com/immich-en-proxmox-instala-tu-galeria-autohospedada/</link>
				<pubDate>Sat, 21 Jun 2025 11:06:00 +0000</pubDate>
				<guid>https://javierin.com/immich-en-proxmox-instala-tu-galeria-autohospedada/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Immich en Proxmox: instala tu galería autohospedada&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Immich es un gestor de fotos y vídeos autohospedado con apps móviles, reconocimiento facial y búsqueda semántica. Aquí cuento cómo lo monté en Proxmox con Docker Compose y qué fricción real tiene el proceso.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Vaultwarden con Docker: gestor de contraseñas propio</title>
				<link>https://javierin.com/vaultwarden-con-docker-gestor-de-contrasenas-propio/</link>
				<pubDate>Tue, 10 Jun 2025 15:49:00 +0000</pubDate>
				<guid>https://javierin.com/vaultwarden-con-docker-gestor-de-contrasenas-propio/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Vaultwarden con Docker: gestor de contraseñas propio&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Vaultwarden es la alternativa autohospedada a Bitwarden Cloud: mismos clientes, mismas extensiones, corriendo en tu propio servidor. Este tutorial cubre desde el docker-compose hasta los backups, pasando por el proxy inverso y la migración de contraseñas.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Instalar Nextcloud con Docker paso a paso</title>
				<link>https://javierin.com/instalar-nextcloud-con-docker-paso-a-paso/</link>
				<pubDate>Fri, 30 May 2025 08:32:00 +0000</pubDate>
				<guid>https://javierin.com/instalar-nextcloud-con-docker-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Instalar Nextcloud con Docker paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Montar Nextcloud en el homelab con Docker es más directo de lo que parece cuando tienes el stack bien definido. Aquí está el docker-compose.yml funcional y todo lo que conviene revisar antes de meter datos de verdad.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Navidrome: servidor de música autohospedado con Docker</title>
				<link>https://javierin.com/navidrome-servidor-de-musica-autohospedado-con-docker/</link>
				<pubDate>Mon, 19 May 2025 12:15:00 +0000</pubDate>
				<guid>https://javierin.com/navidrome-servidor-de-musica-autohospedado-con-docker/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Navidrome: servidor de música autohospedado con Docker&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Navidrome convierte tu colección de música en un servidor compatible con clientes Subsonic como Symfonium o DSub. Aquí te cuento cómo montarlo con Docker y dejarlo funcional desde el móvil.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Portainer: instala y gestiona Docker con interfaz web</title>
				<link>https://javierin.com/portainer-instala-y-gestiona-docker-con-interfaz-web/</link>
				<pubDate>Thu, 08 May 2025 16:58:00 +0000</pubDate>
				<guid>https://javierin.com/portainer-instala-y-gestiona-docker-con-interfaz-web/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Portainer: instala y gestiona Docker con interfaz web&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Portainer añade una interfaz web a tu Docker sin sustituir la terminal. Aquí tienes cómo instalarlo, configurarlo y sacarle partido en un homelab real.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Volúmenes en Docker: bind mount vs volume</title>
				<link>https://javierin.com/volumenes-en-docker-bind-mount-vs-volume/</link>
				<pubDate>Sun, 27 Apr 2025 09:41:00 +0000</pubDate>
				<guid>https://javierin.com/volumenes-en-docker-bind-mount-vs-volume/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Volúmenes en Docker: bind mount vs volume&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Bind mount o volume: la elección correcta en Docker depende del entorno, el sistema operativo y lo que necesitas persistir. Aquí van los criterios reales para decidir sin adivinar.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Entendiendo las redes en Docker: bridge, host y macvlan</title>
				<link>https://javierin.com/entendiendo-las-redes-en-docker-bridge-host-y-macvlan/</link>
				<pubDate>Wed, 16 Apr 2025 13:24:00 +0000</pubDate>
				<guid>https://javierin.com/entendiendo-las-redes-en-docker-bridge-host-y-macvlan/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Entendiendo las redes en Docker: bridge, host y macvlan&lt;/h1&gt;&lt;p class=&#34;pst-meta&#34;&gt;Por &lt;strong&gt;Javier&lt;/strong&gt; · Actualizado: 2025-04-16&lt;/p&gt;</description>
			</item>
			<item>
				<title>Crea tu primer docker-compose.yml paso a paso</title>
				<link>https://javierin.com/crea-tu-primer-docker-compose-yml-paso-a-paso/</link>
				<pubDate>Sun, 06 Apr 2025 06:07:00 +0000</pubDate>
				<guid>https://javierin.com/crea-tu-primer-docker-compose-yml-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Crea tu primer docker-compose.yml paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Si siempre has instalado servicios a pelo y quieres pasarte a Docker, por aquí. Vemos cómo escribir un docker-compose.yml real, arrancarlo y no perder los datos por el camino.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Watchtower: actualizar contenedores Docker automáticamente</title>
				<link>https://javierin.com/watchtower-actualizar-contenedores-docker-automaticamente/</link>
				<pubDate>Wed, 26 Mar 2025 11:50:00 +0000</pubDate>
				<guid>https://javierin.com/watchtower-actualizar-contenedores-docker-automaticamente/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Watchtower: actualizar contenedores Docker automáticamente&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Watchtower monitoriza tus contenedores Docker y los actualiza cuando detecta una imagen nueva. Te cuento cómo configurarlo, qué puedes ajustar y cuándo conviene más no usarlo.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Hardening Proxmox: guía práctica de seguridad paso a paso</title>
				<link>https://javierin.com/hardening-proxmox-guia-practica-de-seguridad-paso-a-paso/</link>
				<pubDate>Sat, 15 Mar 2025 15:33:00 +0000</pubDate>
				<guid>https://javierin.com/hardening-proxmox-guia-practica-de-seguridad-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Hardening Proxmox: guía práctica de seguridad paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Proxmox VE llega con SSH root activo, firewall desactivado y sin ningún segundo factor. Esto es lo que aplico en cada nodo nuevo para reducir la superficie de ataque sin complicarme la vida.&lt;/p&gt;</description>
			</item>
			<item>
				<title>PCI Passthrough en Proxmox: guía GPU paso a paso</title>
				<link>https://javierin.com/pci-passthrough-en-proxmox-guia-gpu-paso-a-paso/</link>
				<pubDate>Tue, 04 Mar 2025 08:16:00 +0000</pubDate>
				<guid>https://javierin.com/pci-passthrough-en-proxmox-guia-gpu-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;PCI Passthrough en Proxmox: guía GPU paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Guía práctica de PCI passthrough en Proxmox 8: desde activar VT-d en la BIOS hasta tener la GPU funcionando dentro de la VM. Sin atajos falsos ni promesas de rendimiento garantizado.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Crear un contenedor LXC en Proxmox: guía paso a paso</title>
				<link>https://javierin.com/crear-un-contenedor-lxc-en-proxmox-guia-paso-a-paso/</link>
				<pubDate>Fri, 21 Feb 2025 12:59:00 +0000</pubDate>
				<guid>https://javierin.com/crear-un-contenedor-lxc-en-proxmox-guia-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Crear un contenedor LXC en Proxmox: guía paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Proxmox VE incluye soporte nativo para LXC y crear tu primer contenedor es más inmediato de lo que parece. Esta guía recorre el proceso completo: desde descargar la plantilla hasta gestionar el contenedor desde la CLI con &amp;lt;code&amp;gt;pct&amp;lt;/code&amp;gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Proxmox Backup Server: instálalo y haz tu primer backup</title>
				<link>https://javierin.com/proxmox-backup-server-instalalo-y-haz-tu-primer-backup/</link>
				<pubDate>Mon, 10 Feb 2025 16:42:00 +0000</pubDate>
				<guid>https://javierin.com/proxmox-backup-server-instalalo-y-haz-tu-primer-backup/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Proxmox Backup Server: instálalo y haz tu primer backup&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Proxmox Backup Server es la pieza que le faltaba a tu homelab para tener backups de verdad. Te cuento cómo montarlo desde cero y poner en marcha el primer job.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Proxmox para principiantes: conceptos clave</title>
				<link>https://javierin.com/proxmox-para-principiantes-conceptos-clave/</link>
				<pubDate>Thu, 30 Jan 2025 09:25:00 +0000</pubDate>
				<guid>https://javierin.com/proxmox-para-principiantes-conceptos-clave/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Proxmox para principiantes: conceptos clave&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Proxmox tiene su propio vocabulario y entenderlo antes de instalar nada te ahorra mucho tiempo. Aquí están los conceptos que más confunden al principio, explicados con ejemplos de homelab real.&lt;/p&gt;</description>
			</item>
			<item>
				<title>VM o contenedor LXC en Proxmox: cuándo usar cada uno</title>
				<link>https://javierin.com/vm-o-contenedor-lxc-en-proxmox-cuando-usar-cada-uno/</link>
				<pubDate>Sun, 19 Jan 2025 13:08:00 +0000</pubDate>
				<guid>https://javierin.com/vm-o-contenedor-lxc-en-proxmox-cuando-usar-cada-uno/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;VM o contenedor LXC en Proxmox: cuándo usar cada uno&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Antes de crear cualquier servicio en Proxmox me hago siempre las mismas preguntas. Este es el árbol de decisión que uso, con los casos concretos donde cada opción tiene sentido.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Mejor mini PC para virtualización con Proxmox</title>
				<link>https://javierin.com/mejor-mini-pc-para-virtualizacion-con-proxmox/</link>
				<pubDate>Wed, 08 Jan 2025 17:51:00 +0000</pubDate>
				<guid>https://javierin.com/mejor-mini-pc-para-virtualizacion-con-proxmox/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Mejor mini PC para virtualización con Proxmox&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Tres mini PCs pueden formar un cluster Proxmox HA por menos de lo que cuesta un servidor de rack básico. Esta comparativa analiza N100, N305 y Ryzen 7735HS según lo que realmente necesitas virtualizar.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Planificar un homelab: presupuesto paso a paso</title>
				<link>https://javierin.com/planificar-un-homelab-presupuesto-paso-a-paso/</link>
				<pubDate>Sat, 28 Dec 2024 10:34:00 +0000</pubDate>
				<guid>https://javierin.com/planificar-un-homelab-presupuesto-paso-a-paso/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Planificar un homelab: presupuesto paso a paso&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Montar un homelab no tiene por qué ser una inversión a ciegas. Aquí desglosamos las tres partidas reales del presupuesto y cómo tomar decisiones sensatas antes de comprar nada.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Errores montando un homelab: autopsia de mi primer setup</title>
				<link>https://javierin.com/errores-montando-un-homelab-autopsia-de-mi-primer-setup/</link>
				<pubDate>Tue, 17 Dec 2024 14:17:00 +0000</pubDate>
				<guid>https://javierin.com/errores-montando-un-homelab-autopsia-de-mi-primer-setup/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Errores montando un homelab: autopsia de mi primer setup&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Monté mi primer homelab con más entusiasmo que planificación. Esto es lo que rompí, lo que aprendí y el orden en el que debería haberlo hecho.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Qué es un homelab y por qué tener uno en casa</title>
				<link>https://javierin.com/que-es-un-homelab-y-por-que-tener-uno-en-casa/</link>
				<pubDate>Fri, 06 Dec 2024 07:00:00 +0000</pubDate>
				<guid>https://javierin.com/que-es-un-homelab-y-por-que-tener-uno-en-casa/</guid>
				<description>&lt;style&gt;&#xA;.wp-pst { font-family: inherit; color: inherit; line-height: 1.65; }&#xA;.wp-pst .pst-hero { margin: 0 0 28px; }&#xA;.wp-pst .pst-hero h1 { font-size: 1.9rem; line-height: 1.25; margin: 0 0 12px; }&#xA;.wp-pst .pst-lead { font-size: 1.1rem; color: #555; margin: 0 0 14px; max-width: 720px; }&#xA;.wp-pst .pst-meta { font-size: .85rem; color: #888; margin: 0 0 24px; }&#xA;.wp-pst .pst-meta a { text-decoration: underline; color: inherit; }&#xA;.wp-pst .pst-callout { background: #faf7f8; border-left: 4px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; }&#xA;.wp-pst .pst-callout strong { display: block; margin-bottom: 6px; font-size: .85rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-callout ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-callout li { margin-bottom: 4px; }&#xA;.wp-pst .pst-definition { background: #fffaf6; border-left: 3px solid #c47a92; padding: 14px 18px; margin: 20px 0; border-radius: 4px; font-size: 1.02rem; }&#xA;.wp-pst .pst-toc { background: #f7f7f8; padding: 14px 20px; border-radius: 6px; margin: 20px 0; }&#xA;.wp-pst .pst-toc strong { display: block; margin-bottom: 6px; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: #888; }&#xA;.wp-pst .pst-toc ol { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-toc li { margin-bottom: 3px; }&#xA;.wp-pst .pst-toc a { text-decoration: none; color: #444; }&#xA;.wp-pst .pst-toc a:hover { text-decoration: underline; }&#xA;.wp-pst .pst-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; margin: 20px 0; }&#xA;.wp-pst .pst-benefit { padding: 18px; background: #faf7f8; border-radius: 6px; }&#xA;.wp-pst .pst-benefit h3 { margin: 0 0 6px; font-size: 1.02rem; }&#xA;.wp-pst .pst-benefit p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-steps { counter-reset: step; margin: 20px 0; }&#xA;.wp-pst .pst-step { position: relative; padding: 14px 14px 14px 56px; background: #faf7f8; border-radius: 6px; margin-bottom: 10px; }&#xA;.wp-pst .pst-step::before { counter-increment: step; content: counter(step); position: absolute; left: 16px; top: 14px; width: 28px; height: 28px; background: #c47a92; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }&#xA;.wp-pst .pst-step h3 { margin: 0 0 4px; font-size: 1rem; }&#xA;.wp-pst .pst-step p { margin: 0; color: #555; font-size: .95rem; }&#xA;.wp-pst .pst-table { width: 100%; border-collapse: collapse; margin: 20px 0; }&#xA;.wp-pst .pst-table th, .wp-pst .pst-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #eee; }&#xA;.wp-pst .pst-table th { background: #faf7f8; font-weight: 600; }&#xA;.wp-pst .pst-related { background: #f7f7f8; padding: 18px 20px; border-radius: 6px; margin: 24px 0; }&#xA;.wp-pst .pst-related h3 { margin: 0 0 8px; font-size: 1rem; }&#xA;.wp-pst .pst-related ul { margin: 0; padding-left: 20px; }&#xA;.wp-pst .pst-products { margin: 28px 0; }&#xA;.wp-pst .pst-products h3 { margin: 0 0 12px; }&#xA;.wp-pst .pst-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }&#xA;.wp-pst .pst-product-card { display: block; background: #fff; border: 1px solid #eee; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }&#xA;.wp-pst .pst-product-card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }&#xA;.wp-pst .pst-product-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }&#xA;.wp-pst .pst-product-card .pst-product-info { padding: 12px; }&#xA;.wp-pst .pst-product-card .pst-product-name { font-weight: 600; margin: 0 0 4px; font-size: .95rem; line-height: 1.3; }&#xA;.wp-pst .pst-product-card .pst-product-price { color: #c47a92; font-weight: 600; margin: 0; font-size: .9rem; }&#xA;.wp-pst .pst-author { display: flex; gap: 14px; align-items: flex-start; background: #faf7f8; padding: 18px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-author .pst-avatar { width: 52px; height: 52px; border-radius: 50%; background: #c47a92; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.2rem; flex-shrink: 0; }&#xA;.wp-pst .pst-author .pst-author-info strong { display: block; font-size: 1rem; }&#xA;.wp-pst .pst-author .pst-author-info .pst-author-role { color: #888; font-size: .82rem; margin: 2px 0 6px; }&#xA;.wp-pst .pst-author .pst-author-info p { margin: 0; color: #555; font-size: .92rem; line-height: 1.5; }&#xA;.wp-pst .pst-cta { text-align: center; background: #1a1a1a; color: #fff; padding: 28px 16px; border-radius: 6px; margin: 28px 0 0; }&#xA;.wp-pst .pst-cta h3 { color: #fff; margin: 0 0 8px; font-size: 1.2rem; }&#xA;.wp-pst .pst-cta p { color: #ddd; margin: 0 0 16px; }&#xA;.wp-pst .pst-cta a { display: inline-block; background: #c47a92; color: #fff; padding: 10px 22px; border-radius: 4px; text-decoration: none; font-weight: 600; }&#xA;.wp-pst .pst-cta a:hover { background: #fff; color: #1a1a1a; }&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;wp-pst&#34;&gt;&#xA;&lt;header class=&#34;pst-hero&#34;&gt;&lt;h1&gt;Qué es un homelab y por qué tener uno en casa&lt;/h1&gt;&lt;p class=&#34;pst-lead&#34;&gt;Un homelab es la forma más directa de aprender Linux, redes y virtualización sin romper nada en producción. Si alguna vez has querido entender cómo funcionan las cosas por dentro, aquí es donde empieza.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
