# Akash Rajpurohit Hi! I'm Akash Rajpurohit, a self-taught software developer based in India. I specialize in developing web applications and cross-platform mobile applications using modern technologies. Website: https://akashrajpurohit.com Email: me@akashrajpurohit.com GitHub: https://github.com/AkashRajpurohit Twitter: https://x.com/AkashWhoCodes --- ## Blog: Initial VPS Setup Checklist - first 30 minutes on a fresh server URL: https://akashrajpurohit.com/blog/initial-vps-setup-checklist-first-30-minutes/ Essential security hardening commands to secure your fresh VPS fast. No lengthy explanations - just the commands that work. Tags: devops Published: 9/25/2025 --- ## Blog: Engineers Are Like Servers URL: https://akashrajpurohit.com/blog/engineers-are-like-servers/ Why managing engineers at 100% capacity is like maxing out your servers - it leaves no headroom for when the real challenges hit. Tags: engineering Published: 9/23/2025 --- ## Blog: Redlib — Self-hosted Reddit browsing without the bloat URL: https://akashrajpurohit.com/blog/redlib-selfhosted-reddit-browsing-without-the-bloat/ Redlib is a blazing-fast, privacy-first alternative frontend for Reddit built in Rust. Born from the ashes of Libreddit's rate limiting issues, it provides a clean, ad-free Reddit browsing experience while keeping your data private and secure. Tags: selfhosted Published: 9/18/2025 --- ## Blog: Rybbit — Privacy-focused open-source analytics that actually makes sense URL: https://akashrajpurohit.com/blog/rybbit-privacy-focused-open-source-analytics-platform/ Rybbit is a modern, privacy-first analytics platform that serves as a compelling alternative to Google Analytics. With features like session replay, real-time dashboards, and zero-cookie tracking, it's perfect for privacy-conscious developers who want comprehensive analytics without compromising user privacy. Tags: selfhosted Published: 9/11/2025 --- ## Blog: SafeLine WAF — Self-Hosted Web Application Firewall for Your Homelab URL: https://akashrajpurohit.com/blog/safeline-waf-protecting-your-web-applications-with-selfhosted-security/ Discover SafeLine WAF, an intelligent self-hosted Web Application Firewall that uses AI to protect your web services. Complete setup guide with real-world testing and homelab integration tips. Tags: selfhosted, security Published: 8/11/2025 --- ## Blog: Fail2ban — Protecting Your Homelab from Brute Force Attacks URL: https://akashrajpurohit.com/blog/fail2ban-protecting-your-homelab-from-brute-force-attacks/ Learn how to secure your homelab with fail2ban, an intrusion prevention tool that automatically blocks malicious IP addresses. Complete setup guide with Discord notifications and best practices. Tags: selfhosted, security Published: 8/7/2025 --- ## Blog: SearXNG — Privacy-focused metasearch engine for your homelab URL: https://akashrajpurohit.com/blog/selfhost-searxng-for-privacy-focused-search/ SearXNG is a privacy-focused metasearch engine that aggregates results from various search engines. Learn how to set it up and configure it for optimal privacy and performance. Tags: selfhosted Published: 4/17/2025 --- ## Blog: Stirling PDF — Self-hosted PDF manipulation powerhouse URL: https://akashrajpurohit.com/blog/selfhost-stirling-pdf-for-pdf-manipulation/ Stirling PDF is a powerful, locally hosted web application that allows you to perform various operations on PDF files. Learn how to set it up and automate PDF processing in your homelab. Tags: selfhosted Published: 4/3/2025 --- ## Blog: n8n — Powerful automation for your homelab services URL: https://akashrajpurohit.com/blog/setup-n8n-for-homelab-automation/ n8n is a powerful workflow automation tool that helps you connect and automate your self-hosted services. Perfect for creating custom workflows and integrations in your homelab. Tags: selfhosted Published: 3/20/2025 --- ## Blog: Paperless-ngx — Self-hosted document management that actually makes sense URL: https://akashrajpurohit.com/blog/selfhost-paperless-ngx-for-document-management/ Paperless-ngx is a powerful document management system that helps you go paperless by automatically organizing and making your documents searchable. Perfect for managing bills, receipts, and important documents in your homelab. Tags: selfhosted Published: 3/6/2025 --- ## Blog: Immich — Self-hosted Google Photos alternative that actually works URL: https://akashrajpurohit.com/blog/selfhost-immich-your-personal-google-photos-alternative/ Immich is a high-performance, self-hosted photo and video backup solution that rivals Google Photos in features and user experience. Perfect for taking control of your precious memories while maintaining the convenience of cloud photo services. Tags: selfhosted Published: 2/20/2025 --- ## Blog: Getting paid in foreign currency as a software developer in India URL: https://akashrajpurohit.com/blog/getting-paid-in-foreign-currency-as-a-software-developer-in-india/ A comprehensive guide for Indian software developers working with foreign clients on how to receive payments, handle taxes, and manage GST compliance. Learn about payment platforms, tax implications, and best practices. Tags: personal Published: 2/16/2025 --- ## Blog: Authelia — Self-hosted Single Sign-On (SSO) for your homelab services URL: https://akashrajpurohit.com/blog/setup-authelia-for-sso-authentication/ Authelia is a powerful authentication and authorization server that provides secure Single Sign-On (SSO) for all your self-hosted services. Perfect for adding an extra layer of security to your homelab. Tags: selfhosted, security Published: 2/5/2025 --- ## Blog: Speedtest Tracker — Monitor your internet speed with beautiful graphs URL: https://akashrajpurohit.com/blog/monitor-internet-speed-with-speedtest-tracker/ Speedtest Tracker is a self-hosted internet speed monitoring tool that helps you track your ISP's performance over time. Perfect for ensuring you're getting the speeds you're paying for. Tags: selfhosted Published: 1/14/2025 --- ## Blog: Ntfy — Self-hosted push notification server for all your services URL: https://akashrajpurohit.com/blog/selfhost-ntfy-for-push-notifications/ Ntfy is a simple yet powerful pub-sub notification service that lets you send push notifications to your phone or desktop from any of your self-hosted services. Perfect for monitoring, alerts, and automation in your homelab. Tags: selfhosted Published: 1/2/2025 --- ## Blog: My self hosting journey in 2024 URL: https://akashrajpurohit.com/blog/my-self-hosting-journey-in-2024/ 2024 has been an amazing year for my homelab journey. From upgrading hardware to implementing Infrastructure as Code, and exploring new services, here is a recap of my self-hosting adventures this year. Tags: homelab, personal Published: 12/31/2024 --- ## Blog: MeTube — Self-hosted YouTube downloader with a sleek web interface URL: https://akashrajpurohit.com/blog/metube-selfhosted-youtube-downloader-with-a-sleek-web-interface/ MeTube is a web UI for youtube-dl/yt-dlp that allows you to download videos from YouTube and other platforms. It's perfect for archiving your favorite content or downloading videos for offline viewing. Tags: selfhosted Published: 12/18/2024 --- ## Blog: Setup Caddy with automatic SSL certificates with Cloudflare URL: https://akashrajpurohit.com/blog/setup-caddy-with-automatic-ssl-certificates-with-cloudflare/ Recently I migrated my homelab from using Nginx with local domain certificates to using Caddy with automatic SSL certificates from Cloudflare. This post will go over the steps I took to set up Caddy with Cloudflare. Tags: homelab, networking Published: 12/4/2024 --- ## Blog: Automatically Update AWS Security Group with Your Dynamic IP URL: https://akashrajpurohit.com/blog/automatically-update-aws-security-group-with-your-dynamic-ip/ Learn how to automate updating your AWS security group with your current IP address using a simple Bash script. Perfect for users with dynamic or CGNAT IPs who need secure, seamless access to their resources like bastion servers. Tags: bash, devops Published: 11/21/2024 --- ## Blog: PairDrop — Transfer files between devices seamlessly URL: https://akashrajpurohit.com/blog/pairdrop-transfer-files-between-devices-seamlessly/ PairDrop is a self-hosted file transfer service that allows you to transfer files between devices seamlessly. It is a great alternative to services like Airdrop, Snapdrop, and ShareDrop. Tags: selfhosted Published: 10/12/2024 --- ## Blog: Mount a drive permanently with fstab in Linux URL: https://akashrajpurohit.com/blog/mount-a-drive-permanently-with-fstab-in-linux/ Let's see how to mount a drive permanently in Linux using the fstab file which will mount the drive automatically on boot. Tags: linux Published: 9/7/2024 --- ## Blog: Learning Through Building — Engineering Advices URL: https://akashrajpurohit.com/blog/learning-through-building-engineering-advices/ Over the years, I have learned a lot of things through building projects. In this post, I will be sharing some of the advices that I have learned through my journey. Tags: engineering Published: 8/23/2024 --- ## Blog: Setup Jellyfin with Hardware Acceleration on Orange Pi 5 (Rockchip RK3558) URL: https://akashrajpurohit.com/blog/setup-jellyfin-with-hardware-acceleration-on-orange-pi-5-rockchip-rk3558/ Recently I moved my Jellyfin to an Orange Pi 5 Plus server. The Orange Pi 5 has a Rockchip RK3558 SoC with integrated ARM Mali-G610. This guide will show you how to set up Jellyfin with hardware acceleration on the Orange Pi 5. Tags: linux, homelab Published: 6/25/2024 --- ## Blog: Jellyfin + arr stack — Self-hosted media streaming in my Homelab URL: https://akashrajpurohit.com/blog/jellyfin-arr-stack-selfhosted-media-streaming-in-my-homelab/ Since ages, I have been collecting lots of movies, TV shows, and music. Ever since I got into self hosting, I have been looking for a way to stream my media collection to my devices. Jellyfin is the perfect solution for this. Tags: selfhosted Published: 6/11/2024 --- ## Blog: Syncing made easy with Syncthing URL: https://akashrajpurohit.com/blog/syncing-made-easy-with-syncthing/ Syncthing is one of those tools which have made my life easier. It is a decentralized file synchronization tool which is open source and free to use. Learn how to set it up and use it. Tags: selfhosted Published: 6/4/2024 --- ## Blog: Optimizing cAdvisor for Lower CPU Usage URL: https://akashrajpurohit.com/blog/optimizing-cadvisor-for-lower-cpu-usage/ So you are seeing high CPU usage from cAdvisor, well I was too. Here is how I fixed it. Tags: docker Published: 5/21/2024 --- ## Blog: Welcoming a new member to my Homelab — A Orange Pi 5 Plus URL: https://akashrajpurohit.com/blog/welcoming-a-new-member-to-my-homelab-a-orange-pi-5-plus/ Happy to share that I have added a new member to my homelab, a Orange Pi 5 Plus. In this post, I will share the specs and the initial setup process. Tags: homelab Published: 5/14/2024 --- ## Blog: Tailscale — Accessing Homelab services outside my network URL: https://akashrajpurohit.com/blog/tailscale-accessing-homelab-services-outside-my-network/ Tailscale is another service that I use in my homelab setup to access my services outside my network. It's a VPN service that makes it easy to access your devices, services, and networks securely. Tags: homelab, selfhosted, networking Published: 5/7/2024 --- ## Blog: How I use GPG in my day to day workflows URL: https://akashrajpurohit.com/blog/how-i-use-gpg-in-my-day-to-day-workflows/ GPG is a powerful tool that allows you to encrypt and sign your data and communications. In this post, I will explain how I use GPG in my day to day workflows. Tags: security Published: 4/23/2024 --- ## Blog: What is GPG and why you should start using it URL: https://akashrajpurohit.com/blog/what-is-gpg-and-why-you-should-start-using-it/ GPG is a tool that allows you to encrypt and sign your data and communications. In this post, I will explain what GPG is and why you should start using it in your workflows if you aren't already. Tags: security Published: 4/16/2024 --- ## Blog: Ansible — Configuration as Code for building up my Homelab URL: https://akashrajpurohit.com/blog/ansible-infrastructure-as-a-code-for-building-up-my-homelab/ I have been using Ansible to manage my homelab infrastructure. It's a great tool to automate the deployment and configuration of servers and services. Let me share with you how I use Ansible to manage my homelab. Tags: homelab Published: 4/9/2024 --- ## Blog: AdGuard Home — Network Wide Ad Blocking in your Homelab URL: https://akashrajpurohit.com/blog/adguard-home-network-wide-ad-blocking-in-your-homelab/ Let's talk about AdGuardHome, a network-wide ad blocking software that you can run in your homelab. It's a great way to block ads and trackers on your network without having to install ad blockers on every device. Tags: selfhosted, networking Published: 4/2/2024 --- ## Blog: Nginx — The reverse proxy in my Homelab URL: https://akashrajpurohit.com/blog/nginx-the-reverse-proxy-in-my-homelab/ Nginx is a powerful reverse proxy that I use in my homelab to expose services to the internet. In this post, I'll show you how I use it and how you can use it too. Tags: homelab, networking Published: 3/26/2024 --- ## Blog: Resolving Missing Memory Stats in Docker Stats on Raspberry Pi URL: https://akashrajpurohit.com/blog/resolving-missing-memory-stats-in-docker-stats-on-raspberry-pi/ Running Docker containers on your Raspberry Pi can be a great way to explore different software and services. However, encountering issues with retrieving memory usage information using docker stats can be frustrating. In this blog post will dive into the common reasons behind missing memory stats and guide you through the troubleshooting steps to resolve them. Tags: docker, raspberrypi Published: 3/24/2024 --- ## Blog: Building a Read-Heavy System: Key Considerations for Success URL: https://akashrajpurohit.com/blog/building-a-readheavy-system-key-considerations-for-success/ In this article, we will discuss the key considerations for building a read-heavy system and how to ensure its success. Tags: system design Published: 3/21/2024 --- ## Blog: Building a Write-Heavy System: Key Considerations for Success URL: https://akashrajpurohit.com/blog/building-a-writeheavy-system-key-considerations-for-success/ In this article, we'll discuss crucial considerations that can guide you towards success in building a write-heavy system and help you navigate the complexities of managing high volumes of write operations. Tags: system design Published: 3/18/2024 --- ## Blog: Tackling Thundering Herd Problem effectively URL: https://akashrajpurohit.com/blog/tackling-thundering-herd-problem-effectively/ In this article, we will discuss what is the thundering herd problem and how you can tackle it effectively when designing a system. Tags: system design Published: 3/15/2024 --- ## Blog: How the Bulkhead Pattern Can Fortify Your System URL: https://akashrajpurohit.com/blog/how-the-bulkhead-pattern-can-fortify-your-system/ In this article we will explore the Bulkhead pattern, a pattern that can help you build more resilient systems. Tags: system design Published: 3/12/2024 --- ## Blog: Exploring OverTheWire: Level 20 to Level 21 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-20-to-level-21-bandit-challenge/ Welcome back to our captivating journey through the Bandit Challenge! In this blog post, we're geared up to conquer Level 21, where a setuid binary introduces a novel challenge involving network connections. Join me as we delve into the mechanics of connecting to localhost, reading text, and successfully obtaining the password to proceed. Let's dive in! Tags: overthewire Published: 3/9/2024 --- ## Blog: Exploring OverTheWire: Level 19 to Level 20 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-19-to-level-20-bandit-challenge/ Welcome back to our thrilling journey through the Bandit Challenge! In this blog post, we're poised to conquer Level 20, where we encounter a setuid binary that holds the key to our progress. Join me as we explore the concept of setuid binaries, learn how to execute them, and successfully uncover the password to continue our journey. Let's dive in! Tags: overthewire Published: 3/7/2024 --- ## Blog: Exploring OverTheWire: Level 18 to Level 19 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-18-to-level-19-bandit-challenge/ Welcome back to our riveting journey through the Bandit Challenge! In this blog post, we're set to conquer Level 19, where a password is concealed within a file. However, a clever twist awaits us—someone has tampered with the system to log us out during SSH login. Join me as we navigate through this challenge using commands like ssh, ls, and cat, all while devising strategies to overcome the unexpected hurdle. Let's dive in! Tags: overthewire Published: 3/6/2024 --- ## Blog: Exploring OverTheWire: Level 17 to Level 18 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-17-to-level-18-bandit-challenge/ Welcome back to our captivating journey through the Bandit Challenge! In this blog post, we're set to conquer Level 18, where our mission is to identify the password that has been changed between two files. Join me as we explore file comparisons, employ commands like cat, grep, and diff, and successfully uncover the password to progress further. Let's dive in! Tags: overthewire Published: 3/3/2024 --- ## Blog: Exploring OverTheWire: Level 16 to Level 17 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-16-to-level-17-bandit-challenge/ Welcome back to our exhilarating journey through the Bandit Challenge! In this blog post, we're poised to conquer Level 17, where we're tasked with submitting the current level's password to a port within a specific range on localhost. Our challenge is to identify the correct port, establish a connection, and retrieve the next set of credentials. Join me as we navigate through port scanning, network exploration, and gain access to the coveted credentials. Let's dive in! Tags: overthewire Published: 2/29/2024 --- ## Blog: Exploring OverTheWire: Level 15 to Level 16 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-15-to-level-16-bandit-challenge/ Welcome back to our captivating journey through the Bandit Challenge! In this blog post, we're poised to conquer Level 16, where the path to victory lies in submitting the current level's password to a specific port on localhost using SSL encryption. Join me as we navigate through secure socket layers, SSL encryption, and gain access to the coveted password. Let's dive in! Tags: overthewire Published: 2/25/2024 --- ## Blog: Exploring OverTheWire: Level 14 to Level 15 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-14-to-level-15-bandit-challenge/ Welcome back to our enthralling voyage through the Bandit Challenge! In this blog post, we're set to conquer Level 15, where the key to success lies in submitting the current level's password to a specific port on localhost. Join me as we delve into port communication, networking concepts, and gain access to the coveted password. Let's dive in! Tags: overthewire Published: 2/22/2024 --- ## Blog: Exploring OverTheWire: Level 13 to Level 14 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-13-to-level-14-bandit-challenge/ Welcome back to our adventurous journey through the Bandit Challenge! In this blog post, we'll conquer Level 14, where we'll obtain a private SSH key that grants us access to the next level. Join me as we navigate through secure connections, employ cryptographic tools, and use the obtained key to log into the next level. Let's dive in! Tags: overthewire Published: 2/19/2024 --- ## Blog: Exploring OverTheWire: Level 12 to Level 13 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-12-to-level-13-bandit-challenge/ Welcome back to our exhilarating journey through the Bandit Challenge! In this blog post, we'll conquer Level 13, where we'll encounter a password stored in a file that has been repeatedly compressed and is represented as a hexdump. Join me as we navigate through the file system, extract the hexdump, decompress the file, and successfully obtain the password. Let's dive in! Tags: overthewire Published: 2/16/2024 --- ## Blog: Exploring OverTheWire: Level 11 to Level 12 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-11-to-level-12-bandit-challenge/ Welcome back to our thrilling adventure through the Bandit Challenge! In this blog post, we'll conquer Level 12, where we'll encounter a password stored in a file where all the letters have been rotated by 13 positions. Join me as we navigate through the file system, decipher the rotated letters, and successfully extract the password. Let's dive in! Tags: overthewire Published: 2/13/2024 --- ## Blog: Exploring OverTheWire: Level 10 to Level 11 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-10-to-level-11-bandit-challenge/ Welcome back to our exciting journey through the Bandit Challenge! In this blog post, we'll tackle Level 11, where we'll encounter a password stored in a file containing base64 encoded data. Join me as we navigate through the file system, decode the base64 data, and successfully extract the password. Let's dive in! Tags: overthewire Published: 2/8/2024 --- ## Blog: Self-Host Vaultwarden with Scheduled Backups URL: https://akashrajpurohit.com/blog/selfhost-vaultwarden-with-scheduled-backups/ In this article, I will show you how to self-host Vaultwarden along with a backup solution that will periodically backup your data safely. Tags: selfhosted Published: 2/5/2024 --- ## Blog: HTTPS with self-signed certificates for your Homelab services URL: https://akashrajpurohit.com/blog/https-with-selfsigned-certificates-for-your-homelab-services/ In this article we will deep dive into understanding how we can setup HTTPS with self-signed certificates for our Homelab services.This is often required when you are running your own services and you want to access them over HTTPS. Tags: linux, homelab Published: 1/30/2024 --- ## Blog: Setup Shareable Drive with Samba in Linux URL: https://akashrajpurohit.com/blog/setup-shareable-drive-with-samba-in-linux/ In this article we will setup a shareable drive in Linux with SMB. We will learn how to setup the share directory using Samba on server and how to mount it on client. Tags: linux, homelab, networking Published: 1/25/2024 --- ## Blog: Setup Shareable Drive with NFS in Linux URL: https://akashrajpurohit.com/blog/setup-shareable-drive-with-nfs-in-linux/ In this article we will learn how to setup a shareable drive with NFS in Linux. We will see the steps to setup NFS server and mount the drive on a client machine. Tags: networking, linux, homelab Published: 1/22/2024 --- ## Blog: Linkding: Self Hosted Bookmark Manager URL: https://akashrajpurohit.com/blog/linkding-self-hosted-bookmark-manager/ In this post I will show you how to setup Linkding, a self hosted bookmark manager that I am personally using for a while now and I am very happy with it. I will also share with you my setup and how I am using it. Tags: selfhosted Published: 1/16/2024 --- ## Blog: Safely Backup PostgreSQL Database in Docker / Podman Containers URL: https://akashrajpurohit.com/blog/safely-backup-postgresql-database-in-docker-podman-containers/ In this article, we will learn how to safely backup PostgreSQL database in Docker/Podman containers safely. We will also learn how to restore the database from the backup. Tags: postgres, docker Published: 1/12/2024 --- ## Blog: Fix Sudo not asking Password on Raspberry Pi URL: https://akashrajpurohit.com/blog/fix-sudo-not-asking-password-on-raspberry-pi/ If you have installed a fresh copy of Debian or Raspbian on your Raspberry Pi you might notice that sudo does not ask for a password. This is a security risk and should be fixed. Let's see how to fix it. Tags: raspberrypi Published: 1/9/2024 --- ## Blog: Increase Swap Memory on Raspberry Pi URL: https://akashrajpurohit.com/blog/increase-swap-memory-on-raspberry-pi/ There can be multiple scenarios where you need to increase the swap memory size on your Raspberry Pi. This post will show you how to do it. Tags: raspberrypi Published: 1/5/2024 --- ## Blog: Update Wifi Password on Raspberry Pi in Headless Mode URL: https://akashrajpurohit.com/blog/update-wifi-password-on-raspberry-pi/ Changing the wifi password after the first installation can be tricky sometimes. Here is a quick guide on how to do it quickly and easily. Tags: raspberrypi Published: 1/2/2024 --- ## Blog: 2023 Unwrapped URL: https://akashrajpurohit.com/blog/2023-unwrapped/ Looking back a year and talking about how 2023 was for me Tags: personal Published: 12/30/2023 --- ## Blog: My self hosting journey in 2023 URL: https://akashrajpurohit.com/blog/my-self-hosting-journey-in-2023/ In the journey of homelabbing, I have started self hosting some really amazing services that I am using in my day to day life. This blog outlines what all service I am self hosting in my homelab and what I plan to explore in the upcoming year. Tags: homelab, personal Published: 12/29/2023 --- ## Blog: Exploring OverTheWire: Level 9 to Level 10 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-9-to-level-10-bandit-challenge/ Welcome back to our thrilling journey through the Bandit Challenge! In this blog post, we'll conquer Level 10, where we'll search for a password hidden within a file containing human-readable strings preceded by several '=' characters. Join me as we navigate the file system, utilize powerful commands, and extract the password from the strings. Let's dive in! Tags: overthewire Published: 12/28/2023 --- ## Blog: Exploring OverTheWire: Level 8 to Level 9 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-8-to-level-9-bandit-challenge/ Welcome back to our exciting journey through the Bandit Challenge! In this blog post, we'll conquer Level 9, where we'll search for a password hidden within a file that occurs only once. Join me as we navigate through the file system, utilize powerful commands, and identify the unique line containing the password. Let's dive in! Tags: overthewire Published: 12/25/2023 --- ## Blog: Exploring OverTheWire: Level 7 to Level 8 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-7-to-level-8-bandit-challenge/ Welcome back to our thrilling journey through the Bandit Challenge! In this blog post, we'll conquer Level 8 by searching for a password hidden within a file using specific keywords. Join me as we navigate the file system, employ powerful commands, and locate the password next to the word 'millionth'. Let's dive in! Tags: overthewire Published: 12/22/2023 --- ## Blog: Exploring OverTheWire: Level 6 to Level 7 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-6-to-level-7-bandit-challenge/ Welcome back to our thrilling journey through the Bandit Challenge! In this blog post, we'll tackle Level 7, where we're tasked with finding a password that possesses specific ownership and size properties. Join me as we navigate the server, employ essential commands, and uncover the password that meets the given criteria. Let's dive in! Tags: overthewire Published: 12/19/2023 --- ## Blog: Exploring OverTheWire: Level 5 to Level 6 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-5-to-level-6-bandit-challenge/ Welcome back to our thrilling journey through the Bandit Challenge! In this blog post, we'll conquer Level 6 by hunting for a password hidden within a file that possesses specific properties. Join me as we navigate the 'inhere' directory, utilize critical commands, and uncover the file that meets the given criteria. Let's dive in! Tags: overthewire Published: 12/17/2023 --- ## Blog: Exploring OverTheWire: Level 4 to Level 5 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-4-to-level-5-bandit-challenge/ Welcome back to our thrilling expedition through the Bandit Challenge! In this blog post, we'll conquer Level 5 by uncovering the password hidden within the only human-readable file in the 'inhere' directory. Join me as we navigate the file system, utilize crucial commands, and unravel the mystery of the human-readable file. Let's dive in! Tags: overthewire Published: 12/14/2023 --- ## Blog: Exploring OverTheWire: Level 3 to Level 4 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-3-to-level-4-bandit-challenge/ Welcome back to our exciting expedition through the Bandit Challenge! In this blog post, we'll conquer Level 4 by unearthing the password hidden within a hidden file located in the 'inhere' directory. Join me as we navigate the file system, utilize crucial commands, and unveil the secret of hidden files. Let's dive in! Tags: overthewire Published: 12/12/2023 --- ## Blog: Exploring OverTheWire: Level 2 to Level 3 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-2-to-level-3-bandit-challenge/ Welcome back to our thrilling adventure through the Bandit Challenge! In this blog post, we'll conquer Level 3 by unraveling the password hidden within a file with spaces in its filename. Join me as we navigate the file system, employ essential commands, and overcome the challenge of handling spaces in filenames. Let's dive in! Tags: overthewire Published: 12/10/2023 --- ## Blog: Exploring OverTheWire: Level 1 to Level 2 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-1-to-level-2-bandit-challenge/ Welcome back to our thrilling journey through the Bandit Challenge! In this blog post, we'll conquer Level 2 by unraveling the password hidden within a file with a unique name. Join me as we employ essential commands, unravel the mystery of the dashed filename, and unlock the next level. Let's dive in! Tags: overthewire Published: 12/5/2023 --- ## Blog: Exploring OverTheWire: Level 0 to Level 1 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-0-to-level-1-bandit-challenge/ Welcome back to our journey through the Bandit Challenge! In this blog post, we will conquer Level 1 by uncovering the password hidden within a file called 'readme.' Join me as we navigate through the home directory, utilize essential commands, and triumph over this challenge. Let's dive in! Tags: overthewire Published: 11/30/2023 --- ## Blog: Exploring OverTheWire: Level 0 - Bandit Challenge URL: https://akashrajpurohit.com/blog/exploring-overthewire-level-0-bandit-challenge/ Join me on an exciting journey as we explore the OverTheWire challenges! In this first blog post, we will dive into Level 0 of the Bandit Challenge. Discover the initial steps I took, the strategies I employed, and the valuable lessons I learned along the way. Get ready to unlock the world of cybersecurity! Tags: overthewire Published: 11/27/2023 --- ## Blog: AdGuard Home + Tailscale = Erase Ads on the Go URL: https://akashrajpurohit.com/blog/adguard-home-tailscale-erase-ads-on-the-go/ Fed up with pesky online ads? In this blog, I'll show you how a dynamic duo, AdGuard Home and Tailscale, can give you ad-free browsing anytime, anywhere. It's a technical adventure that's worth every click. Tags: homelab, selfhosted, networking Published: 11/24/2023 --- ## Blog: How I Safeguard Essential Data in My Homelab with Off-site Backup on Cloud URL: https://akashrajpurohit.com/blog/how-i-safeguard-essential-data-in-my-homelab-with-offsite-backup-on-cloud/ Data is the lifeblood of my homelab, and losing it would be a nightmare. Join me in exploring my backup strategy, featuring rclone and systemd, to keep my databases, vital data, and even passwords safe and sound in the cloud. Tags: homelab Published: 11/21/2023 --- ## Blog: Easily Backup your Local Data to the Cloud in Linux URL: https://akashrajpurohit.com/blog/easily-backup-your-local-data-to-the-cloud-in-linux/ In this digital age, securing your precious data is non-negotiable. Let's delve into the world of continuous backups using a nifty tool called rclone, perfect for tech-savvy folks. We'll even set up a backup with Google Drive as an example. Your data's future is in good hands! Tags: linux Published: 11/17/2023 --- ## Blog: Linux System Logs: An Overview of System Logs and How to Read Them URL: https://akashrajpurohit.com/blog/linux-system-logs-an-overview-of-system-logs-and-how-to-read-them/ Have you ever wondered where all the information about your system's activities and events is stored? Linux system logs contain a wealth of information that can help diagnose and troubleshoot system issues. In this article, we will give an overview of Linux system logs and explain how to read and interpret them. Tags: linux Published: 11/14/2023 --- ## Blog: Linux RAID Configurations for Data Redundancy and Performance URL: https://akashrajpurohit.com/blog/linux-raid-configurations-for-data-redundancy-and-performance/ RAID is a popular method of combining multiple physical storage devices into a single logical unit, for the purposes of improving data redundancy and/or performance. Linux has a number of built-in tools and configurations for managing RAID setups. In this article, we'll provide an overview of RAID and the different RAID levels, as well as examples of how to configure and manage RAID arrays in Linux. Tags: linux Published: 11/10/2023 --- ## Blog: How I setup SSH config for effectively managing multiple servers URL: https://akashrajpurohit.com/blog/how-i-setup-ssh-config-for-effectively-managing-multiple-servers/ Managing multiple servers can be a breeze with SSH configuration. Learn how to leverage the SSH config file to streamline your connections, enhance security, and make server management a whole lot smoother. Tags: linux, networking Published: 11/7/2023 --- ## Blog: Exploring the Linux File System URL: https://akashrajpurohit.com/blog/exploring-the-linux-file-system/ Welcome to a fascinating journey into the heart of the Linux operating system! In this blog, we'll take you on a tour of the Linux file system, unraveling the purpose and significance of each directory. Whether you're a curious enthusiast or a seasoned developer, join us as we explore the intricacies of this vital component of the Linux ecosystem. Tags: linux Published: 11/3/2023 --- ## Blog: Choosing the Right Data Storage Solution: SQL vs. NoSQL Databases URL: https://akashrajpurohit.com/blog/choosing-the-right-data-storage-solution-sql-vs-nosql-databases/ Navigating the world of data storage solutions can be like choosing the perfect tool for a job. Join me as we dive into the dynamic debate of SQL and NoSQL databases, understanding their strengths, limitations, and where they best fit in real-world scenarios. Tags: system design, database Published: 10/31/2023 --- ## Blog: Raft and Paxos: Distributed Consensus Algorithms URL: https://akashrajpurohit.com/blog/raft-and-paxos-distributed-consensus-algorithms/ Dive into the world of distributed systems and unravel the mysteries of consensus algorithms with Raft and Paxos. In this blog, we'll embark on a human-to-human exploration, discussing the inner workings of these two popular consensus algorithms. If you have a solid grasp of technical concepts and a curious mind eager to understand how distributed systems achieve consensus, this guide is your ticket to clarity! Tags: system design Published: 10/27/2023 --- ## Blog: Understanding Load Balancing Algorithms: Round-robin and Consistent Hashing URL: https://akashrajpurohit.com/blog/understanding-load-balancing-algorithms-roundrobin-and-consistent-hashing/ Welcome to the world of load balancing algorithms, where we unravel the magic behind Round-robin and Consistent Hashing. If you have a solid grasp of technical concepts and are eager to understand how these algorithms efficiently distribute traffic across servers, this blog is your ultimate guide. We'll embark on a human-to-human conversation, exploring the inner workings of Round-robin and Consistent Hashing, and how they keep our systems scalable and performant. Tags: system design Published: 10/23/2023 --- ## Blog: Dealing with Cache Avalanche to Safeguard Your System URL: https://akashrajpurohit.com/blog/dealing-with-cache-avalanche-to-safeguard-your-system/ In the vast digital landscape, ensuring your web applications perform seamlessly is paramount. Yet, a phenomenon called 'Cache Avalanche' can bring your application to a grinding halt. Fear not, for in this guide, we'll demystify Cache Avalanche, delve into its intricacies, and equip you with actionable strategies to shield your system from its disruptive effects. Tags: system design Published: 10/20/2023 --- ## Blog: Caching Strategies: Understand Write-Through, Write-Behind, Read-Through, and Cache Aside URL: https://akashrajpurohit.com/blog/caching-strategies-understand-writethrough-writebehind-readthrough-and-cacheaside/ Welcome to the world of caching strategies, where we unravel the mysteries of optimizing data access with Write-Through, Write-Behind, Read-Through, and Cache Aside techniques. If you're a technically sound developer seeking to supercharge your application's performance, this blog is your compass. Let's embark on a human-to-human exploration of caching strategies, understanding how they work under the hood and how to wield them to unlock the full potential of your applications. Tags: system design Published: 10/17/2023 --- ## Blog: Fair Resource Allocation: Understand Rate Limiting and Throttling URL: https://akashrajpurohit.com/blog/fair-resource-allocation-understand-rate-limiting-and-throttling/ Dive into the world of rate limiting and throttling to ensure your applications play fair when it comes to resource allocation. Learn how these powerful techniques prevent overloading, maintain system stability, and create a smoother experience for users. Tags: system design Published: 10/13/2023 --- ## Blog: Eventual Consistency and Consistency Models in Distributed Systems URL: https://akashrajpurohit.com/blog/eventual-consistency-and-consistency-models-in-distributed-systems/ Step into the fascinating world of distributed systems, where we unravel the mysteries of eventual consistency and various consistency models. Join me in this human-to-human conversation as we explore the subtle balance between data availability and integrity in distributed environments. If you're a technically sound enthusiast seeking to navigate the complexities of consistency models, this blog is your guiding light to achieve harmony in distributed systems. Tags: system design Published: 10/9/2023 --- ## Blog: Distributed Transactions: Navigating the Complex World of Data Consistency URL: https://akashrajpurohit.com/blog/distributed-transactions-navigating-the-complex-world-of-data-consistency/ Delve into the realm of distributed transactions and unravel the secrets of maintaining data consistency across multiple systems. Join me as we explore the challenges and solutions in handling distributed transactions, and learn how to ensure data integrity in a distributed environment. Tags: system design Published: 10/5/2023 --- ## Blog: Handling Failures in Distributed Systems: The Circuit Breaker Pattern Explained URL: https://akashrajpurohit.com/blog/handling-failures-in-distributed-systems-the-circuit-breaker-pattern-explained/ Discover how the Circuit Breaker Pattern empowers developers to handle failures gracefully in distributed systems. Learn how this powerful mechanism ensures your applications stay resilient and responsive, even when facing turbulent conditions. Tags: system design Published: 10/1/2023 --- ## Blog: Should You Self-Host Password Managers On-Premises? URL: https://akashrajpurohit.com/blog/should-you-selfhost-password-managers-onpremises/ The idea of self-hosting your password manager on-premises has been a hot topic in the homelab community. But is it worth the effort and potential risks? I've gathered insights from experienced self-hosters to help you decide. Tags: homelab Published: 9/26/2023 --- ## Blog: Selecting the Right Git Merging Strategy: Merge Commit, Squash and Merge, or Rebase and Merge URL: https://akashrajpurohit.com/blog/selecting-the-right-git-merging-strategy-merge-commit-squash-and-merge-or-rebase-and-merge/ Uncover the intricacies of Git merging strategies – merge commit, squash and merge, and rebase and merge. Discover the pros and cons of each approach and learn how to navigate the decision-making process based on your project's dynamics and team preferences. Tags: git Published: 9/25/2023 --- ## Blog: I built my own in-house Newsletter system URL: https://akashrajpurohit.com/blog/i-built-my-own-inhouse-newsletter-system/ Discover how I transformed the need for a newsletter system, sparked by Revue's shutdown, into a fulfilling side project. Dive into the my journey of conceptualizing, breaking down, and building a custom newsletter system that seamlessly integrates with my website's content workflows. Tags: projects, engineering Published: 9/21/2023 --- ## Blog: SystemD Timers vs. Cron Jobs URL: https://akashrajpurohit.com/blog/systemd-timers-vs-cron-jobs/ Explore the world of task scheduling in Linux as we compare the classic Cron Jobs with the modern SystemD Timers. Learn when to use each method and how to set them up to automate your Linux system tasks effectively. Tags: linux Published: 9/18/2023 --- ## Blog: Incremental Static Regeneration: Dynamic Websites with SSR and Cache Headers URL: https://akashrajpurohit.com/blog/incremental-static-regeneration-dynamic-websites-with-ssr-and-cache-headers/ Step into the world of web development magic as we unravel the fascinating tale of Incremental Static Regeneration (ISR). Join me on this journey where we'll explore how to leverage Server-Side Rendering (SSR) with smart cache headers to build dynamic websites that load with lightning speed. Buckle up – we're about to give your website a turbo boost! Tags: react Published: 9/14/2023 --- ## Blog: Running SSL on Localhost URL: https://akashrajpurohit.com/blog/running-ssl-on-localhost/ In today's digital landscape, security is paramount. Secure Sockets Layer (SSL) is a crucial technology that encrypts data transmitted between a user's browser and a website, ensuring confidentiality and integrity. But did you know you can also enable SSL for your localhost development environment? This guide will walk you through the process step by step. Tags: nodejs Published: 9/10/2023 --- ## Blog: Reduce Docker Image Size Like a Pro URL: https://akashrajpurohit.com/blog/reduce-docker-image-size-like-a-pro/ Dive into the realm of Docker image optimization and learn how to sculpt sleek and efficient images that won't weigh down your containers. Join me on this journey as we unravel practical techniques and step-by-step methods to trim the excess fat, from choosing the right base image to mastering multi-stage builds. Let's embark on a quest to craft Docker images that are both agile and powerful. Tags: docker Published: 9/6/2023 --- ## Blog: The Dangers Lurking in Free Public WiFi URL: https://akashrajpurohit.com/blog/the-dangers-lurking-in-free-public-wifi/ Picture this: you're sitting at a cozy café, sipping on your latte, and surfing the internet on the free public WiFi. Seems harmless, right? But hold on a sec – let's talk about the not-so-friendly company you're sharing that network with. Join me as we unravel the risks of using that enticing, but potentially treacherous, free public WiFi. Tags: security Published: 9/4/2023 --- ## Blog: Set Up Draft Pages Effectively in Astro with Config-Driven Content Authoring URL: https://akashrajpurohit.com/blog/set-up-draft-pages-effectively-in-astro-with-configdriven-content-authoring/ Learn how to harness the power of content collections in Astro to manage draft pages effortlessly. Discover how to exclude draft content from production while enabling local content creation, all guided by a smart configuration setup. Tags: astro Published: 8/31/2023 --- ## Blog: Write Secure JavaScript Applications URL: https://akashrajpurohit.com/blog/write-secure-javascript-applications/ Dive into the realm of writing secure JavaScript applications. Uncover practical strategies to shield your web apps from XSS and CSRF vulnerabilities, ensuring robust and safe software in an interconnected world. Tags: javascript Published: 8/30/2023 --- ## Blog: Multi-Threaded JavaScript with Web Workers URL: https://akashrajpurohit.com/blog/multithreaded-javascript-with-web-workers/ Are you tired of slow and unresponsive web applications? Do you want to improve the performance of your JavaScript code without sacrificing user experience? Look no further than JavaScript's Web Workers API. In this article, we'll explore the basics of web workers and how they can help you create multi-threaded web applications. Tags: javascript Published: 8/28/2023 --- ## Blog: Asynchronous JavaScript Programming: A Guide to Promises, Async/Await, and Generators URL: https://akashrajpurohit.com/blog/asynchronous-javascript-programming-a-guide-to-promises-async-await-and-generators/ Asynchronous programming is essential in JavaScript to handle time-consuming operations and provide a better user experience. This article will provide a detailed guide to mastering asynchronous JavaScript programming with Promises, Async/Await, and Generators. Tags: javascript Published: 8/23/2023 --- ## Blog: Event Handling in JavaScript: Understanding Delegation and Propagation URL: https://akashrajpurohit.com/blog/event-handling-in-javascript-understanding-delegation-and-propagation/ Event handling is an essential part of JavaScript programming. Whether it's a simple click event or a complex user interface interaction, understanding how events work is crucial to writing effective and efficient code. In this article, we'll explore advanced event handling concepts in JavaScript, including delegation and propagation. By mastering these concepts, you'll be able to write more maintainable and scalable code. Tags: javascript Published: 8/21/2023 --- ## Blog: Partial Application in JavaScript URL: https://akashrajpurohit.com/blog/partial-application-in-javascript/ In JavaScript, partial application is a powerful technique that allows you to create new functions by fixing some, but not all of the arguments of an existing function. This technique can help you write cleaner, more concise code, and improve the reusability of your functions. In this article, we'll explore what partial application is, how it works, and how to use it in your own code. Tags: javascript Published: 8/19/2023 --- ## Blog: JavaScript Design Patterns for Better Code Organization and Maintainability URL: https://akashrajpurohit.com/blog/javascript-design-patterns-for-better-code-organization-and-maintainability/ JavaScript has become a popular programming language for building complex web applications, but with its increasing complexity, maintaining and organizing code can be a daunting task. However, using design patterns can help you structure your code for better organization and maintainability. In this article, we will explore some of the most common JavaScript design patterns and how to implement them in your code. Tags: javascript Published: 8/18/2023 --- ## Blog: Boosting Your Website's Performance with JavaScript Code Optimization URL: https://akashrajpurohit.com/blog/boosting-your-websites-performance-with-javascript-code-optimization/ JavaScript is a crucial component of modern web development, and its performance can have a significant impact on user experience. By optimizing your JavaScript code, you can improve your website's loading speed, reduce memory usage, and enhance overall performance. In this article, we'll discuss some advanced techniques for optimizing your JavaScript code and achieving optimal performance. Tags: javascript Published: 8/12/2023 --- ## Blog: Seamless Error Tracking: Integrating Sentry with Astro URL: https://akashrajpurohit.com/blog/seamless-error-tracking-integrating-sentry-with-astro/ Learn how to enhance your Astro-powered website's reliability by seamlessly integrating Sentry for error tracking. Discover step-by-step instructions to integrate Sentry's browser package for frontend errors and utilize the toucan-js package for API endpoints. Elevate your website's user experience through effective error monitoring and resolution. Tags: astro Published: 8/11/2023 --- ## Blog: Finding Your Way: Understanding Service Discovery and Service Mesh URL: https://akashrajpurohit.com/blog/finding-your-way-understanding-service-discovery-and-service-mesh/ Join me on this tech-savvy adventure as we delve into the fascinating world of service discovery and service mesh. In this blog, we'll navigate through the complexities of distributed systems, exploring how service discovery acts as a compass, guiding applications to find and communicate with each other seamlessly. Get ready to unravel the mysteries of service mesh and understand how it empowers us to control, secure, and optimize the flow of information between microservices. Tags: system design Published: 8/10/2023 --- ## Blog: Building Resilient Systems: A Guide to Designing for Fault Tolerance URL: https://akashrajpurohit.com/blog/building-resilient-systems-a-guide-to-designing-for-fault-tolerance/ Join me on a journey into the world of building robust and resilient systems. In this blog, we'll explore the art of designing for fault tolerance, where we'll discover how to prepare our applications to gracefully handle failures and bounce back stronger. So, grab a seat and get ready to fortify your systems against unforeseen challenges. Tags: system design Published: 8/8/2023 --- ## Blog: Designing for Scalability: Building a Flexible and Future-Proof System URL: https://akashrajpurohit.com/blog/designing-for-scalability-building-a-flexible-and-futureproof-system/ Join me on an exciting journey into the world of scalable system design. In this blog, we'll explore the art of crafting flexible and future-proof architectures that can handle the growing demands of your application. So grab a cup of coffee, and let's dive into the realm of scalability, where we'll unlock the secrets to building systems that stand the test of time. Tags: system design Published: 8/5/2023 --- ## Blog: High Availability Architectures: Uninterrupted Services for a Seamless Experience URL: https://akashrajpurohit.com/blog/high-availability-architectures-uninterrupted-services-for-a-seamless-experience/ Discover the world of high availability architectures and how they ensure your services are always up and running, no matter the circumstances. Join me as we explore the art of building resilient systems that guarantee 24/7 uptime and deliver a seamless experience to users. Tags: system design Published: 8/3/2023 --- ## Blog: Distributed Tracing and Observability in Your System URL: https://akashrajpurohit.com/blog/distributed-tracing-and-observability-in-your-system/ Dive into the world of distributed tracing and observability to gain valuable insights into your system's performance and behavior. In this blog, we'll embark on a human-to-human exploration of tracing techniques and observability tools that empower you to understand the intricate interactions among your microservices. From tracing spans to logging and monitoring, we'll uncover the key components that illuminate the path to a more observable and controllable system. Tags: system design Published: 8/2/2023 --- ## Blog: Observability and Monitoring: Illuminating the Inner Workings of Large Systems URL: https://akashrajpurohit.com/blog/observability-and-monitoring-illuminating-the-inner-workings-of-large-systems/ Join me on an illuminating journey into the world of observability and monitoring when building large systems. In this blog, we'll demystify the art of understanding, visualizing, and diagnosing the intricate inner workings of complex systems. Get ready to shed light on hidden issues, gain insights, and ensure smooth sailing for your projects. Tags: system design Published: 8/1/2023 --- ## Blog: Consistent Hashing in Distributed Systems: Navigating Data Distribution with Finesse URL: https://akashrajpurohit.com/blog/consistent-hashing-in-distributed-systems-navigating-data-distribution-with-finesse/ Welcome to the captivating world of consistent hashing in distributed systems! In this blog, we'll explore the elegant technique of consistent hashing that empowers distributed systems to distribute and balance data with finesse. Join me as we unravel the magic behind consistent hashing and discover how it enables seamless scalability and fault tolerance in modern distributed architectures. Tags: system design Published: 7/28/2023 --- ## Blog: Exploring the Event-Driven Architecture URL: https://akashrajpurohit.com/blog/exploring-the-event-driven-architecture/ In the world of software engineering, architectures play a significant role in determining how a system will behave and perform. One such architecture that has gained popularity in recent years is event-driven architecture (EDA). It is a paradigm that enables developers to build systems that are more scalable, flexible, and responsive. Tags: system design Published: 7/25/2023 --- ## Blog: Understanding Pub-Sub Messaging URL: https://akashrajpurohit.com/blog/understanding-pubsub-messaging/ Pub-Sub messaging is a popular messaging pattern used in modern software development. This pattern enables effective communication between multiple software components that need to exchange messages in a decoupled way. In this article, we will dive deep into the concept of pub-sub messaging and explore how it is used in real-world scenarios. Tags: system design Published: 7/18/2023 --- ## Blog: Solving the N+1 Select Query Problem in Database URL: https://akashrajpurohit.com/blog/solving-the-n1-select-query-problem-in-database/ Are you tired of seeing slow database queries in your application? One of the most common causes of this issue is the N+1 select query problem. In this article, we will explore what this problem is and how you can solve it to improve the performance of your application. Tags: database Published: 7/12/2023 --- ## Blog: Maximizing Query Speed with Database Indexes URL: https://akashrajpurohit.com/blog/maximizing-query-speed-with-database-indexes/ In this article, we will take a closer look at what a database index is and how it works, and we will explore why it is an essential tool for improving the performance of your database queries. Tags: database Published: 7/9/2023 --- ## Blog: Mastering Intermediate Linux Commands for Efficient Server Management URL: https://akashrajpurohit.com/blog/mastering-intermediate-linux-commands-for-efficient-server-management/ As a Linux server administrator, you may have already learned the basics of Linux commands. However, to manage your server more efficiently, you need to dive deeper into the lesser-known, but equally important intermediate-level commands. In this article, we will cover some of the intermediate-level Linux commands that will help you become a more proficient Linux sysadmin. Tags: linux Published: 7/4/2023 --- ## Blog: Essential Linux Commands for Server Maintenance at Home URL: https://akashrajpurohit.com/blog/essential-linux-commands-for-server-maintenance-at-home/ As a Linux system administrator, it's essential to have a good grasp of the command-line interface. In this blog, we'll explore some of the most common and useful commands used for maintaining a Linux server at home. From handling files to networking, these commands will help you streamline your work and keep your server running smoothly. Tags: linux Published: 6/29/2023 --- ## Blog: Build Your Own Docker with Linux Namespaces, cgroups, and chroot: Hands-on Guide URL: https://akashrajpurohit.com/blog/build-your-own-docker-with-linux-namespaces-cgroups-and-chroot-handson-guide/ Take a practical approach to containerization as we guide you through the step-by-step process of building your own Docker-like environment using Linux namespaces, cgroups, and chroot. Dive into the code and command examples to gain a deeper understanding of how these technologies work together to create isolated and efficient containers. Tags: linux, docker Published: 6/27/2023 --- ## Blog: How to Create a Restricted Environment with the Linux chroot Command URL: https://akashrajpurohit.com/blog/how-to-create-a-restricted-environment-with-the-linux-chroot-command/ The Linux operating system is known for its flexibility and robustness. One of the many powerful tools available in Linux is the chroot command, which can be used to create a restricted environment within the existing file system. This can be useful in a variety of scenarios, such as testing new software or isolating sensitive data. In this article, we'll explore how to use the chroot command in Linux and provide practical examples to help you get started. Tags: linux Published: 6/26/2023 --- ## Blog: Linux Control Groups: Fine-Tuning Resource Allocation for Optimal System Performance URL: https://akashrajpurohit.com/blog/linux-control-groups-finetuning-resource-allocation-for-optimal-system-performance/ Explore the power of Linux control groups (cgroups) and how they revolutionize resource management in your Linux environment. Uncover the secrets of cgroups to effectively allocate system resources, limit process usage, and optimize performance for your applications and services. Tags: linux Published: 6/25/2023 --- ## Blog: Linux Namespaces: Isolating Your System for Enhanced Security and Performance URL: https://akashrajpurohit.com/blog/linux-namespaces-isolating-your-system-for-enhanced-security-and-performance/ Discover the power of Linux namespaces and how they enable you to create isolated environments within your system. Dive into this comprehensive guide to understand the concept of namespaces, their benefits, and how they enhance security and performance in your Linux environment. Tags: linux Published: 6/23/2023 --- ## Blog: FZF: The Ultimate Linux Productivity Tool URL: https://akashrajpurohit.com/blog/fzf-the-ultimate-linux-productivity-tool/ Are you tired of endlessly scrolling through terminal output or file listings? Look no further than fzf! This powerful command-line tool allows you to quickly and efficiently search and select from lists of files, processes, command history, and much more. In this article, we'll explore what fzf is and how you can use it to level up your Linux productivity game. Tags: linux Published: 6/22/2023 --- ## Blog: Mastering App Security: 7 Crucial Risks Every Developer Must Mitigate URL: https://akashrajpurohit.com/blog/mastering-app-security-7-crucial-risks-every-developer-must-mitigate/ In the world of software development, ensuring the security of your applications is paramount. From protecting user data to safeguarding against malicious attacks, developers must be aware of the potential risks and take proactive measures to mitigate them. In this comprehensive guide, we will explore seven key security risks that every developer should know when building their app. Get ready to enhance your app's resilience and protect your users' sensitive information. Tags: security Published: 6/21/2023 --- ## Blog: Exploding your system: The deadly Fork Bomb in Linux URL: https://akashrajpurohit.com/blog/exploding-your-system-the-deadly-fork-bomb-in-linux/ Are you familiar with the term 'fork bomb' in Linux? If not, it is a potentially dangerous command that can severely impact system performance and stability. In this article, we will explore what a fork bomb is, how it works, and how to protect your Linux system from its harmful effects. Tags: linux, security Published: 6/20/2023 --- ## Blog: Linux bzip2 and gzip Compression Utilities: An Overview of File Compression URL: https://akashrajpurohit.com/blog/linux-bzip2-and-gzip-compression-utilities-an-overview-of-file-compression/ In the world of Linux, bzip2 and gzip are two popular compression utilities that allow you to compress and decompress files. They are efficient, fast, and easy to use, making them an essential part of any Linux user's toolkit. In this article, we'll give you an overview of bzip2 and gzip, explain how they work, and provide examples of their usage. Tags: linux Published: 6/19/2023 --- ## Blog: Beyond ext4 — Exploring Linux File Systems Btrfs and ZFS URL: https://akashrajpurohit.com/blog/beyond-ext4-exploring-linux-file-systems-btrfs-and-zfs/ Linux is known for its flexibility and customizability, which is largely due to its file systems. While the ext4 file system is commonly used in Linux distributions, there are other options available that offer unique features and advantages. Two of the most notable alternatives are Btrfs and ZFS. In this article, we will explore these file systems and see what makes them stand out from the crowd. Tags: linux Published: 6/19/2023 --- ## Blog: Linux Package Management: A Guide to apt, dnf, and pacman URL: https://akashrajpurohit.com/blog/linux-package-management-a-guide-to-apt-dnf-and-pacman/ Linux package management can be daunting for new users. With multiple package managers like apt, dnf, and pacman, it can be overwhelming to understand how they work and which one to use. In this article, we'll provide an overview of these package managers and their features to help you get started with Linux package management. Tags: linux Published: 6/18/2023 --- ## Blog: Mastering Debugging in VSCode: A Beginner's Guide URL: https://akashrajpurohit.com/blog/mastering-debugging-in-vscode-a-beginners-guide/ Debugging is an essential part of a software developer's workflow, helping to identify and resolve issues in the code. VSCode, one of the most popular code editors in the development community, provides a robust and user-friendly debugging experience. In this article, we'll take a deep dive into how to set up and use the VSCode debugger to debug Node.js applications. Tags: engineering Published: 6/17/2023 --- ## Blog: Mastering Debugging: Tips and Techniques for Software Engineers URL: https://akashrajpurohit.com/blog/mastering-debugging-tips-and-techniques-for-software-engineers/ Debugging is an essential part of the software development process. It can be frustrating, but with the right techniques, it can also be a rewarding challenge. By following the tips and techniques outlined in this article, software engineers can improve their debugging skills and become more efficient problem solvers. Tags: engineering Published: 6/15/2023 --- ## Blog: Mastering Google: Advanced Tips for Software Engineers URL: https://akashrajpurohit.com/blog/mastering-google-advanced-tips-for-software-engineers/ As a software engineer, your ability to find and use information quickly can make all the difference. But with the vast amount of information available online, it can be overwhelming to find what you need. In this article, we’ll go beyond the basics and explore advanced techniques to help you become a Google master. Tags: engineering Published: 6/14/2023 --- ## Blog: How to Google like a Pro as a Software Engineer: Beginner's Guide URL: https://akashrajpurohit.com/blog/how-to-google-like-a-pro-as-a-software-engineer-beginners-guide/ Google is an invaluable tool for software engineers, but knowing how to search effectively is key to finding the right information quickly. In this article, I'll share some tips and tricks to help you Google like a pro and become a more efficient and effective developer. Tags: engineering Published: 6/13/2023 --- ## Blog: Git Beyond Basics: 7 Uncommon Git Commands Every Developer Should Know URL: https://akashrajpurohit.com/blog/git-beyond-basics-7-uncommon-git-commands-every-developer-should-know/ Git is one of the most popular version control systems used by developers worldwide. However, most developers only use a handful of Git commands in their daily work. In this article, we will explore some uncommon Git commands that can help improve your workflow and productivity. These commands will help you to work more efficiently, troubleshoot issues, and collaborate more effectively with your team. Tags: git Published: 6/12/2023 --- ## Blog: Embracing the Future: Migrating from Next.js to Astro URL: https://akashrajpurohit.com/blog/embracing-the-future-migrating-from-nextjs-to-astro/ Discover the exciting transformation of migrating a website from Next.js to Astro. Join me as we explore the motivations behind this switch, the benefits of Astro's HTML-first approach, and the valuable insights gained along the way. Embrace the future of web development and unlock new possibilities for your own projects. Tags: nextjs, astro Published: 6/8/2023 --- ## Blog: Demystifying Go-URLs: Unleashing the Power of Shortened URLs URL: https://akashrajpurohit.com/blog/demystifying-gourls-unleashing-the-power-of-shortened-urls/ Explore the world of Go-URLs and discover how they are used in various contexts. From shortening long URLs to enabling deep linking and tracking, Go-URLs offer a powerful way to optimize and enhance your web experiences. Join us on this journey as we unravel the mysteries of Go-URLs and delve into their practical applications. Tags: projects Published: 6/4/2023 --- ## Blog: Integration Testing in JavaScript with Jest and Nock: A Beginner's Guide URL: https://akashrajpurohit.com/blog/integration-testing-in-javascript-with-jest-and-nock-a-beginners-guide/ Integration testing is an essential part of the software development process, and it ensures that all the components of your application work together as expected. In this article, we'll explore the basics of integration testing in JavaScript and show you how to use Jest and Nock to write effective tests that simulate real-world scenarios. Tags: javascript Published: 5/31/2023 --- ## Blog: Unit Testing in JavaScript: How to Ensure Code Quality and Catch Bugs Early URL: https://akashrajpurohit.com/blog/unit-testing-in-javascript-how-to-ensure-code-quality-and-catch-bugs-early/ Unit testing is a critical aspect of software development that ensures code quality, improves maintainability, and catches bugs early. In this article, we'll explore the basics of unit testing in JavaScript, including what it is, why it's important, and how to write effective unit tests using popular testing frameworks. Tags: javascript Published: 5/26/2023 --- ## Blog: Building and Publishing TypeScript NPM Packages: A Step-by-Step Guide URL: https://akashrajpurohit.com/blog/building-and-publishing-typescript-npm-packages-a-stepbystep-guide/ Learn how to create and publish your own Npm packages using TypeScript. This comprehensive guide covers everything from setting up your project with TypeScript, using tsup for building, vitest for testing, and semantic release for versioning and publishing. Take your TypeScript projects to the next level and share your code with the world! Tags: nodejs, projects Published: 5/20/2023 --- ## Blog: Snowflake ID: Generating Unique IDs for Distributed Systems URL: https://akashrajpurohit.com/blog/snowflake-id-generating-unique-ids-for-distributed-systems/ In modern distributed systems, generating unique IDs is crucial for data consistency and scalability. Snowflake ID is a type of unique identifier that is widely used in distributed systems for generating IDs with high precision, scalability, and availability. In this blog post, we will discuss what Snowflake ID is and how it works, and explore its use cases and benefits. Tags: system design Published: 5/14/2023 --- ## Blog: Array and Object Manipulation in JavaScript: Advanced Techniques URL: https://akashrajpurohit.com/blog/array-and-object-manipulation-in-javascript-advanced-techniques/ Arrays and objects are fundamental data structures in JavaScript. They are used extensively in modern web development to store and manipulate data. In this blog post, we will explore advanced techniques for manipulating arrays and objects in JavaScript. We will cover topics such as flattening arrays, merging objects, filtering and mapping arrays, and much more. By the end of this post, you will have a deeper understanding of JavaScript's array and object manipulation capabilities. Tags: javascript Published: 5/13/2023 --- ## Blog: Mastering Iterators and Generators in JavaScript: A Beginner's Guide URL: https://akashrajpurohit.com/blog/mastering-iterators-and-generators-in-javascript-a-beginners-guide/ JavaScript's ability to handle data manipulation and iteration has been enhanced with the introduction of iterators and generators. These powerful features allow developers to write more concise and efficient code for handling complex data structures. In this article, we'll explore what iterators and generators are, how they work, and how to use them in your code to simplify data manipulation. Whether you're a beginner or an experienced JavaScript developer, this guide will provide you with the foundational knowledge you need to master iterators and generators in JavaScript. Tags: javascript Published: 5/12/2023 --- ## Blog: Mastering the Art of Currying in JavaScript: A Beginner's Guide URL: https://akashrajpurohit.com/blog/mastering-the-art-of-currying-in-javascript-a-beginners-guide/ Are you tired of dealing with multiple function arguments in your JavaScript code? Currying is here to simplify your life! Learn how to use this powerful technique to create reusable and flexible functions in JavaScript. Tags: javascript Published: 5/10/2023 --- ## Blog: Functional Programming in JavaScript: An Introduction URL: https://akashrajpurohit.com/blog/functional-programming-in-javascript-an-introduction/ Learn the basics of functional programming in JavaScript, a paradigm that emphasizes immutability, higher-order functions, and pure functions. Discover how to create more reliable and maintainable code by following this programming style. Tags: javascript Published: 5/7/2023 --- ## Blog: Understanding Pure Functions in JavaScript: A Comprehensive Guide URL: https://akashrajpurohit.com/blog/understanding-pure-functions-in-javascript-a-comprehensive-guide/ Pure functions are one of the most important concepts in functional programming. In JavaScript, they play a critical role in creating maintainable and predictable code. In this article, we will explore what pure functions are and how they work in JavaScript, along with some code examples. Tags: javascript Published: 5/6/2023 --- ## Blog: The Power of Immutability in JavaScript URL: https://akashrajpurohit.com/blog/the-power-of-immutability-in-javascript/ Immutability is a concept that has been gaining a lot of attention in the world of programming, and JavaScript is no exception. Immutability refers to the ability to create data structures that cannot be changed after they are created. In this blog, we will explore what immutability is and why it is important, along with some examples of how to achieve it in JavaScript. Tags: javascript Published: 5/6/2023 --- ## Blog: Demystifying Higher Order Functions in JavaScript URL: https://akashrajpurohit.com/blog/demystifying-higher-order-functions-in-javascript/ Higher Order Functions are an essential aspect of functional programming in JavaScript. They allow developers to write more concise and reusable code, making it easier to manage complex codebases. In this blog post, we will take a deep dive into Higher Order Functions and explore their potential uses. Tags: javascript Published: 5/5/2023 --- ## Blog: Demystifying Closures and Lexical Scopes in JavaScript URL: https://akashrajpurohit.com/blog/demystifying-closures-and-lexical-scopes-in-javascript/ JavaScript’s closure and lexical scope features can be confusing for many developers, especially those coming from other programming languages. However, understanding these concepts is essential to write efficient and reliable code. In this article, we will dive deep into closures and lexical scoping in JavaScript, explore their nuances, and provide practical examples to help you grasp the concepts with ease. Tags: javascript Published: 5/4/2023 --- ## Blog: How to Use the Linux Socat Command for Bidirectional Data Transfer Between Network Connections URL: https://akashrajpurohit.com/blog/how-to-use-the-linux-socat-command-for-bidirectional-data-transfer-between-network-connections/ The Linux socat command provides a powerful and flexible solution for bidirectional data transfer between network connections. In this article, we'll explore how to use the socat command in Linux and provide practical examples to help you get started. Tags: linux Published: 5/1/2023 --- ## Blog: How to Use the Linux Shred Command for Secure File Deletion URL: https://akashrajpurohit.com/blog/how-to-use-the-linux-shred-command-for-secure-file-deletion/ Deleting a file from your computer's hard drive doesn't actually erase the data, leaving it open to recovery by unauthorized individuals. The Linux `shred` command provides a simple and effective solution to securely delete files from your computer's hard drive. In this article, we'll explore how to use the `shred` command in Linux and provide practical examples to help you get started. Tags: linux Published: 4/28/2023 --- ## Blog: How to Use the Linux Netcat Command for Network Communication and Testing URL: https://akashrajpurohit.com/blog/how-to-use-the-linux-netcat-command-for-network-communication-and-testing/ The Linux 'nc' command, also known as Netcat, is a versatile networking tool that can be used for a variety of tasks such as network communication, port scanning, file transfer, and network testing. It provides a simple and effective way to connect and interact with other networked devices. In this article, we'll explore how to use the 'nc' command in Linux and provide practical examples to help you get started. Tags: linux Published: 4/26/2023 --- ## Blog: A Beginner's Guide to Using the Linux Mount Command for File System Management URL: https://akashrajpurohit.com/blog/a-beginners-guide-to-using-the-linux-mount-command-for-file-system-management/ The Linux mount command is a powerful tool that allows you to attach file systems to your system's file hierarchy. In other words, you can use the mount command to access the contents of a file system, which may be stored on a local hard drive, network server, or even a CD or USB drive. In this article, we will cover the basics of using the mount command to mount and unmount file systems on Linux systems. Tags: linux Published: 4/19/2023 --- ## Blog: Splitting and Concatenating Files on Linux Made Easy with the split Command URL: https://akashrajpurohit.com/blog/splitting-and-concatenating-files-on-linux-made-easy-with-the-split-command/ The Linux operating system is a favorite among developers, system administrators, and power users due to its flexibility, security, and stability. One of the many built-in utilities available in Linux is the split command, which is used to split large files into smaller, more manageable parts or join multiple smaller files into a single, larger file. In this article, we'll explore how to use the split command for file splitting and concatenation, and provide practical examples to help you get started. Tags: linux Published: 4/18/2023 --- ## Blog: How to Use the Linux lsof Command for Listing Open Files and Processes URL: https://akashrajpurohit.com/blog/how-to-use-the-linux-lsof-command-for-listing-open-files-and-processes/ The Linux lsof command is a powerful tool that allows you to view information about open files and processes on your system. In this article, we'll explore how to use the lsof command in Linux and provide practical examples to help you get started. Tags: linux Published: 4/16/2023 --- ## Blog: Tracing the Network Path with the Linux Traceroute Command URL: https://akashrajpurohit.com/blog/tracing-the-network-path-with-the-linux-traceroute-command/ Have you ever wondered how your network traffic reaches its destination? The Linux traceroute command is a powerful tool that allows you to analyze the network path between your device and a destination server. In this article, we'll explore how to use the Linux traceroute command for network path analysis. Tags: linux Published: 4/13/2023 --- ## Blog: Mastering Disk Imaging and Cloning with Linux's dd Command URL: https://akashrajpurohit.com/blog/mastering-disk-imaging-and-cloning-with-linuxs-dd-command/ The Linux dd command is a powerful tool for disk imaging and cloning, allowing users to create exact copies of disks or partitions for backup, recovery, or migration purposes. Though it may seem daunting at first, the dd command is straightforward and easy to use once you understand its basic syntax and options. In this blog post, we'll explore how to use the dd command to create disk images and clone disks or partitions on Linux systems. Tags: linux Published: 4/12/2023 --- ## Blog: Mastering Batch Processing with Linux xargs Command URL: https://akashrajpurohit.com/blog/mastering-batch-processing-with-linux-xargs-command/ Batch processing tasks can be time-consuming and cumbersome when performed manually. This is where the Linux xargs command comes in handy. It enables you to efficiently process a large number of files or inputs in one go, saving you time and effort. This article introduces you to the Linux xargs command, its syntax, and practical examples of how it can be used for batch processing. Tags: linux Published: 4/11/2023 --- ## Blog: Simplify Text Processing with the Linux Awk Command URL: https://akashrajpurohit.com/blog/simplify-text-processing-with-the-linux-awk-command/ Are you tired of manually processing and manipulating text files on Linux? The awk command is a powerful tool that can automate these tasks and save you time and effort. In this article, we'll explore the basics of using the Linux awk command for text processing and manipulation. Tags: linux Published: 4/10/2023 --- ## Blog: Mastering Text Manipulation with the Linux sed Command URL: https://akashrajpurohit.com/blog/mastering-text-manipulation-with-the-linux-sed-command/ The Linux sed command is a powerful tool for text manipulation. It allows you to search for patterns in text and replace or delete them. With sed, you can automate repetitive tasks and transform text in complex ways. In this article, we'll provide an overview of the sed command and show you how to use it to manipulate text. Tags: linux Published: 4/10/2023 --- ## Blog: Streamline Your Linux Output with the Tee Command URL: https://akashrajpurohit.com/blog/streamline-your-linux-output-with-the-tee-command/ Do you find yourself constantly redirecting output to multiple files or commands on Linux? The tee command is a useful tool that allows you to send output to multiple destinations simultaneously. In this article, we'll explore how to use the Linux tee command for redirecting output to multiple destinations. Tags: linux Published: 4/9/2023 --- ## Blog: Mastering the Linux Tar Command: A Guide to Archive Creation and Extraction URL: https://akashrajpurohit.com/blog/mastering-the-linux-tar-command-a-guide-to-archive-creation-and-extraction/ Have you ever needed to compress multiple files into one convenient package for easier transfer or storage? The Linux tar command is a powerful tool that can create and extract archive files quickly and efficiently. In this article, we'll guide you through the process of using the tar command for archive creation and extraction. Tags: linux Published: 4/9/2023 --- ## Blog: Mastering the Art of File and Directory Search with Linux's Find Command URL: https://akashrajpurohit.com/blog/mastering-the-art-of-file-and-directory-search-with-linuxs-find-command/ Linux is known for its command-line interface and powerful tools that help users perform various tasks efficiently. One such tool is the 'find' command, which lets users search for files and directories with ease. While the command might seem a bit intimidating at first, it can save users a lot of time and effort in finding files and directories scattered across the system. In this blog post, we will guide you through the basics of using the Linux find command and its various options. Tags: linux Published: 4/8/2023 --- ## Blog: Mastering Linux grep Command for Searching Text Files and Directories URL: https://akashrajpurohit.com/blog/mastering-linux-grep-command-for-searching-text-files-and-directories/ Searching for text within large files or directories can be a tedious task, especially if you have to do it manually. Fortunately, Linux offers a powerful tool that can make this process easier and more efficient: the grep command. In this article, we will explore how to use the Linux grep command to search for text within files and directories. Tags: linux Published: 4/8/2023 --- ## Blog: Simplify Your File Synchronization and Backup with Linux Rsync Command URL: https://akashrajpurohit.com/blog/simplify-your-file-synchronization-and-backup-with-linux-rsync-command/ Keeping your files synchronized across multiple devices and creating backups can be a daunting task, especially if you have a large number of files to manage. Fortunately, the Linux rsync command can help make this process more manageable and efficient. In this article, we'll explore the rsync command and learn how to use it for file synchronization and backups. Tags: linux Published: 4/7/2023 --- ## Blog: Mastering Process Monitoring and Management with htop Command in Linux URL: https://akashrajpurohit.com/blog/mastering-process-monitoring-and-management-with-htop-command-in-linux/ When it comes to process monitoring and management on Linux, the htop command is a powerful tool that can help you keep track of all the processes running on your system, and even take action to manage them. With its intuitive interface and advanced features, htop is an essential tool for any Linux system administrator or power user. Tags: linux Published: 4/6/2023 --- ## Blog: Discover the Power of Subnets: The Ultimate Guide URL: https://akashrajpurohit.com/blog/discover-the-power-of-subnets-the-ultimate-guide/ Subnets play a crucial role in networking by dividing an IP network into smaller subnetworks. They enable efficient use of IP address space and enhance network security. In this article, we’ll dive deep into subnets, discussing everything from their basics to advanced concepts, and explore how to use them to their fullest potential. Tags: networking Published: 4/5/2023 --- ## Blog: Exploring the Differences Between HTTP/2 and HTTP/3 URL: https://akashrajpurohit.com/blog/exploring-the-differences-between-http2-and-http3/ As the internet continues to evolve, so does the protocol that powers it - HTTP. HTTP/2 and HTTP/3 are two of the latest versions of HTTP, both designed to improve web performance and security. In this article, we'll explore the differences between HTTP/2 and HTTP/3 and how they impact the modern web. Tags: system design Published: 4/4/2023 --- ## Blog: Exploring HTTP/2 Server Push: An Efficient Way to Speed Up Your Web Applications URL: https://akashrajpurohit.com/blog/exploring-http2-server-push-an-efficient-way-to-speed-up-your-web-applications/ HTTP/2 Server Push is an innovative feature of the HTTP/2 protocol that allows web developers to proactively push resources to clients before they even request them. This feature helps in reducing page loading time and enhancing the overall performance of web applications. Tags: system design Published: 4/4/2023 --- ## Blog: WebSocket: Real-time Communication Made Easy URL: https://akashrajpurohit.com/blog/websocket-realtime-communication-made-easy/ Are you tired of relying on traditional HTTP requests for real-time communication in your web applications? Look no further than WebSocket! This powerful protocol allows for two-way communication between a client and server, enabling real-time data transfer without the need for constant requests and responses. Tags: system design Published: 4/3/2023 --- ## Blog: Understanding Message Queues: The Key to Building Reliable and Scalable Systems URL: https://akashrajpurohit.com/blog/understanding-message-queues-the-key-to-building-reliable-and-scalable-systems/ Message queues have become a fundamental part of modern software systems, allowing developers to build distributed, reliable, and scalable applications. In this article, we will explore the concept of message queues, their architecture, and their use cases in both technical and layman terms. Whether you are building a simple application or a complex system, understanding message queues is essential to designing a robust and efficient solution. Tags: system design Published: 4/2/2023 --- ## Blog: Understanding Back Pressure in Message Queues: A Guide for Developers URL: https://akashrajpurohit.com/blog/understanding-back-pressure-in-message-queues-a-guide-for-developers/ Are you tired of dealing with message queues that slow down or crash under heavy loads? Back pressure is a common issue that many developers face when working with message queues. But fear not! This guide will explain everything you need to know about back pressure, including how it works, why it's important, and how to master it. Tags: system design Published: 4/2/2023 --- ## Blog: What is a Cache and How Does it Speed Up Your Applications? URL: https://akashrajpurohit.com/blog/what-is-a-cache-and-how-does-it-speed-up-your-applications/ Caching is a powerful technique used by software engineers to speed up their applications. But what exactly is a cache, and how does it work? In this article, we'll dive into the technical details of caching, explain how it can improve the performance of your applications, and provide real-world examples to help you better understand this essential concept. Tags: system design Published: 4/1/2023 --- ## Blog: Race Conditions: Understanding and Avoiding Them URL: https://akashrajpurohit.com/blog/race-conditions-understanding-and-avoiding-them/ Race conditions can cause unpredictable and hard-to-reproduce bugs in software systems. In this article, we'll explain what race conditions are, why they occur, and how you can design your system to avoid them. Tags: system design Published: 4/1/2023 --- ## Blog: Understanding Remote Procedure Call (RPC) in Distributed Computing URL: https://akashrajpurohit.com/blog/understanding-remote-procedure-call-rpc-in-distributed-computing/ Remote Procedure Call (RPC) is a popular mechanism used in distributed computing to allow programs running on different machines to communicate with each other. This article will explain what RPC is, how it works, and provide real-world examples of its applications. Tags: system design Published: 3/31/2023 --- ## Blog: Understanding Representational State Transfer (REST) URL: https://akashrajpurohit.com/blog/understanding-representational-state-transfer-rest/ Learn what Representational State Transfer (REST) is and how it has become the de facto standard for building web APIs today. Tags: system design Published: 3/30/2023 --- ## Blog: What is UDP and When to Use it? A Comprehensive Guide URL: https://akashrajpurohit.com/blog/what-is-udp-and-when-to-use-it-a-comprehensive-guide/ UDP is a lesser-known protocol when compared to TCP, but it plays a vital role in network communication. If you are looking to learn about UDP and its use cases, you have come to the right place. Read on to explore the ins and outs of UDP and when it should be used. Tags: system design, networking Published: 3/29/2023 --- ## Blog: Demystifying TCP: A Comprehensive Guide to Transmission Control Protocol URL: https://akashrajpurohit.com/blog/demystifying-tcp-a-comprehensive-guide-to-transmission-control-protocol/ TCP is a fundamental protocol of the internet, and understanding how it works is essential for anyone who wants to know more about networking. In this article, we will demystify TCP and explain how it works in both technical and layman terms. Tags: system design, networking Published: 3/29/2023 --- ## Blog: Understanding Federation in Databases: Definition, Types and Use Cases URL: https://akashrajpurohit.com/blog/understanding-federation-in-databases-definition-types-and-use-cases/ Learn about how federated databases enable the efficient management of distributed systems by allowing for seamless data access and sharing across multiple databases and data sources. Tags: system design, database Published: 3/28/2023 --- ## Blog: Exploring Sharding in Databases: Partitioning Your Data for Better Scalability URL: https://akashrajpurohit.com/blog/exploring-sharding-in-databases-partitioning-your-data-for-better-scalability/ Sharding is a method of breaking up a large database into smaller, more manageable pieces, allowing for greater scalability and performance. This technique involves distributing data across multiple machines, reducing the load on any one server and enabling faster and more efficient queries. In this article, we’ll dive into the concept of sharding and explore how it can be implemented to improve the performance and scalability of your database system. Tags: system design, database Published: 3/28/2023 --- ## Blog: Master-Slave Replication: Scaling Your Database for High Availability URL: https://akashrajpurohit.com/blog/master-slave-replication-scaling-your-database-for-high-availability/ As businesses grow, their databases can become overloaded and slow, leading to a poor user experience. To address this issue, database administrators can use a system called master-slave replication, which allows for multiple copies of a database to be distributed across different servers. In this article, we'll explore the concept of master-slave replication, how it works, and why it's important for achieving high availability in your database. Tags: system design, database Published: 3/27/2023 --- ## Blog: Exploring Master-Master Replication in Databases: How It Works and Its Benefits URL: https://akashrajpurohit.com/blog/exploring-master-master-replication-in-databases-how-it-works-and-its-benefits/ Master-master replication is a powerful technique that can help you improve the availability and scalability of your database system. But what exactly is master-master replication, and how does it work? In this article, we'll explore the details of this technique, including its benefits and some real-world examples. Tags: system design, database Published: 3/27/2023 --- ## Blog: The Power of a CDN: Delivering Lightning-Fast Content URL: https://akashrajpurohit.com/blog/the-power-of-a-cdn-delivering-lightningfast-content/ Do you want your website to load faster for users all over the world? A Content Delivery Network (CDN) is the solution you've been looking for. This article will explore what a CDN is and how it works to speed up your website, giving you a competitive edge in today's fast-paced online world. Tags: system design Published: 3/26/2023 --- ## Blog: Balancing the Load: Understanding Load Balancers and Their Types URL: https://akashrajpurohit.com/blog/balancing-the-load-understanding-load-balancers-and-their-types/ Dealing with a heavy traffic load on your website or application? Learn about load balancers and how they distribute traffic to keep your online presence running smoothly. Discover the differences between Layer 4 and Layer 7 load balancers and find the right solution for your needs. Tags: system design Published: 3/25/2023 --- ## Blog: Unlocking the Secrets of SSL Certificates: How They Keep Your Data Safe Online URL: https://akashrajpurohit.com/blog/unlocking-the-secrets-of-ssl-certificates-how-they-keep-your-data-safe-online/ Are you curious about how SSL certificates work to secure your online transactions? In this article, we'll explore the technicalities of SSL certificates, including how they encrypt data and the various types available for website owners. Tags: networking Published: 3/24/2023 --- ## Blog: VPN Explained: Understanding Virtual Private Networks URL: https://akashrajpurohit.com/blog/vpn-explained-understanding-virtual-private-networks/ Learn about the basic principles and use cases of VPNs, and how they help keep your internet traffic secure and private. Tags: system design, networking Published: 3/23/2023 --- ## Blog: Unlocking the Power of Forward Proxies: Simplified URL: https://akashrajpurohit.com/blog/unlocking-the-power-of-forward-proxies-simplified/ Discover what a forward proxy is and how it can be used to enhance network security, increase browsing speed, and more. Get a clear understanding of this powerful technology and its real-world applications. Tags: system design Published: 3/22/2023 --- ## Blog: Reverse Proxies: A Beginner's Guide to Unlocking Their Power URL: https://akashrajpurohit.com/blog/reverse-proxies-a-beginners-guide-to-unlocking-their-power/ A reverse proxy is an intermediary server that sits between your client and servers, routing client requests to the appropriate server. In this article, we will explain what a reverse proxy is and its benefits, both in technical terms and real-world examples. Tags: system design Published: 3/22/2023 --- ## Blog: Latency vs Throughput: Balancing the Two Sides of System Performance URL: https://akashrajpurohit.com/blog/latency-vs-throughput-balancing-the-two-sides-of-system-performance/ When it comes to optimizing the performance of a system, two key metrics come into play: latency and throughput. But what exactly are these two metrics, and how do they differ? In this article, we'll explore the definitions and real-world examples of latency and throughput, and show you how to balance them for optimal system performance. Tags: system design Published: 3/20/2023 --- ## Blog: Balancing the Tradeoff: Availability vs Consistency URL: https://akashrajpurohit.com/blog/balancing-the-tradeoff-availability-vs-consistency/ In the world of computing, a delicate balance must be struck between two important concepts: Availability and Consistency. But what exactly do these terms mean and how do they impact your systems? Read on to find out! Tags: system design Published: 3/20/2023 --- ## Blog: Performance vs Scalability: Understanding the Key Differences URL: https://akashrajpurohit.com/blog/performance-vs-scalability-understanding-the-key-differences/ Performance and Scalability, two crucial components of any system design, yet often misinterpreted. In this article, we will dive into the technicalities of both concepts and understand the key differences, helping you make informed decisions for your system's success. Tags: system design Published: 3/19/2023 --- ## Blog: Zero Day Attacks: Understanding the Unannounced Threats URL: https://akashrajpurohit.com/blog/zero-day-attacks-understanding-the-unannounced-threats/ Discover the dangerous world of zero day attacks and learn how they can exploit vulnerabilities in software to cause harm to businesses and individuals alike. From the definition to real-life examples, this article covers all you need to know about zero day attacks. Tags: security Published: 3/17/2023 --- ## Blog: Denial of Service Attacks: What They Are and How to Protect Against Them URL: https://akashrajpurohit.com/blog/denial-of-service-attacks-what-they-are-and-how-to-protect-against-them/ Discover the basics of Denial of Service (DoS) attacks and learn how to safeguard your website and online presence from these malicious attacks. Tags: security Published: 3/17/2023 --- ## Blog: Understanding DHCP Server - The Essential Guide URL: https://akashrajpurohit.com/blog/understanding-dhcp-server-the-essential-guide/ DHCP, or Dynamic Host Configuration Protocol, is a crucial component of modern network infrastructure. In this article, we'll explore what a DHCP server does and how it helps manage IP addresses dynamically in a network. Tags: networking Published: 3/15/2023 --- ## Blog: Understanding Recursive DNS: A Comprehensive Guide URL: https://akashrajpurohit.com/blog/understanding-recursive-dns-a-comprehensive-guide/ Learn about Recursive DNS, how it works and its benefits. Discover why Recursive DNS is important for improving the speed and reliability of domain name resolution and enhancing internet security. Tags: networking Published: 3/14/2023 --- ## Blog: Unleash the Power of Self-Hosted Services with Cloudflare Tunnels URL: https://akashrajpurohit.com/blog/unleash-the-power-of-selfhosted-services-with-cloudflare-tunnels/ Say goodbye to complicated port forwarding and hello to effortless access to your self-hosted services with Cloudflare Tunnels. Discover how to configure and use this game-changing technology. Tags: cloudflare, homelab Published: 3/11/2023 --- ## Blog: Dynamic DNS Made Easy with Cloudflare API URL: https://akashrajpurohit.com/blog/dynamic-dns-made-easy-with-cloudflare-api/ Get rid of the hassle of manual IP updates for your domain with our step-by-step guide on how to create a DDNS using Cloudflare DNS API. Effortlessly keep your domain pointing to your dynamic IP address with just a few simple scripts. Tags: cloudflare, homelab Published: 3/4/2023 --- ## Blog: Concurrency vs. Parallelism: Understanding the Key Differences URL: https://akashrajpurohit.com/blog/concurrency-vs-parallelism-understanding-the-key-differences/ Concurrency and parallelism are often used interchangeably, but they refer to distinct concepts in computer science. In this article, we will break down the differences between concurrency and parallelism, explore the benefits and drawbacks of each, and provide real-world examples to help you better understand these concepts. Tags: system design Published: 3/3/2023 --- ## Blog: Navigating Your Database Efficiently: Cursor Based Pagination vs Offset Based URL: https://akashrajpurohit.com/blog/navigating-your-database-efficiently-cursor-based-pagination-vs-offset-based/ Take control of your database performance with cursor based pagination. Learn why it's a better option compared to offset based pagination. Tags: performance, database Published: 3/1/2023 --- ## Blog: The Importance of 99th Percentile Latency in System Performance URL: https://akashrajpurohit.com/blog/the-importance-of-99th-percentile-latency-in-system-performance/ Latency is a crucial metric for measuring the performance of any system, and understanding the 99th percentile is crucial for determining real-world performance. In this article, we'll delve into what the 99th percentile means and how it is calculated, with examples to help you understand this essential metric. Tags: performance Published: 2/27/2023 --- ## Blog: Installing the Latest Version of Golang on Your Raspberry Pi URL: https://akashrajpurohit.com/blog/installing-the-latest-version-of-golang-on-your-raspberry-pi/ Get started with developing in Golang on your Raspberry Pi. This comprehensive guide will show you how to install the latest version of Golang on your Raspberry Pi, making it a powerful development tool. Tags: golang, raspberrypi Published: 2/25/2023 --- ## Blog: Get Up and Running with the Latest Version of Node.js on Raspberry Pi URL: https://akashrajpurohit.com/blog/get-up-and-running-with-the-latest-version-of-nodejs-on-raspberry-pi/ Do you want to run the latest version of Node.js on your Raspberry Pi? This guide will take you through the process of installing the latest version of Node.js on armhf architecture using binary packages. Tags: nodejs, raspberrypi Published: 2/25/2023 --- ## Blog: Mastering Dotfiles Management with GNU Stow URL: https://akashrajpurohit.com/blog/mastering-dotfiles-management-with-gnu-stow/ If you're a software developer or a power user who works with a UNIX-like operating system, you might have heard about dotfiles. Dotfiles are hidden configuration files that are used to customize the behavior of applications or the shell environment. In this article, we'll explore what dotfiles are, and how to manage them using the GNU Stow project. Tags: engineering Published: 2/21/2023 --- ## Blog: Effortlessly Manage Torrent Downloads with Headless qBittorrent on Linux URL: https://akashrajpurohit.com/blog/effortlessly-manage-torrent-downloads-with-headless-qbittorrent-on-linux/ Learn how to install qBittorrent on a Linux server without a GUI and run it in the background with SystemD for a seamless torrenting experience. Tags: linux Published: 2/19/2023 --- ## Blog: Revamp Your Old Android Phone into a Mini Linux Server URL: https://akashrajpurohit.com/blog/revamp-your-old-android-phone-into-a-mini-linux-server/ Turn your old Android phone into a portable Linux server with the Linux Deploy app. Learn how to set up a Debian server on your device and use it to host websites, run scripts, and more! Tags: homelab Published: 2/17/2023 --- ## Blog: Running a Service in the Background with SystemV in Linux: A Comprehensive Guide URL: https://akashrajpurohit.com/blog/running-a-service-in-the-background-with-systemv-in-linux-a-comprehensive-guide/ Take control of your background services with SystemV in Linux. Learn how to write a SystemV init script, install and start the service, and control its behavior with this comprehensive guide. Tags: linux Published: 2/16/2023 --- ## Blog: Keep Your Services Running in the Background with SystemD URL: https://akashrajpurohit.com/blog/keep-your-services-running-in-the-background-with-systemd/ Do you want your Linux services to keep running even after you log out of your system? SystemD makes it easy to run services in the background. In this guide, we'll show you how to create a SystemD service, start and stop it, and monitor its status. Tags: linux Published: 2/15/2023 --- ## Blog: Init Systems Unveiled — Understanding the Differences between SystemD and SystemV URL: https://akashrajpurohit.com/blog/init-systems-unveiled-understanding-the-differences-between-systemd-and-systemv/ Get a comprehensive understanding of SystemD and SystemV init systems in Linux. Explore the similarities and differences between these two init systems, with explanations to help you make an informed decision. Tags: linux Published: 2/13/2023 --- ## Blog: Effortlessly Download Torrents on Your Server with Aria2 URL: https://akashrajpurohit.com/blog/effortlessly-download-torrents-on-your-server-with-aria2/ Don't wait hours for torrents to download on your server. Aria2 is a lightweight, open-source download manager that can handle torrents with ease. In this guide, we'll show you how to install and set up Aria2 on your server, download torrent files, and manage downloads. Tags: linux Published: 2/12/2023 --- ## Blog: Stay Secure — Essential SSH Security Practices for Linux Servers URL: https://akashrajpurohit.com/blog/stay-secure-essential-ssh-security-practices-for-linux-servers/ Protect your Linux server from potential threats by following best practices for SSH security. Learn about using strong passwords, disabling root login, enabling public key authentication, and more in our comprehensive guide. Tags: linux, security Published: 2/11/2023 --- ## Blog: Protect Your Linux Server with UFW Firewall: A Step-by-Step Guide URL: https://akashrajpurohit.com/blog/protect-your-linux-server-with-ufw-firewall-a-stepbystep-guide/ Ensure the security of your Linux server by setting up a firewall. UFW (Uncomplicated Firewall) is a user-friendly firewall that's easy to set up and configure. In this guide, we'll walk you through the process of installing UFW, creating firewall rules, and managing firewall rules in Linux. Tags: linux, security Published: 2/11/2023 --- ## Blog: Building My First Home Lab URL: https://akashrajpurohit.com/blog/building-my-first-home-lab/ Finally after waiting for a long time, I started building my first Home lab and here's how I got started with it. Tags: homelab Published: 1/4/2023 --- ## Blog: How to protect your website from attacks using Cloudflare WAF and Rate Limiting URL: https://akashrajpurohit.com/blog/how-to-protect-your-website-from-attacks-using-cloudflare-waf-and-rate-limiting/ In this article, I will explain how I was able to protect my website from attackers and how you can too using Cloudflare WAF and rate limiting. Tags: cloudflare, security Published: 11/1/2022 --- ## Blog: How to setup Cloudflare proxy for your website hosted on Vercel or Netlify URL: https://akashrajpurohit.com/blog/how-to-setup-cloudflare-proxy-for-your-website-hosted-on-vercel-or-netlify/ In this article, I will show you how to properly set up Cloudflare proxy for any of your website which is hosted on some other service like Vercel or Netlify. Tags: cloudflare, devops Published: 10/23/2022 --- ## Blog: How I automatically generate a dynamic sitemap in Next.js URL: https://akashrajpurohit.com/blog/how-i-automatically-generate-dynamic-sitemap-in-nextjs/ Learn how to generate a dynamic sitemap on build time automatically in Next.js with Contentlayer Tags: nextjs Published: 10/22/2022 --- ## Blog: 3 simple steps to create a local backup of Postgres database using Bash script URL: https://akashrajpurohit.com/blog/how-i-locally-backup-my-postgres-database-using-bash/ In this article, I will show you how I back up the Postgres database hosted on Supabase (ideally can be anywhere) to the local system and automate this process. Tags: bash, postgres Published: 10/5/2022 --- ## Blog: Add a Honeypot in your Forms to avoid Spam Submissions URL: https://akashrajpurohit.com/blog/add-honeypot-in-your-forms-to-avoid-spam-submissions/ Learn how to quickly add a spam filter to reduce spam submissions in any of your forms on your website. Tags: security Published: 8/21/2022 --- ## Blog: How to add fuzzy search to your React app using Fuse.js URL: https://akashrajpurohit.com/blog/how-to-add-fuzzy-search-to-your-react-app-using-fusejs/ Learn how to create a reusable useSearch hook in react using Typescript to add searching functionality in your app Tags: react Published: 8/20/2022 --- ## Blog: Open Source alternatives you must try - Part 2 URL: https://akashrajpurohit.com/blog/open-source-alternatives-you-must-try-part-2/ List of open source alternatives for Comment systems and virtual meetings Tags: oss Published: 5/17/2022 --- ## Blog: Open Source alternatives you must try - Part 1 URL: https://akashrajpurohit.com/blog/open-source-alternatives-you-must-try-part-1/ List of open source alternatives for Analytics and No-code tools Tags: oss Published: 5/16/2022 --- ## Blog: Journey into "how to professionally say" project URL: https://akashrajpurohit.com/blog/journey-into-how-to-professionally-say-project/ Join me in the journey of this project which got way more traction than expected Tags: projects Published: 5/8/2022 --- ## Blog: How to use ES6 import syntax in Node.js URL: https://akashrajpurohit.com/blog/how-to-use-es6-import-syntax-in-nodejs/ Learn how to quickly start using ES6 import syntax in Node.js Tags: javascript, nodejs Published: 6/4/2021 --- ## Blog: Increase Root Partition Size On Fedora URL: https://akashrajpurohit.com/blog/increase-root-partition-size-on-fedora/ Learn how to increase root partition size on fedora in 2 simple steps. Tags: bash, linux Published: 3/2/2021 --- ## Blog: Backup Users Home Directory In Linux Using Tar Command URL: https://akashrajpurohit.com/blog/backup-users-home-directory-in-linux-using-tar-command/ Learn how to easily and systematically backup your home directory in linux. Tags: bash, linux Published: 3/1/2021 --- ## Blog: Disable Source Maps in GatsbyJs V2 for Production. URL: https://akashrajpurohit.com/blog/disable-source-maps-in-gatsbyjs-v2/ Quickly disable source maps in gatsbyjs for your production website. Tags: gatsby Published: 2/9/2021 --- ## Blog: Infosys Power Programmer Interview Experience URL: https://akashrajpurohit.com/blog/infosys-power-programmer-interview-experience/ Sharing my Infosys power programmer interview experience Tags: interview Published: 1/24/2021 --- ## Blog: How to manage multiple Node.js versions on your system URL: https://akashrajpurohit.com/blog/how-to-manage-multiple-nodejs-versions-on-your-system/ Learn how to manage multiple versions of Node.js on your local system with ease. Tags: nodejs Published: 11/8/2020 --- ## Blog: Top Free Services To Deploy Full-Stack Applications URL: https://akashrajpurohit.com/blog/top-free-services-to-deploy-full-stack-applications/ Sharing the list of these amazing free services that can help you go online with your app for free. Tags: devops Published: 9/20/2020 --- ## Blog: LNT Infotech (LTI) Interview Experience. URL: https://akashrajpurohit.com/blog/lti-interview-experience/ Sharing my LTI pool placement process with the interview experience. Tags: interview Published: 7/5/2020 --- ## Blog: API Rate Limit for Production Ready Applications in Node.js URL: https://akashrajpurohit.com/blog/api-rate-limit-in-nodejs-and-expressjs/ Learn how to quickly rate limit your API endpoints for small and large size applications Tags: nodejs Published: 5/3/2020 --- ## Blog: HackWithInfy 2019 Round 2 Experience. URL: https://akashrajpurohit.com/blog/hackwithinfy-round-2-experience/ Sharing my Hackwithinfy 2019 Round 2 experience and other useful tips. Tags: competition Published: 3/20/2020 --- ## Blog: HackWithInfy 2019 Round 1 Experience. URL: https://akashrajpurohit.com/blog/hackwithinfy-round-1-experience/ Sharing my Hackwithinfy 2019 Round 1 experience and other useful tips. Tags: competition Published: 3/15/2020 --- ## Blog: Github CLI ready for your terminal. URL: https://akashrajpurohit.com/blog/github-cli-tool/ Read more about the new beta feature added by Github which is their Command Line Interface(CLI). Tags: git Published: 3/8/2020 --- ## Blog: New Features in ES2020 with code examples. URL: https://akashrajpurohit.com/blog/new-features-in-es2020-with-sample-examples/ Get insights about new features added in Javascript es2020 like BigInt, Promise.allSettled, Optional Chaining and many more. Tags: javascript Published: 3/3/2020 --- ## Blog: 5 Basic Git Commands Every Developer Must Know URL: https://akashrajpurohit.com/blog/5-basic-git-commands-every-developer-must-know/ Learn the top 5 basic git commands with examples that you must know as a developer in 2020. Tags: git Published: 1/21/2020 --- ## Blog: TCS Codevita Interview Experience URL: https://akashrajpurohit.com/blog/tcs-codevita-interview-experience/ Sharing my TCS Codevita interview experience with bonus tips and questions. Tags: interview Published: 1/15/2020 --- ## Blog: Learn JavaScript Array .reduce() method with code examples URL: https://akashrajpurohit.com/blog/learn-reduce-method-in-javascript-with-code-examples/ Learn about Javascript array reduce method also chaining it with map and filter Tags: javascript Published: 1/11/2020 --- ## Blog: Learn JavaScript Array .filter() method with code examples URL: https://akashrajpurohit.com/blog/learn-filter-method-in-javascript-with-code-examples/ Learn about Javascript array filter method in easiest way possible. Tags: javascript Published: 1/7/2020 --- ## Blog: Learn JavaScript Array .map() method under 5 minutes with code examples URL: https://akashrajpurohit.com/blog/learn-map-method-in-javascript-with-code-examples/ Comprehensive yet very easy explanation about JavaScript array map method along with code examples Tags: javascript Published: 1/5/2020 --- ## Blog: Welcome to my website URL: https://akashrajpurohit.com/blog/welcome-to-my-website/ Finally I have started with this blogging platform. Hope you will have a good time here 😍😍 Tags: personal Published: 1/3/2020 --- ## Snippet: Debounce in JavaScript URL: https://akashrajpurohit.com/snippets/debounce-in-javascript/ Create a simple reusable debounce function Published: 5/27/2022 --- ## Snippet: Disable Version in Nginx URL: https://akashrajpurohit.com/snippets/disable-version-in-nginx/ How to disable the version in Nginx in the `Server` header and on error pages. Published: 2/8/2024 --- ## Snippet: Install Docker on Raspberry Pi with one line command URL: https://akashrajpurohit.com/snippets/install-docker-on-raspberry-pi-with-one-line-command/ One liner command to install docker on Raspberry Pi Published: 9/2/2023 --- ## Snippet: Valid HTTP URL URL: https://akashrajpurohit.com/snippets/is-valid-http-url/ Check if a string is a valid HTTP URL Published: 5/22/2022 --- ## Snippet: Set up media services on Homelab URL: https://akashrajpurohit.com/snippets/media-services-homelab/ A simple docker-compose config to setup media services on homelab Published: 7/15/2023 --- ## Snippet: Redirect with HTML URL: https://akashrajpurohit.com/snippets/redirect-with-html/ Instantly redirect a page without JavaScript Published: 7/17/2025 --- ## Snippet: Loading Progress Indicator URL: https://akashrajpurohit.com/snippets/loading-progress-indicator/ React hook to use NProgress with Next.js router. Published: 5/7/2022 --- ## Snippet: Merge TailwindCSS Classes URL: https://akashrajpurohit.com/snippets/merge-tailwind-classnames/ Simple utility function to merge tailwind classes Published: 5/7/2022 --- ## Snippet: Gradient Text using TailwindCSS URL: https://akashrajpurohit.com/snippets/gradient-text-tailwind/ Create a gradient text using TailwindCSS Published: 5/7/2022 --- ## Snippet: Verify a SystemD service file URL: https://akashrajpurohit.com/snippets/verify-a-systemd-service-file/ Check if a SystemD service file is valid and has no syntax errors. Published: 2/9/2024 --- ## Newsletter: Good Bye 2023 URL: https://akashrajpurohit.com/newsletter/good-bye-2023/ Good Bye 2023 Published: 12/31/2023 --- ## Newsletter: Launching Eternal Vault - A secure digital estate platform URL: https://akashrajpurohit.com/newsletter/launching-eternal-vault/ Eternal Vault is a secure digital estate platform that helps families organize and access important information when they need it most. Published: 7/29/2025 --- ## Newsletter: Tech Digest #1 URL: https://akashrajpurohit.com/newsletter/tech-digest-1/ Your dose of tech trends and the occasional tech tantrum. Published: 9/19/2023 --- ## Newsletter: Welcome to my Newsletter URL: https://akashrajpurohit.com/newsletter/welcome-to-my-newsletter/ This is starting of the new newsletter system on akashrajpurohit.com. Learn about what content you can expect from here and subscribe if you find it interesting. Published: 9/9/2023 --- ## Newsletter: Spot the Bug #1 - The Mysterious JavaScript Loop URL: https://akashrajpurohit.com/newsletter/spot-the-bug-1/ Get ready for a journey into the world of code bugs and debugging. In each "Spot the Bug" edition, you'll face a coding challenge designed to test your problem-solving skills and deepen your understanding of software development. It's not just about finding the bug; it's about the thrill of discovery and the satisfaction of solving a puzzle. Published: 9/26/2023 --- ## Newsletter: Spot the Bug #3 - What is this? URL: https://akashrajpurohit.com/newsletter/spot-the-bug-3/ Get ready for a journey into the world of code bugs and debugging. In each "Spot the Bug" edition, you'll face a coding challenge designed to test your problem-solving skills and deepen your understanding of software development. It's not just about finding the bug; it's about the thrill of discovery and the satisfaction of solving a puzzle. Published: 10/24/2023 --- ## Newsletter: Spot the Bug #2 - Largest number URL: https://akashrajpurohit.com/newsletter/spot-the-bug-2/ Get ready for a journey into the world of code bugs and debugging. In each "Spot the Bug" edition, you'll face a coding challenge designed to test your problem-solving skills and deepen your understanding of software development. It's not just about finding the bug; it's about the thrill of discovery and the satisfaction of solving a puzzle. Published: 10/10/2023