<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kamran Ahmed</title>
    <link>https://kamran.fyi</link>
    <description>Articles, videos and visual explainers on engineering, products and the things I learn while building.</description>
    <language>en</language>
    <atom:link href="https://kamran.fyi/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Cloudflare: Too Many Redirects Error when Proxying</title>
      <link>https://kamran.fyi/posts/cloudflare-too-many-redirects</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/cloudflare-too-many-redirects</guid>
      <pubDate>Thu, 16 May 2024 00:00:00 GMT</pubDate>
      <description>Learn how to fix the Cloudflare Too Many Redirects error when proxying your website</description>
    </item>
    <item>
      <title>Up and Running with AWS EC2</title>
      <link>https://kamran.fyi/posts/up-and-running-with-aws-ec2</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/up-and-running-with-aws-ec2</guid>
      <pubDate>Sun, 04 Feb 2024 00:00:00 GMT</pubDate>
      <description>Learn everything you need to know to be productive with AWS EC2</description>
    </item>
    <item>
      <title>Up and Running with AWS VPC</title>
      <link>https://kamran.fyi/posts/up-and-running-with-aws-vpc</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/up-and-running-with-aws-vpc</guid>
      <pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate>
      <description>Learn everything you need to know to be productive with AWS VPC</description>
    </item>
    <item>
      <title>Dynamically Load Ansible Inventory with EC2 IP</title>
      <link>https://kamran.fyi/posts/dynamically-load-ip-address-for-ec2-in-ansible</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/dynamically-load-ip-address-for-ec2-in-ansible</guid>
      <pubDate>Mon, 25 Dec 2023 00:00:00 GMT</pubDate>
      <description>Learn how to dynamically populate the Ansible inventory with the IP address of EC2 instances.</description>
    </item>
    <item>
      <title>Generate Terraform from existing AWS infrastructure</title>
      <link>https://kamran.fyi/posts/generate-terraform-from-infrastructure</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/generate-terraform-from-infrastructure</guid>
      <pubDate>Tue, 05 Dec 2023 00:00:00 GMT</pubDate>
      <description>Learn how to import AWS infrastructure into terraform using Terraformer</description>
    </item>
    <item>
      <title>Add Multiple SSH keys to an EC2 Server</title>
      <link>https://kamran.fyi/posts/add-multiple-ssh-keys-to-ec2</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/add-multiple-ssh-keys-to-ec2</guid>
      <pubDate>Thu, 16 Nov 2023 00:00:00 GMT</pubDate>
      <description>Learn how to add multiple SSH keys to an EC2 Server</description>
    </item>
    <item>
      <title>How to Monitor MySQL using Monit</title>
      <link>https://kamran.fyi/posts/monitor-mysql-using-monit</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/monitor-mysql-using-monit</guid>
      <pubDate>Sun, 22 Oct 2023 00:00:00 GMT</pubDate>
      <description>Learn how to monitor and auto-restart MySQL using monit on failure</description>
    </item>
    <item>
      <title>Hassle-free Metabase Setup using Systemctl</title>
      <link>https://kamran.fyi/posts/setup-metabase-using-systemctl</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/setup-metabase-using-systemctl</guid>
      <pubDate>Sun, 23 Jul 2023 00:00:00 GMT</pubDate>
      <description>Learn how to setup Metabase using Systemctl</description>
    </item>
    <item>
      <title>Asymptotic Notation</title>
      <link>https://kamran.fyi/posts/asymptotic-notation</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/asymptotic-notation</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn the basics of measuring the time and space complexity of algorithms</description>
    </item>
    <item>
      <title>Async and Defer Script Loading</title>
      <link>https://kamran.fyi/posts/avoid-render-blocking-javascript-with-async-defer</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/avoid-render-blocking-javascript-with-async-defer</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn how to avoid render blocking JavaScript using async and defer scripts.</description>
    </item>
    <item>
      <title>Bash vs Shell</title>
      <link>https://kamran.fyi/posts/bash-vs-shell</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/bash-vs-shell</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn the difference between Bash and Shell</description>
    </item>
    <item>
      <title>Basic Authentication</title>
      <link>https://kamran.fyi/posts/basic-authentication</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/basic-authentication</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Understand what is basic authentication and how it is implemented</description>
    </item>
    <item>
      <title>Big-O Notation</title>
      <link>https://kamran.fyi/posts/big-o-notation</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/big-o-notation</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Easy to understand explanation of Big-O notation without any fancy terms</description>
    </item>
    <item>
      <title>Change and Persist Hostname in Linux</title>
      <link>https://kamran.fyi/posts/change-hostname-in-linux</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/change-hostname-in-linux</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn about Change and persist hostname in Linux.</description>
    </item>
    <item>
      <title>Character Encodings</title>
      <link>https://kamran.fyi/posts/character-encodings</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/character-encodings</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Covers the basics of character encodings and explains ASCII vs Unicode</description>
    </item>
    <item>
      <title>What is CI and CD?</title>
      <link>https://kamran.fyi/posts/ci-cd</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/ci-cd</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn the basics of CI/CD and how to implement that with GitHub Actions.</description>
    </item>
    <item>
      <title>DHCP in One Picture</title>
      <link>https://kamran.fyi/posts/dhcp</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/dhcp</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Here is what happens when a new device joins the network.</description>
    </item>
    <item>
      <title>JetBrains IDEs: Git History Exploration</title>
      <link>https://kamran.fyi/posts/jetbrains-look-through-the-git-history</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/jetbrains-look-through-the-git-history</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn how to view the history of your favorite projects</description>
    </item>
    <item>
      <title>JWT Authentication</title>
      <link>https://kamran.fyi/posts/jwt-authentication</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/jwt-authentication</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Understand what is JWT authentication and how is it implemented</description>
    </item>
    <item>
      <title>OAuth - Open Authorization</title>
      <link>https://kamran.fyi/posts/oauth</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/oauth</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn and understand what is OAuth and how it works</description>
    </item>
    <item>
      <title>Scaling Databases</title>
      <link>https://kamran.fyi/posts/scaling-databases</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/scaling-databases</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn the ups and downs of different database scaling strategies</description>
    </item>
    <item>
      <title>Session Based Authentication</title>
      <link>https://kamran.fyi/posts/session-authentication</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/session-authentication</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Understand what is session based authentication and how it is implemented</description>
    </item>
    <item>
      <title>SSL vs TLS vs SSH</title>
      <link>https://kamran.fyi/posts/ssl-tls-https-ssh</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/ssl-tls-https-ssh</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Quick tidbit on the differences between SSL, TLS, HTTPS and SSH</description>
    </item>
    <item>
      <title>SSO - Single Sign On</title>
      <link>https://kamran.fyi/posts/sso</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/sso</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn the basics of SAML and understand how does Single Sign On work.</description>
    </item>
    <item>
      <title>Token Based Authentication</title>
      <link>https://kamran.fyi/posts/token-authentication</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/token-authentication</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Understand what is token based authentication and how it is implemented</description>
    </item>
    <item>
      <title>Unfamiliar Codebase</title>
      <link>https://kamran.fyi/posts/unfamiliar-codebase</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/unfamiliar-codebase</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Tips on getting familiar with an unfamiliar codebase</description>
    </item>
    <item>
      <title>SLIs, SLOs and SLAs</title>
      <link>https://kamran.fyi/posts/what-is-sli-slo-sla</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/what-is-sli-slo-sla</guid>
      <pubDate>Thu, 23 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn what are different indicators for performance identification of any service.</description>
    </item>
    <item>
      <title>Practical Guide to Port Knocking</title>
      <link>https://kamran.fyi/posts/port-knocking-explained</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/port-knocking-explained</guid>
      <pubDate>Tue, 14 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn what port knocking is and how to implement it using Knockd.</description>
    </item>
    <item>
      <title>systemctl vs service in Linux</title>
      <link>https://kamran.fyi/posts/systemctl-vs-service</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/systemctl-vs-service</guid>
      <pubDate>Sat, 11 Mar 2023 00:00:00 GMT</pubDate>
      <description>Learn the difference between systemctl and service commands in Linux</description>
    </item>
    <item>
      <title>System Design: Latency vs Throughput</title>
      <link>https://kamran.fyi/posts/latency-vs-throughput</link>
      <guid isPermaLink="true">https://kamran.fyi/posts/latency-vs-throughput</guid>
      <pubDate>Thu, 19 Jan 2023 00:00:00 GMT</pubDate>
      <description>Learn the difference between these two important measures of system performance.</description>
    </item>
  </channel>
</rss>