<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Seng-Gan Iap Portfolio - Engineering Articles</title>
    <link>https://www.formoseaniap.com/engineer/articles.html?lang=en</link>
    <description>Technical engineering articles.</description>
    <language>en-us</language>
    <atom:link href="https://www.formoseaniap.com/engineer/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Why Coding Alone Has Its Limits</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-8&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-8&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>The gap between &#x27;it works&#x27; and &#x27;it feels right,&#x27; and why human feedback was irreplaceable even in an AI-assisted workflow.</description>
    </item>
    <item>
      <title>The Portfolio Layout Debugging Iteration</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-7&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-7&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>Five stages of CSS debugging — from ragged text edges to a CSS Grid min-content trap — each narrowing the problem even when earlier fixes turned out to be wrong.</description>
    </item>
    <item>
      <title>The CloudFront Cache Collision</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-6&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-6&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>A production incident where two CloudFront cache behaviors produced the same cache key, causing the main site and engineering section to serve each other&#x27;s content.</description>
    </item>
    <item>
      <title>Splitting the Site into a Professional Engineering Portfolio</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-5&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-5&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>A reviewer said personal content confused hiring managers. The subdomain approach hit the CloudFront Free plan limit. The pivot to path-based routing changed the architecture.</description>
    </item>
    <item>
      <title>The Cloudflare Cache Surprise and Other Deploy Gotchas</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-4&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-4&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>Stale HTML behind two CDN layers, a podcast CORS puzzle, GitHub Actions OIDC debugging, and a deploy that broke every stylesheet on the site.</description>
    </item>
    <item>
      <title>The First Deploy and the DNS Trap</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-3&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-3&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>Going live with Cloudflare and Route 53, the 60-day nameserver lock that blocked the DNS migration, and the workarounds that kept the site running.</description>
    </item>
    <item>
      <title>Content Migration and the Article Organization Problem</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-2&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-2&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>Migrating from Medium to a self-hosted Markdown pipeline, and the taxonomy pivot that followed when the initial article organization did not scale.</description>
    </item>
    <item>
      <title>Vibe Coding: Pairing with AI to Ship a Platform</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-1&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=solo-platform-engineering-vibe-coding-diary-part-1&amp;lang=en</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <description>How I built a full AWS-hosted portfolio platform solo by pairing with VS Code (Codex) — the methodology, the failures, and the tactics that actually worked.</description>
    </item>
    <item>
      <title>Future Directions</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-5-future-directions-and-sre-reflections&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-5-future-directions-and-sre-reflections&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>Future directions for the maintenance-mode tool, from Lambda and Slack automation to broader reflections on continuous improvement in SRE.</description>
    </item>
    <item>
      <title>Tools and Reflections</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-4-tools-and-reflections&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-4-tools-and-reflections&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>A practical recap of the DNS commands, lookup tools, and SRE lessons that helped resolve this misleading outage.</description>
    </item>
    <item>
      <title>Challenges During Development</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-4-challenges-behind-the-tool&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-4-challenges-behind-the-tool&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>The engineering detours behind the new tool, from legacy DNS confusion to WAF state tokens and CLB-to-ALB migration surprises.</description>
    </item>
    <item>
      <title>Response and Communication</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-3-response-and-communication&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-3-response-and-communication&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>How the team handled the NS rollback, customer communication, and propagation risk after a confusing DNS outage.</description>
    </item>
    <item>
      <title>Introduction to the New Tool</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-3-the-new-tool&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-3-the-new-tool&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>How a new AWS WAF-based maintenance-mode tool simplified architecture, removed DNS delays, and made allowlist management safer.</description>
    </item>
    <item>
      <title>DNS Background and Root Cause</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-2-dns-background-and-root-cause&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-2-dns-background-and-root-cause&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>A DNS primer and root-cause analysis of how a name server change made the same site appear both down and still reachable.</description>
    </item>
    <item>
      <title>About the Legacy System</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-2-the-legacy-system&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-2-the-legacy-system&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>A breakdown of the legacy maintenance-mode design, including DNS delays, duplicated infrastructure, and brittle ALB allowlist rules.</description>
    </item>
    <item>
      <title>Incident Alarm</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-1-incident-alarm&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-p0-incidents-site-unaccessible-but-accessible-part-1-incident-alarm&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>A P0 incident story that begins with every Pingdom node reporting downtime while the site still appears reachable from the team side.</description>
    </item>
    <item>
      <title>About This Series</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-1-introduction-and-requirements&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=technical-devops-sre-diaries-building-a-reliable-maintenance-mode-part-1-introduction-and-requirements&amp;lang=en</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <description>An introduction to why maintenance mode matters in production systems and the operational requirements behind a reliable maintenance workflow.</description>
    </item>
    <item>
      <title>Pod-Level Validation</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=devops-sre-deep-dive-fine-grained-pod-security-in-eks-using-security-groups-part-3-pod&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=devops-sre-deep-dive-fine-grained-pod-security-in-eks-using-security-groups-part-3-pod&amp;lang=en</guid>
      <pubDate>Fri, 18 Jul 2025 00:00:00 GMT</pubDate>
      <description>Following Part 2, now that your nodes are configured with Trunk ENIs, let’s test how EKS assigns Branch ENIs with custom security groups</description>
    </item>
    <item>
      <title>Infrastructure Validation</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=devops-sre-deep-dive-pod-security-in-eks-using-security-groups-part-2-infrastructure-validation&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=devops-sre-deep-dive-pod-security-in-eks-using-security-groups-part-2-infrastructure-validation&amp;lang=en</guid>
      <pubDate>Fri, 20 Jun 2025 00:00:00 GMT</pubDate>
      <description>EKS Pod-level Security: Setup Trunk ENIs, Validate Configuration</description>
    </item>
    <item>
      <title>Concepts and Architecture</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=devops-sre-deep-dive-fine-grained-pod-security-in-eks-using-security-groups-part-1-concepts&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=devops-sre-deep-dive-fine-grained-pod-security-in-eks-using-security-groups-part-1-concepts&amp;lang=en</guid>
      <pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate>
      <description>Assign unique security groups to EKS pods for tighter control.</description>
    </item>
    <item>
      <title>Understanding EKS Pod IP Allocation and ENI Mechanism</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=understanding-eks-pod-ip-allocation-and-eni-mechanism&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=understanding-eks-pod-ip-allocation-and-eni-mechanism&amp;lang=en</guid>
      <pubDate>Fri, 18 Apr 2025 00:00:00 GMT</pubDate>
      <description>This article breaks down how Amazon EKS assigns IP addresses to Pods using Elastic Network Interfaces (ENIs) on EC2 nodes.</description>
    </item>
    <item>
      <title>Redeployments, Backend Fixes, and Automation</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-8&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-8&amp;lang=en</guid>
      <pubDate>Sat, 22 Feb 2025 00:00:00 GMT</pubDate>
      <description>Discusses strategies to stabilize system performance under high load via redeployments, caching, and automated resource management.</description>
    </item>
    <item>
      <title>The Second Incident and Connection Imbalance</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-7&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-7&amp;lang=en</guid>
      <pubDate>Sat, 18 Jan 2025 00:00:00 GMT</pubDate>
      <description>System instability recurred during a new baseball season, highlighting database issues, connection imbalance, and RDS Proxy load balancing</description>
    </item>
    <item>
      <title>EngineCPU and Better Redis Monitoring</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-6&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-6&amp;lang=en</guid>
      <pubDate>Wed, 01 Jan 2025 00:00:00 GMT</pubDate>
      <description>This article explains Redis monitoring, differentiates CPU types, highlights EngineCPU’s importance, and proposes alerting strategies.</description>
    </item>
    <item>
      <title>ElastiCache Cluster Mode and the Wrong Target</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-5&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-5&amp;lang=en</guid>
      <pubDate>Sun, 01 Dec 2024 00:00:00 GMT</pubDate>
      <description>High CPU usage on the ElastiCache server led to the discovery of a misconfiguration.</description>
    </item>
    <item>
      <title>Validating the Long-Term Caching Solution</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-4&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-4&amp;lang=en</guid>
      <pubDate>Sat, 19 Oct 2024 00:00:00 GMT</pubDate>
      <description>We delve into the journey of moving from a short-term solution to a more sustainable, long-term approach by integrating a cache mechanism.</description>
    </item>
    <item>
      <title>Load Balancing Challenges and Client Negotiation</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-3&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-3&amp;lang=en</guid>
      <pubDate>Sat, 28 Sep 2024 00:00:00 GMT</pubDate>
      <description>We dive into the complexities and challenges encountered during system tuning and load balancing in a high-traffic baseball event.</description>
    </item>
    <item>
      <title>Database Bottlenecks and Short-Term Scaling</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-2&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-2&amp;lang=en</guid>
      <pubDate>Thu, 19 Sep 2024 00:00:00 GMT</pubDate>
      <description>The system bottleneck is the low scaling speed of our database. Two short-term strategies were developed for backend and database servers.</description>
    </item>
    <item>
      <title>The First Baseball Incident</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-1&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=handling-system-outages-caused-by-high-traffic-incidents-on-aws-ch-1&amp;lang=en</guid>
      <pubDate>Sun, 25 Aug 2024 00:00:00 GMT</pubDate>
      <description>This is a two-year-long operational challenge, focusing on how to handle unpredictable high-traffic incidents on AWS.</description>
    </item>
    <item>
      <title>A Complete Beginner Guide for Cache Penetration, Stampede, Avalanche</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=a-complete-beginner-guide-for-cache-penetration-stampede-avalanche&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=a-complete-beginner-guide-for-cache-penetration-stampede-avalanche&amp;lang=en</guid>
      <pubDate>Sun, 27 Mar 2022 00:00:00 GMT</pubDate>
      <description>In this article, I introduce three most famous cache issues and how to deal with them with real implementations.</description>
    </item>
    <item>
      <title>Using Nginx as Load Balancer with Node.js (Express)</title>
      <link>https://www.formoseaniap.com/engineer/article.html?id=using-nginx-as-load-balancer-with-node-js-express&amp;lang=en</link>
      <guid>https://www.formoseaniap.com/engineer/article.html?id=using-nginx-as-load-balancer-with-node-js-express&amp;lang=en</guid>
      <pubDate>Sat, 26 Mar 2022 00:00:00 GMT</pubDate>
      <description>In this article, I introduce the basic idea of load balancing with Nginx.</description>
    </item>
  </channel>
</rss>
