<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on Project Documentation</title>
    <link>https://pesarkhobeee.github.io/en/posts/</link>
    <description>Recent content in Posts on Project Documentation</description>
    <image>
      <title>Project Documentation</title>
      <url>https://avatars.githubusercontent.com/u/147461?v=4</url>
      <link>https://avatars.githubusercontent.com/u/147461?v=4</link>
    </image>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-US</language>
    <lastBuildDate>Mon, 10 Aug 2026 00:00:00 +0200</lastBuildDate>
    <atom:link href="https://pesarkhobeee.github.io/en/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Validate Kubernetes Manifests (Including CRDs) with Kubeconform</title>
      <link>https://pesarkhobeee.github.io/en/posts/kubeconform/</link>
      <pubDate>Mon, 10 Aug 2026 00:00:00 +0200</pubDate>
      <guid>https://pesarkhobeee.github.io/en/posts/kubeconform/</guid>
      <description>&lt;p&gt;Applying a manifest just to discover a typo in a field name is a slow feedback loop. &lt;a href=&#34;https://github.com/yannh/kubeconform&#34;&gt;Kubeconform&lt;/a&gt; gives you that feedback in milliseconds: it validates Kubernetes YAML against the official API schemas, offline and pinned to the exact cluster version you run.&lt;/p&gt;
&lt;h2 id=&#34;why-not-just-kubectl-apply---dry-run&#34;&gt;Why not just &lt;code&gt;kubectl apply --dry-run&lt;/code&gt;?&lt;/h2&gt;
&lt;p&gt;A dry run needs a live cluster and validates against whatever version that cluster happens to be. Kubeconform works anywhere: on your laptop, in a pre-commit hook, or in a CI job, and it lets you target a specific Kubernetes version. It is also fast enough to run on every commit.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Arch Linux ARM on the ASUS Chromebook Flip C101PA</title>
      <link>https://pesarkhobeee.github.io/en/posts/arch-linux-asus-c101pa/</link>
      <pubDate>Sun, 09 Aug 2026 00:01:00 +0200</pubDate>
      <guid>https://pesarkhobeee.github.io/en/posts/arch-linux-asus-c101pa/</guid>
      <description>&lt;p&gt;The ASUS Chromebook Flip C101PA is a cheap, quiet, fanless ARM laptop that has been end-of-life on ChromeOS for years. It is still a perfectly good machine for browsing, writing, and light development — and it makes an excellent secondary Linux laptop if you are willing to install Arch Linux ARM on a microSD card.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&#34;https://archlinuxarm.org/platforms/armv8/rockchip/asus-chromebook-flip-c101pa&#34;&gt;official Arch Linux ARM guide&lt;/a&gt; is the starting point, but as of now it &lt;strong&gt;no longer works as written&lt;/strong&gt;. The published rootfs ships the ancient 4.4 ChromeOS kernel, and current Arch userland (systemd) refuses to run on it — first boot fails with &lt;code&gt;Failed to mount early API filesystems&lt;/code&gt; / &lt;code&gt;Freezing execution&lt;/code&gt;. This guide bakes in the fix: replace the kernel and firmware with mainline &lt;strong&gt;before&lt;/strong&gt; the first boot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Turn Job Alert Emails Into an RSS Feed with Cloudflare Workers</title>
      <link>https://pesarkhobeee.github.io/en/posts/job_emails_to_rss/</link>
      <pubDate>Sun, 09 Aug 2026 00:00:00 +0200</pubDate>
      <guid>https://pesarkhobeee.github.io/en/posts/job_emails_to_rss/</guid>
      <description>&lt;p&gt;Job-alert emails pile up quickly and are hard to skim. Each message bundles many listings, and there is no good way to filter or search across them. This is a blueprint for a small pipeline that ingests those emails, extracts the individual listings with an LLM, and serves them as a clean RSS feed and a searchable web dashboard — entirely on Cloudflare&amp;rsquo;s free tier. It is meant as an idea to replicate, not a ready-made repository.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
