<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mahmoud EL-kariouny</title>
    <description>The latest articles on DEV Community by Mahmoud EL-kariouny (@mahmoudessam).</description>
    <link>https://dev.to/mahmoudessam</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F414014%2F497d9816-6f2d-46b8-b9e9-f4c3c79fda63.png</url>
      <title>DEV Community: Mahmoud EL-kariouny</title>
      <link>https://dev.to/mahmoudessam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mahmoudessam"/>
    <language>en</language>
    <item>
      <title>🌳 The Story of the Upside-Down Magic Tree Data Structure 🌳</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Wed, 01 Apr 2026 19:35:50 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/the-story-of-the-upside-down-magic-tree-49pf</link>
      <guid>https://dev.to/mahmoudessam/the-story-of-the-upside-down-magic-tree-49pf</guid>
      <description>&lt;p&gt;Once upon a time, in the land of Computoria, there lived a very special tree. But this wasn't a normal tree 🌲.&lt;/p&gt;

&lt;p&gt;In the real world, trees grow up from the ground. But in Computoria, the Data Tree grows down from the sky! ☁️⬇️&lt;/p&gt;

&lt;p&gt;Let's meet the friends who live in this tree!&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Root 👑
&lt;/h3&gt;

&lt;p&gt;At the very top of the tree, there is one special friend called the Root.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Imagine the King or Queen of the tree! 🤴👸&lt;/li&gt;
&lt;li&gt;Everyone else comes from them.&lt;/li&gt;
&lt;li&gt;There is only one Root.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. The Nodes 🟣
&lt;/h3&gt;

&lt;p&gt;Every friend living on the branches is called a Node.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Think of a Node like a room in a big house 🏠.&lt;/li&gt;
&lt;li&gt;Inside each room, there is a treasure (like a number, a name, or a picture) 🎁.&lt;/li&gt;
&lt;li&gt;Every Node (except the Root) has exactly one parent who invited them to the tree.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Parents and Children 👨‍👩‍👧‍👦
&lt;/h3&gt;

&lt;p&gt;The friends in the tree are connected by lines called Edges 〰️.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If Node A invites Node B and Node C to join, Node A is the Parent 👨‍🦱.&lt;/li&gt;
&lt;li&gt;Node B and Node C are the Children 👧👦.&lt;/li&gt;
&lt;li&gt;Just like a family! If you and your sister have the same mom, you are Siblings 👫.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. The Leaves 🍂
&lt;/h3&gt;

&lt;p&gt;Some friends live at the very bottom of the branches.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They don't invite anyone else to join.&lt;/li&gt;
&lt;li&gt;They have no children.&lt;/li&gt;
&lt;li&gt;We call them Leaves.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Why Do We Build This Tree? 🤔
&lt;/h3&gt;

&lt;p&gt;Imagine you have 1,000 toy boxes 🧸. If you throw them all in one pile, finding your favorite red car 🏎️ is hard!&lt;/p&gt;

&lt;p&gt;But if you organize them like a Tree:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First, you go to the Root (The Toy Room) 🚪.&lt;/li&gt;
&lt;li&gt;Then you choose a branch (Cars 🚗 vs. Dolls 🎎).&lt;/li&gt;
&lt;li&gt;Then you choose another branch (Red Cars 🔴 vs. Blue Cars 🔵).&lt;/li&gt;
&lt;li&gt;Suddenly, you find your toy super fast! ⚡&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  📖 The Story Summary
&lt;/h4&gt;

&lt;p&gt;One day, the Root 🌟 decided to organize a party.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;She called her Children 👧👦.&lt;/li&gt;
&lt;li&gt;They called their children 👶.&lt;/li&gt;
&lt;li&gt;The message traveled down the Edges 〰️ until it reached the Leaves 🍃 at the bottom.&lt;/li&gt;
&lt;li&gt;Because everyone knew who their Parent was, nobody got lost! 🗺️&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that is how the Tree Data Structure works! It keeps information organized, connected, and easy to find, just like a big happy family living in an upside-down tree! 🌳💻✨&lt;/p&gt;

&lt;h4&gt;
  
  
  🎒 Quick Cheat Sheet for Kids:
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;Kid-Friendly Meaning&lt;/th&gt;
&lt;th&gt;Emoji&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Root&lt;/td&gt;
&lt;td&gt;The Top Boss&lt;/td&gt;
&lt;td&gt;🌟&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Node&lt;/td&gt;
&lt;td&gt;A Person/Box in the tree&lt;/td&gt;
&lt;td&gt;🟣&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Edge&lt;/td&gt;
&lt;td&gt;The line connecting them&lt;/td&gt;
&lt;td&gt;〰️&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Parent&lt;/td&gt;
&lt;td&gt;The one above&lt;/td&gt;
&lt;td&gt;👆&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Child&lt;/td&gt;
&lt;td&gt;The one below&lt;/td&gt;
&lt;td&gt;👇&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Leaf&lt;/td&gt;
&lt;td&gt;The end of the line&lt;/td&gt;
&lt;td&gt;🍂&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>datastructures</category>
      <category>softwareengineering</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>🐳 The Tale of Docker the Magic Whale 🐳</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Sun, 29 Mar 2026 20:00:45 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/the-tale-of-docker-the-magic-whale-53ho</link>
      <guid>https://dev.to/mahmoudessam/the-tale-of-docker-the-magic-whale-53ho</guid>
      <description>&lt;h3&gt;
  
  
  A Story About Packing Toys Perfectly 🎁✨
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🏰 Before &lt;a href="https://dev.to/mahmoudessam/the-magical-kingdom-of-kuberlandia-58g0"&gt;Kuberlandia&lt;/a&gt;... The Big Problem 😕
&lt;/h4&gt;

&lt;p&gt;Remember the Kingdom of &lt;a href="https://dev.to/mahmoudessam/the-magical-kingdom-of-kuberlandia-58g0"&gt;Kuberlandia&lt;/a&gt; from before? 🏰✨&lt;/p&gt;

&lt;p&gt;Well, before the wizard could manage all the toys, there was a Big Mess! 🌪️&lt;br&gt;
Imagine you built an amazing Lego castle 🏰 on your table 🪑.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It worked perfectly on your table! ✅&lt;/li&gt;
&lt;li&gt;But when you moved it to your friend's table... CRASH! 💥&lt;/li&gt;
&lt;li&gt;The pieces didn't fit! The colors were wrong! 🎨❌&lt;/li&gt;
&lt;li&gt;This was called: "But it works on my machine!" 😫🖥️&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Computers were all different, and apps kept breaking when they moved. 😢&lt;/p&gt;
&lt;h4&gt;
  
  
  🐳 Chapter 1: Enter Docker the Whale! 🌊✨
&lt;/h4&gt;

&lt;p&gt;One day, a friendly Magic Whale named Docker arrived! 🐳💙&lt;br&gt;
He said:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;"Don't worry! I have a special way to pack your toys so they NEVER break, no matter where they go!" 🗣️🛡️&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Docker invented Magic Shipping Containers 📦✨.&lt;/p&gt;
&lt;h4&gt;
  
  
  📸 Chapter 2: The Magic Photo (Image) 🖼️
&lt;/h4&gt;

&lt;p&gt;Docker taught everyone about Images.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An Image is like a perfect photo 📸 or a frozen blueprint 🗺️ of your toy.&lt;/li&gt;
&lt;li&gt;It captures the toy 🧸, the batteries 🔋, the instructions 📋, and even the air around it! 💨&lt;/li&gt;
&lt;li&gt;Once you take the photo, it never changes. It is safe! 🔒&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;🎯 Lesson: A Docker Image is a read-only template that contains everything your app needs!&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  🎁 Chapter 3: The Living Box (Container) 📦💫
&lt;/h4&gt;

&lt;p&gt;But a photo isn't fun to play with... you need the real toy! 🧸&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you use the Image to make a real, running toy, it becomes a Container! 🎉&lt;/li&gt;
&lt;li&gt;You can make one image... and turn it into many containers! 1️⃣➡️🔟&lt;/li&gt;
&lt;li&gt;Each container is like a clone of the photo, but alive and playing! 🏃‍♂️💨&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;🎯 Lesson: A Container is a running instance of an Image!&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;Explanation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Image 📸&lt;/td&gt;
&lt;td&gt;Like a Recipe 📖&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Container 🎁&lt;/td&gt;
&lt;td&gt;Like the Cake 🎂&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image 📸&lt;/td&gt;
&lt;td&gt;Like a Photo 🖼️&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Container 🎁&lt;/td&gt;
&lt;td&gt;Like the Real House 🏠&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image 📸&lt;/td&gt;
&lt;td&gt;Doesn't move ❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Container 🎁&lt;/td&gt;
&lt;td&gt;Runs and Plays ✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h4&gt;
  
  
  📝 Chapter 4: The Recipe Card (Dockerfile) 🍳
&lt;/h4&gt;

&lt;p&gt;How does Docker know what to put in the box? 🤔&lt;/p&gt;

&lt;p&gt;You write a special Recipe Card called a Dockerfile! 📄✍️&lt;/p&gt;

&lt;p&gt;It looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📜 Step 1: Get a blank box 📦
📜 Step 2: Put in Python language 🐍
📜 Step 3: Add my Game Code 🎮
📜 Step 4: Tell it to start playing! ▶️
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Docker reads this card 📖 and POOF! 🪄 It builds your Image automatically! 🏗️✨&lt;/p&gt;

&lt;h4&gt;
  
  
  📚 Chapter 5: The Big Library (Docker Hub) 🌐
&lt;/h4&gt;

&lt;p&gt;What if you don't want to build a toy from scratch? 🛑&lt;br&gt;
You can visit the Big Library called Docker Hub! 🏛️🐳&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It's like a toy store 🛒 where people share their Images.&lt;/li&gt;
&lt;li&gt;Need a database? 🗄️ Grab one!&lt;/li&gt;
&lt;li&gt;Need a web server? 🌐 Grab one!&lt;/li&gt;
&lt;li&gt;You can download them and start playing instantly! ⬇️🚀&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;🎯 Lesson: Docker Hub is a cloud registry where people share Docker Images!&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🤝 Chapter 6: Docker &amp;amp; The Wizard (Kubernetes) 🧙‍♂️🐳
&lt;/h4&gt;

&lt;p&gt;Remember Kube-Master from &lt;a href="https://dev.to/mahmoudessam/the-magical-kingdom-of-kuberlandia-58g0"&gt;Kuberlandia&lt;/a&gt;? 🧙‍♂️🏰&lt;/p&gt;

&lt;p&gt;He and Docker are Best Friends! 🤝💙&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Docker's Job: 📦 Pack the toys safely so they don't break.&lt;/li&gt;
&lt;li&gt;Kubernetes' Job: 🎪 Manage the playgrounds so there's always room for the toys.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;🐳 Docker builds the containers.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;🏰 Kubernetes organizes the containers.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;They work together to make sure the whole world can play! 🌍🎮&lt;/p&gt;

&lt;h4&gt;
  
  
  🎊 The Happy Ending 🎊
&lt;/h4&gt;

&lt;p&gt;Thanks to Docker the Whale:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Toys work everywhere (Laptop, Cloud, Server)! 💻☁️🖥️&lt;/li&gt;
&lt;li&gt;✅ No more "It works on my machine" tears! 😢➡️😄&lt;/li&gt;
&lt;li&gt;✅ Building apps is as easy as following a recipe! 🍳📜&lt;/li&gt;
&lt;li&gt;✅ Friends can share toys easily! 🎁🤝&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  🧒 Quick Recap for Little Engineers:
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Docker Thing&lt;/th&gt;
&lt;th&gt;Kid-Friendly Meaning&lt;/th&gt;
&lt;th&gt;Emoji&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;The Magic Whale Packager&lt;/td&gt;
&lt;td&gt;🐳📦&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image&lt;/td&gt;
&lt;td&gt;The Frozen Photo/Recipe&lt;/td&gt;
&lt;td&gt;📸📜&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Container&lt;/td&gt;
&lt;td&gt;The Running Toy Box&lt;/td&gt;
&lt;td&gt;🎁✨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dockerfile&lt;/td&gt;
&lt;td&gt;The Instruction Card&lt;/td&gt;
&lt;td&gt;📝🍳&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docker Hub&lt;/td&gt;
&lt;td&gt;The App Store/Library&lt;/td&gt;
&lt;td&gt;📚🌐&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"It works on my machine"&lt;/td&gt;
&lt;td&gt;The Problem Docker Fixed!&lt;/td&gt;
&lt;td&gt;🛠️❌&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;🌟 Remember, little builder:&lt;/em&gt;&lt;/strong&gt; Docker is like a magic suitcase 🧳 that packs your computer program with everything it needs, so it can travel anywhere in the world without getting lost or broken! 🌍✈️💙&lt;/p&gt;

&lt;p&gt;&lt;em&gt;🐳 Swim safely with Docker! 🌊🚀💻&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Next stop: &lt;a href="https://dev.to/mahmoudessam/the-magical-kingdom-of-kuberlandia-58g0"&gt;Kuberlandia&lt;/a&gt; to manage all those containers! 🏰🧙‍♂️&lt;/em&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>cloud</category>
      <category>devops</category>
      <category>cloudcomputing</category>
    </item>
    <item>
      <title>🌟 The Magical Kingdom of Kuberlandia 🌟</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Thu, 26 Mar 2026 16:02:46 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/the-magical-kingdom-of-kuberlandia-58g0</link>
      <guid>https://dev.to/mahmoudessam/the-magical-kingdom-of-kuberlandia-58g0</guid>
      <description>&lt;h2&gt;
  
  
  A Kubernetes Story for Little Explorers 🧒✨
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🏰 Once Upon a Time...
&lt;/h3&gt;

&lt;p&gt;In a faraway digital land called Kuberlandia, there lived a wise wizard named Kube-Master 🧙‍♂️✨. His job was to make sure all the toy applications 🧸🚗🎮 ran happily and never got lost!&lt;/p&gt;

&lt;h4&gt;
  
  
  📦 Chapter 1: The Magic Toy Boxes (Containers) 🎁
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Every toy in Kuberlandia lived in a Magic Toy Box 📦✨.
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Each box had everything the toy needed: snacks 🍪, blankets 🛏️, and instructions 📋&lt;/li&gt;
&lt;li&gt;These boxes were called Containers 🐳 (like Docker the friendly whale!)&lt;/li&gt;
&lt;li&gt;No matter where the box traveled, the toy inside was always happy! 🎈&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;🎯 Lesson: Containers keep apps safe and portable!&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🏠 Chapter 2: Cozy Little Houses (Pods) 🛏️
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Sometimes, toys liked to have roommates! 🤗
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;The wizard put 1 or more Magic Toy Boxes into a Cozy Little House called a Pod 🏠💫&lt;/li&gt;
&lt;li&gt;Pods were the smallest homes in Kuberlandia 🌱&lt;/li&gt;
&lt;li&gt;Friends in the same Pod could share toys and talk easily! 🗣️🎲&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;🎯 Lesson: Pods are the smallest units that hold one or more containers!&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🎪 Chapter 3: The Big Playground (Nodes)
&lt;/h4&gt;

&lt;h5&gt;
  
  
  All the Cozy Houses lived on big, strong Playgrounds called Nodes 💪
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Each Node had energy (CPU) ⚡, memory (RAM) 🧠, and space (Storage) 🗄️&lt;/li&gt;
&lt;li&gt;Some playgrounds were big, some were small — but all were important! 🌈&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;🎯 Lesson: Nodes are the computers (servers) that run your pods!&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🌍 Chapter 4: The Grand Kingdom (Cluster) 👑
&lt;/h4&gt;

&lt;h5&gt;
  
  
  All the playgrounds together made the Grand Kingdom of Kuberlandia — also called a Cluster! 🏰✨
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;The wizard could add more playgrounds whenever more toys arrived! 🎁➕&lt;/li&gt;
&lt;li&gt;If one playground needed a nap 🛌, the toys just moved to another! 🔄&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;🎯 Lesson: A cluster is a group of nodes working together!&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🤖 Chapter 5: The Helpful Helpers ✨
&lt;/h4&gt;

&lt;h5&gt;
  
  
  The wizard had magical friends to help run the kingdom:
&lt;/h5&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Helper&lt;/th&gt;
&lt;th&gt;Emoji&lt;/th&gt;
&lt;th&gt;Job&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Kubelet&lt;/td&gt;
&lt;td&gt;👷‍♂️&lt;/td&gt;
&lt;td&gt;The playground monitor who makes sure every Pod is happy and healthy!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scheduler&lt;/td&gt;
&lt;td&gt;🗓️✨&lt;/td&gt;
&lt;td&gt;The smart planner who finds the best playground for new Pods!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Controller Manager&lt;/td&gt;
&lt;td&gt;🎮🔧&lt;/td&gt;
&lt;td&gt;The rule-keeper who makes sure the kingdom always looks like the wizard wants!&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;etcd&lt;/td&gt;
&lt;td&gt;🗄️💾&lt;/td&gt;
&lt;td&gt;The magical memory book that remembers EVERYTHING! 📚✨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  Chapter 6: The Magic Spells (Kubernetes Features) 🌈
&lt;/h4&gt;

&lt;h5&gt;
  
  
  🔁 Self-Healing Magic ✨
&lt;/h5&gt;

&lt;p&gt;&lt;em&gt;If a toy got sleepy and fell over 😴, the wizard's spell would automatically wake up a new one! 🔄🎈&lt;br&gt;
"Don't worry, little toy — we've got you!" 💙&lt;/em&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  📈 Scaling Spell (More Fun!) 🎉
&lt;/h5&gt;

&lt;p&gt;&lt;em&gt;When lots of kids wanted to play 🧒🧒🧒, the wizard could cast:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;✨ "Make 5 more toy houses!" ✨&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;And POOF! 🎇 More Pods appeared to keep everyone happy! 🥳&lt;/em&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  🔄 Rolling Updates (New Toys!) 🎁
&lt;/h5&gt;

&lt;p&gt;&lt;em&gt;When a toy got a cool new outfit 👕✨, the wizard updated them one-by-one — so playtime never stopped! 🎠&lt;/em&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  🏷️ Service: The Friendly Name Tag
&lt;/h5&gt;

&lt;p&gt;&lt;em&gt;Instead of remembering complicated addresses 🗺️, toys just called each other by friendly names:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;"Hey, 🎮 GameServer! Can I join?" 🙋‍♂️&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The Service magic made sure they always found each other! 🤝💫&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  📜 Chapter 7: The Wizard's Recipe Book (YAML) 📖✍️
&lt;/h4&gt;

&lt;h5&gt;
  
  
  The wizard wrote all his wishes in a special recipe book using YAML scrolls 📜✨:
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🧸 Toy: SuperFunGame
📦 Boxes: 1
🏠 Houses: 3 copies (just in case!)
🎪 Playground: Any with extra energy! ⚡
✨ Magic: If one falls, make a new one! 🔄
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;🎯 Lesson: YAML files tell Kubernetes what you want it to do!&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  🎊 The Happy Ending 🎊
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Thanks to Kuberlandia's magic:
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;✅ Toys never get lost 🗺️💙&lt;/li&gt;
&lt;li&gt;✅ Parties grow automatically when friends arrive 🎈➕&lt;/li&gt;
&lt;li&gt;✅ Broken toys are replaced like magic! 🪄🔧&lt;/li&gt;
&lt;li&gt;✅ Everyone plays happily ever after! 🌈🧸🚀&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  🧒 Quick Recap for Little Geniuses:
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Kubernetes Thing&lt;/th&gt;
&lt;th&gt;Kid-Friendly Meaning&lt;/th&gt;
&lt;th&gt;Emoji&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Container&lt;/td&gt;
&lt;td&gt;Magic Toy Box&lt;/td&gt;
&lt;td&gt;📦🐳&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pod&lt;/td&gt;
&lt;td&gt;Cozy Little House&lt;/td&gt;
&lt;td&gt;🏠✨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Node&lt;/td&gt;
&lt;td&gt;Big Playground&lt;/td&gt;
&lt;td&gt;🎪💪&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cluster&lt;/td&gt;
&lt;td&gt;Whole Kingdom&lt;/td&gt;
&lt;td&gt;🏰🌍&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;Wizard's Recipe&lt;/td&gt;
&lt;td&gt;📜🧙‍♂️&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Service&lt;/td&gt;
&lt;td&gt;Friendly Name Tag&lt;/td&gt;
&lt;td&gt;🏷️🤝&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scaling&lt;/td&gt;
&lt;td&gt;Invite More Friends!&lt;/td&gt;
&lt;td&gt;🎉➕&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-Healing&lt;/td&gt;
&lt;td&gt;Magic Comeback Spell&lt;/td&gt;
&lt;td&gt;🪄🔄&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;🌟 Remember, little explorer: Kubernetes is like a magical kingdom that helps computer toys play together, stay safe, and have endless fun — all by themselves! 🤖💙✨&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;🎈 Now you know the secret of Kuberlandia! 🗝️🐳🚀&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The End... or just the beginning of your cloud adventure! 🌤️🗺️💻&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>cloudcomputing</category>
      <category>kubernetes</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Bubble Sort for Kids: Sorting Made Fun! 🧒✨</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Thu, 23 Oct 2025 00:12:12 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/bubble-sort-for-kids-sorting-made-fun-3bj2</link>
      <guid>https://dev.to/mahmoudessam/bubble-sort-for-kids-sorting-made-fun-3bj2</guid>
      <description>&lt;p&gt;Hey boys! Have you ever tried putting your toys in order, like lining up your action figures from shortest to tallest? Today, we’re going to learn about a super cool way to sort things called Bubble Sort. It’s like a game where numbers (or toys!) take turns swapping places until they’re all in the right order. Let’s dive in with some fun examples to make it easy to understand!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Bubble Sort? 🛁
&lt;/h2&gt;

&lt;p&gt;Imagine you have a row of colorful balloons, and each balloon has a number on it. Your job is to line them up so the numbers go from smallest to biggest, like 1, 2, 3, and so on. Bubble Sort is a way to do this by comparing two balloons at a time. If they’re in the wrong order, they swap places—like bubbles floating up to the top of a glass of soda! 🥤&lt;/p&gt;

&lt;h4&gt;
  
  
  Here’s how it works:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Look at two balloons next to each other.&lt;/li&gt;
&lt;li&gt;If the bigger number is on the left, swap it with the smaller number on the right.&lt;/li&gt;
&lt;li&gt;Keep doing this for every pair of balloons until you reach the end of the row.&lt;/li&gt;
&lt;li&gt;Repeat the whole process until all the balloons are in order.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let’s Try an Example! 🎈
&lt;/h2&gt;

&lt;p&gt;Suppose you have 4 balloons with these numbers: 5, 2, 4, 1. Let’s sort them step by step using Bubble Sort to get 1, 2, 4, 5.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1: First Pass
&lt;/h4&gt;

&lt;p&gt;Start with the first two balloons: 5 and 2.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is 5 bigger than 2? Yes! So, swap them.&lt;/li&gt;
&lt;li&gt;Now you have: 2, 5, 4, 1.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next, look at the next two balloons: 5 and 4.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Is 5 bigger than 4? Yes! Swap them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now you have: 2, 4, 5, 1.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, compare the last two balloons: 5 and 1.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Is 5 bigger than 1? Yes! Swap them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now you have: 2, 4, 1, 5.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After this pass, the biggest number, 5, is at the end like a big bubble that floated to the top!&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2: Second Pass
&lt;/h4&gt;

&lt;p&gt;Start again from the beginning, but this time, we don’t need to check the last balloon (5) because it’s already in the right spot.&lt;/p&gt;

&lt;p&gt;Compare 2 and 4.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is 2 bigger than 4? No, they’re fine as is.&lt;/li&gt;
&lt;li&gt;Keep them: 2, 4, 1, 5.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Compare 4 and 1.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is 4 bigger than 1? Yes! Swap them.&lt;/li&gt;
&lt;li&gt;Now you have: 2, 1, 4, 5.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Step 3: Third Pass
&lt;/h4&gt;

&lt;p&gt;Again, we only check the first three balloons because 5 is sorted.&lt;/p&gt;

&lt;p&gt;Compare 2 and 1.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is 2 bigger than 1? Yes! Swap them.&lt;/li&gt;
&lt;li&gt;Now you have: 1, 2, 4, 5.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Step 4: Check If We’re Done
&lt;/h4&gt;

&lt;p&gt;Look at the first two balloons: 1 and 2.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is 2 bigger than 4? No, they’re good.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything’s in order: 1, 2, 4, 5! 🎉 We’re done!&lt;/p&gt;

&lt;h3&gt;
  
  
  🐍 How a Computer Does It (in Python!)
&lt;/h3&gt;

&lt;p&gt;Even a computer can do the same thing step by step! 💻&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
            &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# [1, 2, 3, 4, 5]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Try It With Toys! 🧸
&lt;/h2&gt;

&lt;p&gt;Want to make it even more fun? Grab some of your toys—like stuffed animals or cars—and give each one a number (you can write it on a sticky note). Line them up and try Bubble Sort:&lt;/p&gt;

&lt;p&gt;1- Compare two toys at a time.&lt;br&gt;
2- If the toy with the bigger number is on the left, swap it with the toy on the right.&lt;br&gt;
3- Keep going until all your toys are lined up from smallest to biggest number.&lt;/p&gt;

&lt;p&gt;For example, if your toys have numbers 3, 1, 2:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compare 3 and 1. Swap them to get 1, 3, 2.&lt;/li&gt;
&lt;li&gt;Compare 3 and 2. Swap them to get 1, 2, 3.&lt;/li&gt;
&lt;li&gt;Done! Your toys are now in order.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Is Bubble Sort Cool? 😎
&lt;/h2&gt;

&lt;p&gt;Bubble Sort is like a fun puzzle that helps you put things in order. It’s easy to understand, and you can use it to sort all kinds of things, like numbers, toys, or even your favorite snacks by size! Computers use Bubble Sort (and other sorting tricks) to organize information, like putting names in alphabetical order or arranging scores in a game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s Play a Game! 🎲
&lt;/h2&gt;

&lt;p&gt;Next time you’re with your friends, try this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write down 5 numbers on pieces of paper (like 7, 3, 9, 2, 6).&lt;/li&gt;
&lt;li&gt;Take turns being the “sorter” and use Bubble Sort to put them in order.&lt;/li&gt;
&lt;li&gt;See who can sort them the fastest!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bubble Sort is a great way to practice thinking like a computer scientist while having fun. So grab some balloons, toys, or numbers, and start sorting! 🥳&lt;/p&gt;

</description>
      <category>python</category>
      <category>algorithms</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Sun, 21 Sep 2025 22:08:23 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/-158f</link>
      <guid>https://dev.to/mahmoudessam/-158f</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/mahmoudessam/18-free-harvard-courses-223k" class="crayons-story__hidden-navigation-link"&gt;15 FREE Harvard Courses 🎓📣🔥🎉🥳😎&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/mahmoudessam" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F414014%2F497d9816-6f2d-46b8-b9e9-f4c3c79fda63.png" alt="mahmoudessam profile" class="crayons-avatar__image" width="800" height="1207"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/mahmoudessam" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Mahmoud EL-kariouny
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Mahmoud EL-kariouny
                
              
              &lt;div id="story-author-preview-content-1233348" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/mahmoudessam" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F414014%2F497d9816-6f2d-46b8-b9e9-f4c3c79fda63.png" class="crayons-avatar__image" alt="" width="800" height="1207"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Mahmoud EL-kariouny&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/mahmoudessam/18-free-harvard-courses-223k" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 28 '22&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/mahmoudessam/18-free-harvard-courses-223k" id="article-link-1233348"&gt;
          15 FREE Harvard Courses 🎓📣🔥🎉🥳😎
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/courese"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;courese&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tutorial"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tutorial&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/mahmoudessam/18-free-harvard-courses-223k" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;106&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/mahmoudessam/18-free-harvard-courses-223k#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              18&lt;span class="hidden s:inline"&gt; comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>courese</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Python Quiz — Closures &amp; Loop Variables</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Sun, 31 Aug 2025 13:20:46 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/python-quiz-closures-loop-variables-n9d</link>
      <guid>https://dev.to/mahmoudessam/python-quiz-closures-loop-variables-n9d</guid>
      <description>&lt;h3&gt;
  
  
  What is the output of this code and why 🤔?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;make_counters&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;counters&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;
        &lt;span class="n"&gt;counters&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;counters&lt;/span&gt;

&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;make_counters&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;a&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nf"&gt;b&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nf"&gt;c&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;


&lt;span class="n"&gt;Outputs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;

&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Raises&lt;/span&gt; &lt;span class="n"&gt;an&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why this quiz matters
&lt;/h3&gt;

&lt;p&gt;This short snippet looks simple, but it probes a set of Python behaviors that commonly trip up learners and even experienced developers when writing higher-order functions or factories. The quiz focuses on three tightly related concepts:&lt;/p&gt;

&lt;h5&gt;
  
  
  1. Closures and capturing variables
&lt;/h5&gt;

&lt;p&gt;A closure is a function that &lt;strong&gt;remembers&lt;/strong&gt; the environment in which it was defined. When you create a function inside another function, that inner function can reference variables from the outer scope. But how those variables are referenced (and when they’re looked up) is crucial.&lt;/p&gt;

&lt;h5&gt;
  
  
  2. Late binding vs early binding
&lt;/h5&gt;

&lt;p&gt;Python’s name lookup for variables captured by closures happens at call time (often referred to as “late binding”), not necessarily at the moment the inner function is defined. That timing affects what value the inner function returns when you call it later.&lt;/p&gt;

&lt;h5&gt;
  
  
  3. Loop variables &amp;amp; function factories
&lt;/h5&gt;

&lt;p&gt;Creating functions inside loops is a common pattern (e.g., creating a list of callbacks). When the inner function references the loop variable, you need to understand whether each function captures a distinct value or the same variable that later changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to approach this puzzle (without spoiling it)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Read it slowly: identify where functions are defined and where variables are created/modified.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ask “when is i evaluated?” — at definition time or at call time?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consider running a mental simulation: imagine the loop running and the functions being appended — then imagine calling them later.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Try small experiments if you’re stuck: insert a print inside the loop, or inspect attributes of the returned functions in an interactive REPL. (Tip: stepping through with a debugger or using dis can also reveal evaluation order.)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Learning takeaway
&lt;/h3&gt;

&lt;p&gt;Understanding closures and the timing of variable lookups will save you from subtle bugs when building function factories, decorators, callbacks, or any code that generates functions dynamically. Once you can reason about where and when each name is resolved, patterns like these become powerful tools instead of traps.&lt;/p&gt;

&lt;p&gt;Write your solution below in the comment or view it here: &lt;a href="https://codemasterycentre.blogspot.com/2025/08/understanding-python-closures-loop.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with Me 😊
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔗 Links
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Flinkedin-0A66C2%3Fstyle%3Dfor-the-badge%26logo%3Dlinkedin%26logoColor%3Dwhite" alt="linkedin" width="91" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Mahmoud42275" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Ftwitter-1DA1F2%3Fstyle%3Dfor-the-badge%26logo%3Dtwitter%26logoColor%3Dwhite" alt="twitter" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Explain Python decorator for kids🧒</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Sun, 09 Mar 2025 15:31:52 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/explain-python-decorator-for-kids-10co</link>
      <guid>https://dev.to/mahmoudessam/explain-python-decorator-for-kids-10co</guid>
      <description>&lt;p&gt;Hey there! Today, I’m going to explain something really cool in Python called decorators. It might sound like a big word, but don’t worry it’s actually pretty simple, and I’ll use fun examples to show you how it works.&lt;/p&gt;

&lt;h3&gt;
  
  
  What’s a Decorator?
&lt;/h3&gt;

&lt;p&gt;In Python, a decorator is like a magic box you can put a function into. A function is just a little instruction that tells the computer to do something, like say hello or calculate a number. When you put the function in the magic box (the decorator), it comes out with extra powers—without you having to change the function itself!&lt;/p&gt;

&lt;p&gt;Think of it like this: You have a toy car that moves. It’s great, but what if you want it to make a cool sound or go faster? You don’t want to rebuild the car; you just want to add something extra. A decorator is like adding a booster or a sound button to your toy—it makes it more fun without changing what it already does.&lt;/p&gt;

&lt;p&gt;Let’s look at some examples to make it super clear.&lt;/p&gt;

&lt;h4&gt;
  
  
  Example 1: A Toy That Says "Hi!"
&lt;/h4&gt;

&lt;p&gt;Let’s say you have a toy that talks. You want it to say "Hi!" before it does its job. Here’s how a decorator works:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# This is our "sticker" (decorator)
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;say_hi&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;func&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;new_toy&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hi!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nf"&gt;func&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;# The original toy still works
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;new_toy&lt;/span&gt;

&lt;span class="c1"&gt;# This is our toy (function)
&lt;/span&gt;&lt;span class="nd"&gt;@say_hi&lt;/span&gt;  &lt;span class="c1"&gt;# Slap the sticker on!
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;talk&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;I’m a robot toy!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Play with the toy
&lt;/span&gt;&lt;span class="nf"&gt;talk&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If we use it like this: talk(), it prints:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hi!
I’m a robot toy!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Example 2: A Singing Toy
&lt;/h4&gt;

&lt;p&gt;Now let’s make a toy that sings a little song before it works!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Our sticker (decorator)
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;sing_song&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;func&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;new_toy&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;🎵 La la la! 🎵&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nf"&gt;func&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;# The toy does its thing
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;new_toy&lt;/span&gt;

&lt;span class="c1"&gt;# Our toy
&lt;/span&gt;&lt;span class="nd"&gt;@sing_song&lt;/span&gt;  &lt;span class="c1"&gt;# Add the singing sticker!
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;dance&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;I’m dancing!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Play with it
&lt;/span&gt;&lt;span class="nf"&gt;dance&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If we use it like this: dance(), it prints:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🎵 La la la! 🎵
I’m dancing!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Note:&lt;br&gt;
The naming convention for the inner function &lt;code&gt;wrapper&lt;/code&gt; should follow best practices.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Why Are Decorators Awesome?
&lt;/h3&gt;

&lt;p&gt;So, decorators are like special wrappers you can put around your functions to give them extra powers. They’re great because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You don’t have to change the original function.&lt;/li&gt;
&lt;li&gt;You can use the same decorator on lots of functions.&lt;/li&gt;
&lt;li&gt;They make your code more fun and flexible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of it like decorating a gift. The gift inside stays the same, but you add pretty paper or a bow to make it special. In Python, the function is the gift, and the decorator is the wrapping that makes it even better.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with Me 😊
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔗 Links
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Flinkedin-0A66C2%3Fstyle%3Dfor-the-badge%26logo%3Dlinkedin%26logoColor%3Dwhite" alt="linkedin" width="91" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Mahmoud42275" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Ftwitter-1DA1F2%3Fstyle%3Dfor-the-badge%26logo%3Dtwitter%26logoColor%3Dwhite" alt="twitter" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I'm Building a Full-Stack App: Plan Pilot Streamlining Side Project Management</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Sat, 24 Feb 2024 17:46:55 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/plan-pilot-streamlining-side-project-management-6pb</link>
      <guid>https://dev.to/mahmoudessam/plan-pilot-streamlining-side-project-management-6pb</guid>
      <description>&lt;h2&gt;
  
  
  Introducing
&lt;/h2&gt;

&lt;p&gt;As a side project enthusiast, I've always been on the lookout for efficient tools to manage my ventures. Inspired by the robust functionality of Jira, I embarked on a journey to develop a tailored solution that would cater to my specific needs. Thus, &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; was born.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Genesis:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; began with a simple goal in mind: to streamline side project management. Starting from scratch, I prioritized the creation of essential features such as user authentication and project creation to ensure a seamless user experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fccn7914o0w491ywungu2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fccn7914o0w491ywungu2.png" alt=" " width="800" height="764"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Crafting Core Functionality:
&lt;/h3&gt;

&lt;p&gt;Building upon the foundation laid, I delved into crafting the core project management functionalities. Users can now effortlessly create project profiles, complete with detailed descriptions and associated to-do lists. This lays the groundwork for effective task management, providing a centralized hub for all project-related activities.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2cz15yourqptbohb29q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2cz15yourqptbohb29q.png" alt=" " width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Diving Deeper:
&lt;/h3&gt;

&lt;p&gt;But why stop there? &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; goes beyond basic project management by offering advanced features such as subtask creation, note-taking capabilities, and file attachments—all within the intuitive project interface. This level of granularity empowers users to dive deeper into task management, ensuring nothing falls through the cracks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fll4cafzo0391dctfye3b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fll4cafzo0391dctfye3b.png" alt=" " width="800" height="1160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Technologies Used
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Django:&lt;/strong&gt; At the heart of &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; lies Django, a high-level Python web framework renowned for its rapid development capabilities and clean, pragmatic design philosophy. Leveraging Django's built-in features for tasks such as database migrations, URL routing, and template rendering, &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; is able to deliver a powerful project management platform with minimal development overhead.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tailwind CSS:&lt;/strong&gt; &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; sleek and intuitive user interface owes much to Tailwind CSS, a highly customizable, utility-first CSS framework. By leveraging Tailwind CSS, we're able to create modern and responsive user interfaces that adapt seamlessly to various screen sizes and device types. This ensures that users can access and manage their side projects effortlessly, whether they're on a desktop, tablet, or mobile device.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Continuous Refinement:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; is not a static entity; it's a dynamic project that evolves with user feedback and ongoing refinement. Drawing upon the functionality of Jira, I continuously tweak and enhance &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; to maximize its utility and effectiveness in managing side projects.&lt;/p&gt;

&lt;h6&gt;
  
  
  Conclusion:
&lt;/h6&gt;

&lt;p&gt;In summary, &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; is more than just a project management tool—it's a personal initiative aimed at optimizing the way we approach side projects. Whether you're a solo entrepreneur or part of a small team, &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; offers the features and flexibility you need to stay organized and focused on what matters most: bringing your ideas to life.&lt;/p&gt;

&lt;p&gt;Join me on this journey as we navigate the world of side projects, with &lt;a href="https://github.com/mahmoudessam820/planpilot" rel="noopener noreferrer"&gt;Plan Pilot&lt;/a&gt; as our trusted co-pilot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with Me 😊
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔗 Links
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Flinkedin-0A66C2%3Fstyle%3Dfor-the-badge%26logo%3Dlinkedin%26logoColor%3Dwhite" alt="linkedin" width="91" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Mahmoud42275" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Ftwitter-1DA1F2%3Fstyle%3Dfor-the-badge%26logo%3Dtwitter%26logoColor%3Dwhite" alt="twitter" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>django</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>python</category>
    </item>
    <item>
      <title>Python 🐍 challenge_33⚔️</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Thu, 04 Jan 2024 00:56:23 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/python-challenge33-4pna</link>
      <guid>https://dev.to/mahmoudessam/python-challenge33-4pna</guid>
      <description>&lt;h2&gt;
  
  
  Credit Card Mask 💳
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Usually when you buy something, you're asked whether your credit card number,&lt;/li&gt;
&lt;li&gt;phone number or answer to your most secret question is still correct. &lt;/li&gt;
&lt;li&gt;However, since someone could look over your shoulder, &lt;/li&gt;
&lt;li&gt;&lt;p&gt;you don't want that shown on your screen. Instead, we mask it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your task is to write a function maskify, &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;which changes all but the last four characters into '#'.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"4556364607935616"      --&amp;gt;  "############5616"
"64607935616"           --&amp;gt;      "#######5616"
"1"                     --&amp;gt;                "1"
""                      --&amp;gt;                 ""

"What was the name of your first pet?"

"Skippy"                                    --&amp;gt; "##ippy"
"Nananananananananananananananana Batman!"  --&amp;gt; "####################################man!"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Task URL: &lt;a href="https://www.codewars.com/kata/5412509bd436bd33920011bc/python" rel="noopener noreferrer"&gt;https://www.codewars.com/kata/5412509bd436bd33920011bc/python&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Solution:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def maskify(cc):
    """
    Masks the credit card number by replacing 
        all but the last four characters with '#'
    Args:
        cc (str): The credit card number as a string
    Returns:
        str: The masked credit card number
    """
    credit_card = str(cc)

    if len(credit_card) == 1 or len(credit_card) == 4:
        return credit_card
    if credit_card == "":
        return ""

    start = credit_card[0:-4]
    end = credit_card[-4:]
    hash = len(start) * '#'
    hash_credit_card = "".join([hash, end])

    return hash_credit_card

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Code Snapshot:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7565kojgwt3si7cpgdi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7565kojgwt3si7cpgdi.png" alt=" " width="800" height="871"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn Python
&lt;/h3&gt;

&lt;h6&gt;
  
  
  Python top free courses from Coursera🐍💯🚀
&lt;/h6&gt;

&lt;p&gt;🎥   &lt;iframe src="https://www.youtube.com/embed/2VRXU2H4q0c"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with Me 😊
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔗 Links
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Flinkedin-0A66C2%3Fstyle%3Dfor-the-badge%26logo%3Dlinkedin%26logoColor%3Dwhite" alt="linkedin" width="91" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Mahmoud42275" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Ftwitter-1DA1F2%3Fstyle%3Dfor-the-badge%26logo%3Dtwitter%26logoColor%3Dwhite" alt="twitter" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>challenge</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>SQL 📊 challenge_3 ⚔️</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Tue, 10 Oct 2023 16:54:40 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/sql-challenge3-3c0b</link>
      <guid>https://dev.to/mahmoudessam/sql-challenge3-3c0b</guid>
      <description>&lt;h2&gt;
  
  
  Laptop Vs Mobile Viewership New York Times SQL Interview Question 💥
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Assume you're given the table on user viewership categorized by device type where the three types are laptop, tablet, and phone.&lt;/li&gt;
&lt;li&gt;Write a query that calculates the total viewership for laptops and mobile devices where mobile is defined as the sum of tablet and phone viewership.&lt;/li&gt;
&lt;li&gt;Output the total viewership for laptops as laptop_reviews and the total viewership for mobile devices as mobile_views.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  ⚠️Note:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;You have to visit the task URL to fully understand what the task needs if you want to add a solution or test your solution.&lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  Task URL: &lt;a href="https://datalemur.com/questions/laptop-mobile-viewership" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/h6&gt;

&lt;h2&gt;
  
  
  My Solution:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
SELECT 

  SUM(CASE WHEN device_type = 'laptop' THEN 1 ELSE 0 END) AS laptop_views,
  SUM(CASE WHEN device_type IN ('phone', 'tablet') THEN 1 ELSE 0 END) AS mobile_views

FROM viewership;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Code Snapshot:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34m2tbogudx3n1eemgg6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34m2tbogudx3n1eemgg6.png" alt=" " width="800" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  My Problem 💡 Solving Repo: &lt;a href="https://github.com/mahmoudessam820/Python-JavaScript-Programming-Exercises-" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/h4&gt;

&lt;h3&gt;
  
  
  Learn SQL 📊
&lt;/h3&gt;

&lt;h6&gt;
  
  
  SQL 🔥 Get Expertise in SQL with These Top Free Courses💯🏆
&lt;/h6&gt;

&lt;p&gt;🎥   &lt;iframe src="https://www.youtube.com/embed/00loCpVmozI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with Me 😊
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔗 Links
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Flinkedin-0A66C2%3Fstyle%3Dfor-the-badge%26logo%3Dlinkedin%26logoColor%3Dwhite" alt="linkedin" width="91" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Mahmoud42275" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Ftwitter-1DA1F2%3Fstyle%3Dfor-the-badge%26logo%3Dtwitter%26logoColor%3Dwhite" alt="twitter" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sql</category>
      <category>beginners</category>
      <category>database</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Python 🐍 challenge_32⚔️</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Tue, 19 Sep 2023 13:06:02 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/python-challenge32-252e</link>
      <guid>https://dev.to/mahmoudessam/python-challenge32-252e</guid>
      <description>&lt;h2&gt;
  
  
  Roman Numerals Encoder 💥
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a function taking a positive integer as its parameter and returning a string containing the Roman Numeral representation of that integer.&lt;/li&gt;
&lt;li&gt;Modern Roman numerals are written by expressing each digit separately starting with the left most digit and skipping any digit with a value of zero. &lt;/li&gt;
&lt;li&gt;In Roman numerals 1990 is rendered: 1000=M, 900=CM, 90=XC; resulting in MCMXC. &lt;/li&gt;
&lt;li&gt;2008 is written as 2000=MM, 8=VIII, or MMVIII. &lt;/li&gt;
&lt;li&gt;1666 uses each Roman symbol in descending order: MDCLXVI.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Examples:
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    solution(1000) -&amp;gt; should return 'M'

    Help:

    Value    Symbol

    1000:   'M',
    900:    'CM',
    500:    'D',
    400:    'CD',
    100:    'C',
    90:     'XC',
    50:     'L',
    40:     'XL',
    10:     'X',
    9:      'IX',
    5:      'V',
    4:      'IV',
    1:      'I'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Remember that there can't be more than 3 identical symbols in a row.&lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  Task URL: &lt;a href="https://www.codewars.com/kata/51b62bf6a9c58071c600001b" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/h6&gt;

&lt;h2&gt;
  
  
  My Solution:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
def solution(number: int) -&amp;gt; None:

    symbol: dict[str, int] = {

        1000:   'M',
        900:    'CM',
        500:    'D',
        400:    'CD',
        100:    'C',
        90:     'XC',
        50:     'L',
        40:     'XL',
        10:     'X',
        9:      'IX',
        5:      'V',
        4:      'IV',
        1:      'I'
    }


    value = ''
    remainder = number

    for i in sorted(symbol.keys(), reverse=True):

        if remainder &amp;gt; 0:

            multiple = i
            roman_number = symbol[i]

            divider = remainder // multiple
            remainder = remainder % multiple

            value += roman_number * divider

    return value

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Code Snapshot:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou4kyl0p6jn3xtdit44j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fou4kyl0p6jn3xtdit44j.png" alt=" " width="800" height="1257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn Python
&lt;/h3&gt;

&lt;h6&gt;
  
  
  Python top free courses from Coursera🐍💯🚀
&lt;/h6&gt;

&lt;p&gt;🎥   &lt;iframe src="https://www.youtube.com/embed/2VRXU2H4q0c"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with Me 😊
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔗 Links
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Flinkedin-0A66C2%3Fstyle%3Dfor-the-badge%26logo%3Dlinkedin%26logoColor%3Dwhite" alt="linkedin" width="91" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Mahmoud42275" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Ftwitter-1DA1F2%3Fstyle%3Dfor-the-badge%26logo%3Dtwitter%26logoColor%3Dwhite" alt="twitter" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>challenge</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>SQL 📊 challenge_2⚔️</title>
      <dc:creator>Mahmoud EL-kariouny</dc:creator>
      <pubDate>Tue, 12 Sep 2023 02:13:52 +0000</pubDate>
      <link>https://dev.to/mahmoudessam/sql-challenge2-3l5g</link>
      <guid>https://dev.to/mahmoudessam/sql-challenge2-3l5g</guid>
      <description>&lt;h2&gt;
  
  
  Page With No Likes Facebook SQL Interview Question
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Assume you're given two tables containing data about Facebook Pages and their respective likes (as in "Like a Facebook Page").&lt;/li&gt;
&lt;li&gt;Write a query to return the IDs of the Facebook pages that have zero likes. &lt;/li&gt;
&lt;li&gt;The output should be sorted in ascending order based on the page IDs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  ⚠️Note:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;You have to visit the task URL to fully understand what the task needs if you want to add a solution or test your solution.&lt;/li&gt;
&lt;/ul&gt;

&lt;h6&gt;
  
  
  Task URL: &lt;a href="https://datalemur.com/questions/sql-page-with-no-likes" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/h6&gt;

&lt;h2&gt;
  
  
  My Solution:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT 
    p.page_id 
FROM
    pages p 
LEFT JOIN 
    page_likes l
ON
    p.page_id = l.page_id
GROUP BY 
    p.page_id
HAVING
    COUNT(l.page_id) = 0;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Code Snapshot:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqf9m1j10b9kb4e2zznb5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqf9m1j10b9kb4e2zznb5.png" alt=" " width="800" height="1041"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  My Problem 💡 Solving Repo: &lt;a href="https://github.com/mahmoudessam820/Python-JavaScript-Programming-Exercises-" rel="noopener noreferrer"&gt;Link&lt;/a&gt;
&lt;/h4&gt;

&lt;h3&gt;
  
  
  Learn SQL 📊
&lt;/h3&gt;

&lt;h6&gt;
  
  
  SQL 🔥 Get Expertise in SQL with These Top Free Courses💯🏆
&lt;/h6&gt;

&lt;p&gt;🎥   &lt;iframe src="https://www.youtube.com/embed/00loCpVmozI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Connect with Me 😊
&lt;/h3&gt;

&lt;h4&gt;
  
  
  🔗 Links
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Flinkedin-0A66C2%3Fstyle%3Dfor-the-badge%26logo%3Dlinkedin%26logoColor%3Dwhite" alt="linkedin" width="91" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Mahmoud42275" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2Ftwitter-1DA1F2%3Fstyle%3Dfor-the-badge%26logo%3Dtwitter%26logoColor%3Dwhite" alt="twitter" width="83" height="28"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sql</category>
      <category>beginners</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
