<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Avinash Gupta</title>
    <link>https://avinashgupta.in/</link>
    <description>Notes and incident postmortems by Avinash Gupta.</description>
    <language>en</language>
    <item><title>What I'm learning: Kubernetes, ArgoCD and Terraform</title><link>https://avinashgupta.in/notes/what-im-learning-devops</link><guid>https://avinashgupta.in/notes/what-im-learning-devops</guid><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><description>A learning log. I run production apps on one VM with Docker, PM2 and Nginx. Here is what I am learning next, why, and the plan.</description></item>
    <item><title>Making this portfolio not look AI-generated</title><link>https://avinashgupta.in/notes/making-this-portfolio-not-look-ai-generated</link><guid>https://avinashgupta.in/notes/making-this-portfolio-not-look-ai-generated</guid><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><description>A reel about Claude Code design skills started this site. How it went from a black page that looked like a LinkedIn profile to a paper page with a terminal on it.</description></item>
    <item><title>Building my own mini Vercel (Onawie)</title><link>https://avinashgupta.in/notes/building-my-own-mini-vercel</link><guid>https://avinashgupta.in/notes/building-my-own-mini-vercel</guid><pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate><description>I deploy many apps by hand, so I built a small platform that does it from a GitHub repo. How it works, what is hard about it, and where it stands.</description></item>
    <item><title>INC-004: A client's store went dark, and I debugged the wrong thing twice</title><link>https://avinashgupta.in/incidents/INC-004</link><guid>https://avinashgupta.in/incidents/INC-004</guid><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><description>I assumed the backend host was the problem, then a free-tier cold start. Both were wrong. The frontend actually lived on Cloudflare Pages, and a detach/reattach of the custom domain had left it stuck and deleted its DNS record.</description></item>
    <item><title>How I proved a campus firewall was filtering by hostname</title><link>https://avinashgupta.in/notes/reaching-a-server-behind-a-campus-firewall</link><guid>https://avinashgupta.in/notes/reaching-a-server-behind-a-campus-firewall</guid><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><description>A command that hung instead of failing, a test that showed the campus firewall was reading the TLS handshake, and what I learned about diagnosing network problems layer by layer.</description></item>
    <item><title>Users said our portal looked AI-generated, so I audited the design</title><link>https://avinashgupta.in/notes/our-portal-looked-ai-generated</link><guid>https://avinashgupta.in/notes/our-portal-looked-ai-generated</guid><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><description>The Intern Portal is React with Ant Design and Geist. Users said it looked AI-generated. What gave it away, and the approach I took to the audit.</description></item>
    <item><title>INC-002: One online assessment, three roles, one portal that couldn't model it</title><link>https://avinashgupta.in/incidents/INC-002</link><guid>https://avinashgupta.in/incidents/INC-002</guid><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><description>With my co-LSC from the technical team, I designed Ghost OA: a temporary 'conductor' that runs one shared OA and then distributes the results back to each real role. We shipped the backend the same night and ran it through manual API calls, then built a proper UI six days later so coordinators could run it themselves.</description></item>
    <item><title>INC-006: The cloud account running a client's production apps wasn't mine</title><link>https://avinashgupta.in/incidents/INC-006</link><guid>https://avinashgupta.in/incidents/INC-006</guid><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate><description>While recovering from INC-001, I checked who actually controlled the account. My own login had Administrator access, but ownership, billing and OTPs were tied to someone else's email. I worked out what I could change, and how to remove the recurring charge.</description></item>
    <item><title>INC-001: I deleted my own home directory on a production server</title><link>https://avinashgupta.in/incidents/INC-001</link><guid>https://avinashgupta.in/incidents/INC-001</guid><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><description>While removing an old project, a pasted command lost its line breaks and turned into rm -rf on my entire home directory. I recovered SSH access by rescuing the boot volume through a second instance, rebuilt every service, and hardened the server so a single typo can't do this again.</description></item>
    <item><title>INC-005: Moved a domain's DNS, and the business email quietly stopped</title><link>https://avinashgupta.in/incidents/INC-005</link><guid>https://avinashgupta.in/incidents/INC-005</guid><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate><description>The website records came across but MX, SPF and DKIM didn't. I traced it record by record until every mail check passed.</description></item>
    <item><title>A system I proposed to automate placement shortlists</title><link>https://avinashgupta.in/notes/placement-shortlist-automation</link><guid>https://avinashgupta.in/notes/placement-shortlist-automation</guid><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><description>A design I proposed for turning a shortlist spreadsheet into emails and a group chat, and why I would not use an automated WhatsApp number.</description></item>
    <item><title>Upgrading MongoDB to 7.0 on an ARM server, and backing it up to Google Drive</title><link>https://avinashgupta.in/notes/mongodb-7-upgrade-and-free-backups</link><guid>https://avinashgupta.in/notes/mongodb-7-upgrade-and-free-backups</guid><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><description>Compass warned that MongoDB 6.0 was end of life. How I upgraded to 7.0 on Ubuntu 22.04 ARM, and the daily Google Drive backup that came out of it.</description></item>
    <item><title>INC-003: Our production server was logging into campus Wi-Fi every 40 seconds</title><link>https://avinashgupta.in/incidents/INC-003</link><guid>https://avinashgupta.in/incidents/INC-003</guid><pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate><description>The server reached the internet through the campus captive portal (agnigarh), the same login page students use. A shell script logged it in again and again, because each session lasted about 40 seconds. Firewall policies kept changing, and whenever the loop broke, everything went down. The real fix wasn't code: emails, repeated visits to the network office and paperwork got the server direct internet access, and then the ports our portals needed.</description></item>
  </channel>
</rss>
