Writing
Articles, notes, and the things I learn while building. Subscribe via RSS.
Articles
- Cloudflare: Too Many Redirects Error when Proxying May 2024
- Up and Running with AWS EC2 Feb 2024
- Up and Running with AWS VPC Jan 2024
- Dynamically Load Ansible Inventory with EC2 IP Dec 2023
- Generate Terraform from existing AWS infrastructure Dec 2023
- Add Multiple SSH keys to an EC2 Server Nov 2023
- How to Monitor MySQL using Monit Oct 2023
- Hassle-free Metabase Setup using Systemctl Jul 2023
- Change and Persist Hostname in Linux Mar 2023
- Practical Guide to Port Knocking Mar 2023
- systemctl vs service in Linux Mar 2023
- System Design: Latency vs Throughput Jan 2023
- Target nth element in Tailwind Jan 2023
- Consistency Patterns in Distributed Systems Jan 2023
- Setup and Install PostgreSQL Using Docker Apr 2022
- How to push to a Different git Branch? Apr 2022
- How to get Username and Group in Linux Jan 2022
- RabbitMQ at Tajawal: A Case Study Sep 2018
Videos
I wanted to try my hand at motion graphics and animation, so I started the roadmap.sh YouTube channel, now at 250k+ subscribers and millions of views.
- Session Based Authentication ↗ Nov 2022
- Hash Table Data Structure ↗ Sep 2022
- Authentication Fundamentals ↗ Sep 2022
- Graph Data Structure ↗ Sep 2022
- Heap Data Structure ↗ Aug 2022
- Tree Data Structure ↗ Aug 2022
- Graph Data Structure ↗ Feb 2022
- Queue Data Structure ↗ Feb 2022
- Stack Data Structure ↗ Feb 2022
- Linked List Data Structure ↗ Jan 2022
- Array Data Structure ↗ Jan 2022
- Big O Notation: Calculating Time Complexity ↗ Dec 2021
- What is Eventual Consistency? ↗ Nov 2021
- SSH vs TLS vs SSL ↗ Nov 2021
- All About Asynchronous JavaScript ↗ Nov 2021
- Random Numbers: How They Work? ↗ Nov 2021
- Hash Table Data Structure ↗ Oct 2021
- Yaml in Depth ↗ Oct 2021
- Why 0.1 + 0.2 !== 0.3? ↗ Oct 2021
- What is CAP Theorem? ↗ Oct 2021
- ACID Explained ↗ Sep 2021
- All About Promises in JavaScript ↗ Mar 2021
- TCP/IP Model Explained ↗ Nov 2020
- OSI Model Explained ↗ Oct 2020
- Freeze and Seal Objects in JavaScript ↗ Oct 2020
- Everything You Need to Know About HTTP Caching ↗ Oct 2020
- Content Delivery Networks ↗ Sep 2020
- Transport Protocol: TCP vs UDP ↗ Sep 2020
- Load Balancers in Depth ↗ Sep 2020
- DNS Records ↗ Aug 2020
- DNS and How does it work ↗ Aug 2020
- System Design 101 ↗ Aug 2020
- JavaScript Fetch API ↗ Aug 2020
- How to Scale the Unscalable ↗ Jul 2020
- Automate with GitHub Actions ↗ Jul 2020
- What is Dependency Injection? ↗ Jul 2020
- CSS Variables ↗ Jul 2020
- DOM vs Shadow DOM vs Virual DOM ↗ Jun 2020
- Manipulating Arrays and Objects in JavaScript ↗ May 2020
Visual
I am a big fan of explaining things visually.
- Asymptotic Notation Mar 2023
- Async and Defer Script Loading Mar 2023
- Bash vs Shell Mar 2023
- Basic Authentication Mar 2023
- Big-O Notation Mar 2023
- Character Encodings Mar 2023
- What is CI and CD? Mar 2023
- DHCP in One Picture Mar 2023
- JetBrains IDEs: Git History Exploration Mar 2023
- JWT Authentication Mar 2023
- OAuth - Open Authorization Mar 2023
- Scaling Databases Mar 2023
- Session Based Authentication Mar 2023
- SSL vs TLS vs SSH Mar 2023
- SSO - Single Sign On Mar 2023
- Token Based Authentication Mar 2023
- Unfamiliar Codebase Mar 2023
- SLIs, SLOs and SLAs Mar 2023
- Random Numbers: Are they random? Nov 2021