<?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>Linux on phinguin123</title>
    <link>http://phinguin.dev/tags/linux/</link>
    <description>Recent content in Linux on phinguin123</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>2026 phinguin</copyright>
    <lastBuildDate>Thu, 26 Mar 2026 12:12:00 +0900</lastBuildDate>
    <atom:link href="http://phinguin.dev/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>What the Four SSL Files Actually Do</title>
      <link>http://phinguin.dev/blog/what-ssl-certificate-files-actually-do/</link>
      <pubDate>Thu, 26 Mar 2026 12:12:00 +0900</pubDate>
      <guid>http://phinguin.dev/blog/what-ssl-certificate-files-actually-do/</guid>
      <description>cert.crt, chain_cert.crt, root_cert.crt and a .key. I&amp;rsquo;d installed them a dozen times without knowing why there were four, so I finally sat down and worked it out on my own server.</description>
    </item>
    <item>
      <title>Dev and Prod on One Server</title>
      <link>http://phinguin.dev/blog/dev-and-prod-on-one-server/</link>
      <pubDate>Thu, 05 Feb 2026 12:56:00 +0900</pubDate>
      <guid>http://phinguin.dev/blog/dev-and-prod-on-one-server/</guid>
      <description>Running dev and prod side by side on one AWS box. Compose project names fixed the collisions, and made it really easy to forget everything Docker doesn&amp;rsquo;t own.</description>
    </item>
    <item>
      <title>Who Actually Visited the Landing Page?</title>
      <link>http://phinguin.dev/blog/who-actually-visited-the-landing-page/</link>
      <pubDate>Mon, 24 Nov 2025 11:43:00 +0900</pubDate>
      <guid>http://phinguin.dev/blog/who-actually-visited-the-landing-page/</guid>
      <description>Answering a marketing question with grep and awk on nginx access logs: requests vs. visitors, bots, timezones, and why the log can&amp;rsquo;t tell you what the browser never sent.</description>
    </item>
    <item>
      <title>Writing a Tiny Debugger with ptrace</title>
      <link>http://phinguin.dev/blog/a-debugger-from-ptrace/</link>
      <pubDate>Sun, 23 Jul 2023 12:00:00 +0900</pubDate>
      <guid>http://phinguin.dev/blog/a-debugger-from-ptrace/</guid>
      <description>A small C debugger that single-steps a program, rewrites its registers and memory, and changes what it does. Then figuring out why real debuggers don&amp;rsquo;t work like that — a breakpoint is literally one byte, 0xCC.</description>
    </item>
  </channel>
</rss>
