Filters

Cloud Computing & Programming
AWS
Fargate
Step Functions
Serverless
TypeScript
Docker
S3
Tutorial

Learn how to build a robust, serverless application on AWS to perform calculations like $f(x) = x^2 + x$. This step-by-step tutorial guides you through using TypeScript, Docker, AWS Fargate for container execution, S3 for storage, and AWS Step Functions for workflow orchestration, including automated retries for resilience. Perfect for beginners and those looking to combine these powerful AWS services.

Cover image for Securely Deploying a Private EC2 Server with a Bastion Host and Lambda in AWS
Cloud
AWS VPC
Bastion Host
Lambda
Private Subnet
NAT Gateway
Node.js
Security

In this comprehensive blog, discover how to build a production-like AWS environment with a private EC2 server that’s isolated from the public internet, accessible only through a bastion host. We’ll walk through configuring a VPC with public and private subnets, setting up a NAT Gateway for outbound traffic, and deploying a Lambda function that securely communicates with your private server. Whether you're aiming to lock down your infrastructure or explore serverless architectures in tandem with EC2, this step-by-step guide provides the hands-on insights and examples you need.

Range Queries
Range Minimum Query
Sparse Table

This blog is dedicated to simplifying complex mathematical and computational concepts into understandable, actionable insights. Whether you’re exploring data structures like Sparse Tables or delving into intricate algorithmic techniques, our goal is to guide you through the theory, walk you through clear examples, and equip you with the tools to apply these ideas in your own coding projects. By breaking down problems step-by-step and providing real-world context, we strive to turn challenging topics into approachable lessons for learners at every level.

CSES Range Queries
Range Queries
Static Range Sum Queries

Static Range Sum queries using various Algorithms

Web Development
JavaScript
Asynchronous Programming
Loops

An in-depth exploration of JavaScript iteration methods and best practices in asynchronous programming.

Mathematics
Euler Totient Function
Number Theory

An in-depth exploration of an efficient algorithm to compute the sum of Euler's Totient Function up to a large integer N, with detailed step-by-step derivations.

CP & Interviews
Graph Theory
Algorithms
Bridges

In the realm of graph theory, understanding the connectivity of a network is crucial for numerous applications, from network reliability to circuit design. One fascinating aspect of connectivity is identifying 2-edge connected components in an undirected graph. These components remain connected even after the removal of any single edge, highlighting their robustness against single points of failure.

CP & Interviews
String

Dive deep into the Z Algorithm, a fundamental technique in string processing. This blog elucidates the problem statement with clear examples, contrasts the naive and optimized approaches, and provides a step-by-step explanation of the efficient implementation. Ideal for competitive programmers and those preparing for technical interviews, this guide equips you with the knowledge to leverage the Z Algorithm in various string-related challenges.

Cover image for Derangement Proof by Inclusion and Exclusion Principle
Mathematics
combinatorics
derangements
inclusion-exclusion

A comprehensive guide to understanding derangements using the inclusion and exclusion principle.

Cover image for Counting Ways to Cover a $3 \times N$ Rectangle with $2 \times 1$ Tiles
Mathematics
Recurrence Relations
Combinatorics
Tiling Problems
Discrete Mathematics
Dynamic Programming

Dive into the fascinating world of combinatorics as we explore the number of ways to tile a $3 \times N$ rectangle using $2 \times 1$ tiles. This blog breaks down the problem step-by-step, deriving the recurrence relations and providing clear explanations to make complex mathematical concepts accessible to everyone.

Cover image for Scaling WhatsApp Message Broadcasting: How We Successfully Sent 50,000 Messages Using the WhatsApp API
Technology / Programming
WhatsApp API
AWS Lambda
S3
SQS
Next.js
Scalability

In this detailed blog, discover how we efficiently broadcasted 50,000 WhatsApp messages using the WhatsApp API. We delve into the challenges of handling large CSV uploads, optimizing API calls, and leveraging AWS services like Lambda, S3, and SQS to ensure scalability and reliability. Whether you're looking to scale your messaging solutions or enhance your understanding of serverless architectures, this guide provides actionable insights and practical code snippets to help you achieve your goals.

Cover image for Master all SQL Queries for interviews
CP & Interviews
Sql

In this comprehensive guide, you'll master essential SQL queries to ace your database-related interviews. Covering everything from basic commands like showing databases and creating tables to more advanced operations such as join queries and data manipulation, this blog provides detailed examples and observations to enhance your understanding. Whether you're a beginner looking to learn the ropes or an experienced developer aiming to refine your skills, this resource is designed to equip you with the SQL proficiency needed for interview success. Dive in and start mastering SQL today!

CP & Interviews
Bubble Sort
Quick Sort
Insertion Sort
Selection Sort
Merge Sort
Radix Sort
Count Sort
Bucket Sort
Shell Sorting
DNF Sort
Pancake Sort
Tim Sort

Explore the most efficient Sorting Algorithms for Competitive Programming and Interviews. Learn about Bubble Sort, Quick Sort, Insertion Sort, Selection Sort, Merge Sort, Radix Sort, Count Sort, Bucket Sort, Shell Sorting, DNF Sort, Pancake Sort, and Tim Sort. Master the art of sorting with our in-depth guide.

Cover image for The Problem of Dividing Balls into Boxes
CP & Interviews
Maths
PnC

This document discusses various variants of the problem of dividing n balls into *m* boxes. Markdown styles and MathJax have been added to improve readability and to display mathematical equations correctly.

Cover image for Master Linear Dynamic Programming
CP & Interviews
Dynamic Programming
Linear DP
Leetcode Problems

Enhance your dynamic programming skills with our comprehensive collection of Linear DP problems from Leetcode, categorized by difficulty level and accompanied by detailed editorials"

CP & Interviews
Tree Algorithms
CSES

Become a Tree Algorithms expert with our comprehensive solutions for CSES and various problem sets. Prepare for competitive programming and interviews like a pro!

Cover image for Solutions for CSES Graph Problems | CSES Problem Set Guide
CP & Interviews
CSES
Graph

Explore efficient solutions and master essential algorithms for CSES Graph problems in the CSES Problem Set. I have tried to cover most of the problems here.

CP & Interviews
CSES
Sorting
Searching

Explore efficient solutions to the Sorting and Searching section in the CSES Problem Set. Master essential algorithms and optimize your code for optimal performance.

CP & Interviews
Dynamic Programming
CSES

Explore efficient solutions to dynamic programming problems from the CSES problem set and other reputable sources. Improve your algorithm optimization skills and enhance your competitive programming and interview preparation

CP & Interviews
Operating Systems

This blog provides short notes on operating systems, covering various topics such as types of operating systems, CPU scheduling algorithms, process synchronization, deadlock, memory management, paging, and disk scheduling.

Cover image for Shifting From JavaScript to TypeScript: A Comprehensive Guide
Web Development
TypeScript

Learn how to smoothly transition from JavaScript to TypeScript and unlock the benefits of static typing, improved code organization, and enhanced error detection during the development process.

Cover image for Crucial Problems on Modified Binary Search for Technical Interviews
CP & Interviews
Interviews
Binary Search

Discover important problems related to Modified Binary Search that commonly arise in technical interviews. Binary Search is a vital algorithm utilized for efficient searching of a target element in a sorted array. This blog delves into key problem variations, effective strategies, and potential pitfalls, equipping aspiring tech interviewees with essential knowledge to confidently tackle Binary Search challenges.

CP & Interviews
Interviews
Heaps

Uncover essential challenges and solutions related to heaps, a fundamental data structure commonly tested in interviews. This informative article delves into significant problems including heap construction, insertion, deletion, and heap sort. Explore efficient algorithms and clever techniques to optimize heap operations and handle edge cases proficiently. Enhance your understanding of heaps and elevate your problem-solving skills, equipping you for triumph in coding interviews.

CP & Interviews
Interviews
Sliding Window

Explore the essential challenges of sliding window methodologies in this comprehensive blog. Gain valuable insights into the complexities involved and discover effective strategies for overcoming obstacles in data processing. Enhance your understanding of sliding window techniques, equipping yourself with the knowledge needed to tackle these critical problems with confidence during interviews and competitive programming challenges.

CP & Interviews
Overlapping Intervals

Discover how to excel in solving interval overlapping problems in competitive programming, which revolve around manipulating and determining overlaps between intervals (ranges). This article guides you through the process of designing efficient algorithms to tackle these problems effectively. Learn key techniques such as sorting intervals based on start or end points and traversing them to identify overlaps, empowering you to confidently solve overlapping interval problems in competitive programming challenges.

CP & Interviews
Interviews
Two Pointers

Unlock the potential of the Two Pointer Approach with this comprehensive guide. Explore a curated selection of problems that harness the efficiency of this technique to solve a wide range of coding challenges. From basic tasks like finding pairs with a given sum to more complex problems like three-sum variants and array transformations, this guide offers real-world examples, detailed explanations, and comprehensive solutions. Sharpen your skills and gain confidence in tackling coding challenges by mastering the art of the Two Pointer Approach.

CP & Interviews
Codechef
Starters 91

Codechef Contest Starters provide an excellent platform for budding programmers to test their coding skills and enhance their problem-solving abilities. In this blog post, we will delve into the solutions of the problems from Codechef Contest Starters 91 Div 2. By understanding these solutions, you can sharpen your coding prowess and gain valuable insights into tackling similar challenges in the future.

Cover image for Effective Database Scaling Techniques for Web Development
Web Development
Database Scaling
Scaling Strategies

Learn essential strategies for scaling your web application's database to accommodate a growing user base of 10 million users. Scaling databases can be achieved through two primary methods: vertical scaling and horizontal scaling. This article provides valuable insights into selecting the most suitable approach based on your database technology and application requirements, ensuring seamless scalability for your web development projects.

Cover image for Perfect Covers of Chessboards: Exploring Domino Tilings in Combinatorics
Mathematics
combinatorics
maths

An in-depth exploration of perfect covers of chessboards using dominoes, including combinatorial reasoning and mathematical proofs.

CP & Interviews
Data Structure
Sparse Table

Discover the power of the Sparse Table, a highly efficient data structure for answering range queries on static arrays. This blog explores its applications in solving frequent range queries, such as finding the minimum, maximum, sum, or any other associative operation over a subarray. With a preprocessing time complexity of O(n log n) and an impressive O(1) time complexity for range queries, the Sparse Table is a valuable tool in scenarios where the array is static or undergoes infrequent changes. Enhance your understanding of this data structure to excel in interviews and competitive programming challenges.