<?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: Yogender</title>
    <description>The latest articles on DEV Community by Yogender (@yogender_811605e639001e58).</description>
    <link>https://dev.to/yogender_811605e639001e58</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%2F3697168%2F46afc5ba-1e6a-40b6-a57b-d2ffa2776e6d.jpg</url>
      <title>DEV Community: Yogender</title>
      <link>https://dev.to/yogender_811605e639001e58</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yogender_811605e639001e58"/>
    <language>en</language>
    <item>
      <title>Building a Particle System Game — Need Help Making It 3D</title>
      <dc:creator>Yogender</dc:creator>
      <pubDate>Mon, 04 May 2026 14:57:23 +0000</pubDate>
      <link>https://dev.to/yogender_811605e639001e58/building-a-particle-system-game-need-help-making-it-3d-3lh7</link>
      <guid>https://dev.to/yogender_811605e639001e58/building-a-particle-system-game-need-help-making-it-3d-3lh7</guid>
      <description>&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%2Ftbxmsvsvmiqsnek3v5sr.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%2Ftbxmsvsvmiqsnek3v5sr.png" alt=" " width="800" height="393"&gt;&lt;/a&gt;I’ve been working solo on a real-time particle-based interactive game.&lt;/p&gt;

&lt;p&gt;It includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gesture-driven interactions (swarm, duel, battle modes)&lt;/li&gt;
&lt;li&gt;Audio-reactive particle behavior&lt;/li&gt;
&lt;li&gt;Multiple procedural simulations like explosions, hearts, and a Saturn-like ring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Right now, I’m in the final testing phase, and everything works well in 2D space.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Challenge
&lt;/h3&gt;

&lt;p&gt;One of the effects is a &lt;strong&gt;Saturn-style particle ring&lt;/strong&gt;, but currently it’s not truly 3D — just a 2D circular distribution with a visual tilt.&lt;/p&gt;

&lt;p&gt;I want to upgrade it into a proper &lt;strong&gt;3D particle system&lt;/strong&gt;, where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The ring exists in 3D space&lt;/li&gt;
&lt;li&gt;The camera can rotate around it&lt;/li&gt;
&lt;li&gt;Depth and perspective feel natural&lt;/li&gt;
&lt;li&gt;Performance remains smooth with thousands of particles&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Current Approach
&lt;/h3&gt;

&lt;p&gt;Particles are generated using basic polar coordinates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;x = r * cos(theta)&lt;/li&gt;
&lt;li&gt;y = r * sin(theta)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This works well for 2D, but doesn’t translate directly into a real 3D structure.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I’m Looking For
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;How to generate a &lt;strong&gt;3D ring or torus-like particle distribution&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Whether I should switch fully to &lt;strong&gt;WebGL shaders&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Best way to handle &lt;strong&gt;camera + projection&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Tips for keeping things performant&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’ve worked on particle systems, shaders, or creative coding — I’d really appreciate your input.&lt;/p&gt;

&lt;p&gt;This is a solo project, and I’m trying to push it as far as I can visually and technically.&lt;/p&gt;

&lt;p&gt;Thanks in advance 🙌&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Learning REST API by Building a Tiny HTTP Server in Python</title>
      <dc:creator>Yogender</dc:creator>
      <pubDate>Sun, 03 May 2026 12:13:04 +0000</pubDate>
      <link>https://dev.to/yogender_811605e639001e58/learning-rest-api-by-building-a-tiny-http-server-in-python-1i9c</link>
      <guid>https://dev.to/yogender_811605e639001e58/learning-rest-api-by-building-a-tiny-http-server-in-python-1i9c</guid>
      <description>&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%2Fjeuepqt5sewfocz6q6l0.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%2Fjeuepqt5sewfocz6q6l0.png" alt=" " width="800" height="554"&gt;&lt;/a&gt;I recently started learning backend development more deeply, especially REST APIs, HTTP, and how clients and servers communicate.&lt;/p&gt;

&lt;p&gt;Instead of only reading theory, I wanted to actually see what happens when a request is sent to a server.&lt;/p&gt;

&lt;p&gt;So I created a small HTTP server in Python using &lt;code&gt;BaseHTTPRequestHandler&lt;/code&gt; and tested it using &lt;code&gt;curl&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I made a simple server running on:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;localhost:8000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When I send a request to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-v&lt;/span&gt; http://localhost:8000/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the server returns a JSON response like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hello bro, this is your HTTP response"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What I Observed
&lt;/h2&gt;

&lt;p&gt;Using verbose mode in &lt;code&gt;curl&lt;/code&gt;, I could clearly see the response details:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HTTP/1.0 200 OK
Content-Length: 52
Content-Type: application/json
Server: BaseHTTP/0.6 Python/3.10.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This helped me understand that an HTTP response is not just data. It has multiple parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Status code&lt;/li&gt;
&lt;li&gt;Headers&lt;/li&gt;
&lt;li&gt;Body&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The server sends the status code first, then headers like &lt;code&gt;Content-Type&lt;/code&gt; and &lt;code&gt;Content-Length&lt;/code&gt;, and finally the actual JSON body.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;This small experiment helped me understand some important backend concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How a client sends a request&lt;/li&gt;
&lt;li&gt;How the server receives that request&lt;/li&gt;
&lt;li&gt;How routes are handled&lt;/li&gt;
&lt;li&gt;Why status codes matter&lt;/li&gt;
&lt;li&gt;Why headers like &lt;code&gt;Content-Type&lt;/code&gt; are important&lt;/li&gt;
&lt;li&gt;How JSON data is sent back to the client&lt;/li&gt;
&lt;li&gt;How tools like &lt;code&gt;curl&lt;/code&gt; help debug APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before doing this, REST APIs felt like a high-level concept. But after seeing the raw request and response, things started becoming much clearer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Step
&lt;/h2&gt;

&lt;p&gt;Now I want to move from a basic Python HTTP server to FastAPI and understand how modern backend frameworks make API development easier.&lt;/p&gt;

&lt;p&gt;I also want to explore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Request methods like &lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PUT&lt;/code&gt;, and &lt;code&gt;DELETE&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Request body handling&lt;/li&gt;
&lt;li&gt;Query parameters&lt;/li&gt;
&lt;li&gt;Path parameters&lt;/li&gt;
&lt;li&gt;Status codes&lt;/li&gt;
&lt;li&gt;Middleware&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Database connection&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;Sometimes the best way to learn backend development is not by starting with a big framework directly, but by first understanding what is happening underneath.&lt;/p&gt;

&lt;p&gt;Building this tiny server helped me see the foundation of REST APIs more clearly.&lt;/p&gt;

&lt;p&gt;I am still learning, but experiments like this are making the concepts much easier to understand.&lt;/p&gt;

&lt;p&gt;Have you ever tried building a basic HTTP server before using a framework?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>fastapi</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Built a Self-Hosted Uptime Monitor in 1 Week Because UptimeRobot Only Lets You Monitor One Site for Free</title>
      <dc:creator>Yogender</dc:creator>
      <pubDate>Sun, 05 Apr 2026 05:10:23 +0000</pubDate>
      <link>https://dev.to/yogender_811605e639001e58/i-built-a-self-hosted-uptime-monitor-in-1-week-because-uptimerobot-only-lets-you-monitor-one-site-p09</link>
      <guid>https://dev.to/yogender_811605e639001e58/i-built-a-self-hosted-uptime-monitor-in-1-week-because-uptimerobot-only-lets-you-monitor-one-site-p09</guid>
      <description>&lt;p&gt;The Problem&lt;br&gt;
I was building my project and needed to monitor its uptime. I went to UptimeRobot — and hit a wall. The free plan only lets you monitor one website. I had multiple services running and didn't want to pay just to know if my own server was down.&lt;br&gt;
So I did what any developer does. I built it myself.&lt;/p&gt;

&lt;p&gt;What I Built&lt;br&gt;
Site-MOnitoring (Nexus) — a fully self-hosted, open-source uptime monitoring tool that:&lt;/p&gt;

&lt;p&gt;📡 Monitors unlimited websites — add as many URLs as you want&lt;br&gt;
📊 Shows real-time analytics — response times, status codes, uptime history&lt;br&gt;
🎨 Interactive dashboard — built with React + Framer Motion&lt;br&gt;
😴 Anti-sleep engine — keeps itself alive on free platforms like Render/Vercel&lt;br&gt;
🏠 100% self-hosted — your data, your server, zero subscription fees&lt;/p&gt;

&lt;p&gt;Live demo: pingbot.yogender1.me&lt;br&gt;
GitHub: github.com/yogender-ai/Site-MOnitoring&lt;/p&gt;

&lt;p&gt;Tech Stack&lt;br&gt;
LayerTechnologyFrontendReact 18, Vite, TailwindCSS, Framer MotionBackendNode.js, Express.jsDatabasePostgreSQLJobsCron jobs (pinger.js)HostingRender (backend), Vercel (frontend)&lt;/p&gt;

&lt;p&gt;The Hardest Part&lt;br&gt;
Getting the anti-sleep engine right was tricky. Free-tier platforms like Render spin down your server after 15 minutes of inactivity. So your monitor — which is supposed to tell you when things go down — goes down itself.&lt;br&gt;
I solved this by building a self-ping system using cron jobs that keeps the backend alive by pinging its own endpoint periodically. Simple idea, but took some debugging to get right without hammering the server.&lt;/p&gt;

&lt;p&gt;Architecture&lt;br&gt;
Nexus-Core/&lt;br&gt;
├── backend/&lt;br&gt;
│   ├── db.js           # Database connection&lt;br&gt;
│   ├── pinger.js       # Background site poller + self-ping&lt;br&gt;
│   └── server.js       # Express API&lt;br&gt;
└── frontend/&lt;br&gt;
    └── src/&lt;br&gt;
        ├── api.js      # Axios API calls&lt;br&gt;
        ├── App.jsx     # Main React app&lt;br&gt;
        └── index.css   # TailwindCSS&lt;/p&gt;

&lt;p&gt;What's Next&lt;br&gt;
One valid criticism I've already received: single-server monitoring can give false positives. If your server goes down, it might report Google as down too. The fix is multi-region monitoring — checking from multiple servers in different locations.&lt;br&gt;
That's on the roadmap. For now, Nexus is perfect for:&lt;/p&gt;

&lt;p&gt;Monitoring your own projects and APIs&lt;br&gt;
Self-hosted infrastructure&lt;br&gt;
Anyone who wants full control without paying monthly&lt;/p&gt;

&lt;p&gt;It's Open Source — Come Contribute!&lt;br&gt;
I built this in 1 week and there's a lot more to add. I've opened up 4 beginner-friendly issues if you want to contribute:&lt;/p&gt;

&lt;p&gt;🌙 Dark/light mode toggle&lt;br&gt;
📧 Email alerts when sites go down&lt;br&gt;
📄 CSV export for uptime logs&lt;br&gt;
📝 CONTRIBUTING.md improvements&lt;/p&gt;

&lt;p&gt;First time contributing to open source? This is a great project to start with. The codebase is small, clean, and well-documented.&lt;br&gt;
⭐ If you find it useful, a star on GitHub helps a lot!&lt;br&gt;
GitHub: github.com/yogender-ai/Site-MOnitoring&lt;/p&gt;

&lt;p&gt;Built with React, Node.js, PostgreSQL, and a healthy frustration with paywalls.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>react</category>
      <category>postgres</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Restarting DSA After a Long Break 🚀</title>
      <dc:creator>Yogender</dc:creator>
      <pubDate>Sun, 05 Apr 2026 02:20:55 +0000</pubDate>
      <link>https://dev.to/yogender_811605e639001e58/restarting-dsa-after-a-long-break-566b</link>
      <guid>https://dev.to/yogender_811605e639001e58/restarting-dsa-after-a-long-break-566b</guid>
      <description>&lt;p&gt;After a long pause… I’m finally back to Data Structures &amp;amp; Algorithms.&lt;/p&gt;

&lt;p&gt;Life happened.&lt;br&gt;
A lot happened.&lt;/p&gt;

&lt;p&gt;There were distractions, changes, overthinking, maybe even burnout — and somewhere in between, consistency slipped away.&lt;/p&gt;

&lt;p&gt;But today, I’m starting again. Not perfectly. Not with a grand plan. Just… starting.&lt;/p&gt;

&lt;p&gt;📌 What’s different this time?&lt;/p&gt;

&lt;p&gt;No pressure to be perfect&lt;br&gt;
No unrealistic schedules&lt;br&gt;
Just showing up daily&lt;br&gt;
Focusing on understanding, not rushing&lt;/p&gt;

&lt;p&gt;I’ve rebuilt my repo from scratch and will be pushing solutions consistently again. One problem at a time.&lt;/p&gt;

&lt;p&gt;DSA isn’t just about cracking interviews — it’s about discipline, problem-solving, and proving to yourself that you can stay consistent even when it’s hard.&lt;/p&gt;

&lt;p&gt;If you’re also restarting after a break, this is your sign:&lt;br&gt;
👉 You’re not behind. You’re just getting started again.&lt;/p&gt;

&lt;p&gt;Let’s do this. 💻🔥&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%2Feccikxo1g1kuxrhcoc0e.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%2Feccikxo1g1kuxrhcoc0e.png" alt=" " width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>dsa</category>
      <category>cpp</category>
      <category>productivity</category>
    </item>
    <item>
      <title>🖐️ Hand-Controlled Particle Gravity Simulation (WebGL + Three.js)</title>
      <dc:creator>Yogender</dc:creator>
      <pubDate>Sat, 31 Jan 2026 09:59:59 +0000</pubDate>
      <link>https://dev.to/yogender_811605e639001e58/hand-controlled-particle-gravity-simulation-webgl-threejs-41l4</link>
      <guid>https://dev.to/yogender_811605e639001e58/hand-controlled-particle-gravity-simulation-webgl-threejs-41l4</guid>
      <description>&lt;p&gt;I built an interactive particle gravity simulation that reacts to real-time hand gestures — fully in the browser.&lt;/p&gt;

&lt;p&gt;No game engine.&lt;br&gt;
No plugins.&lt;br&gt;
Just WebGL + Three.js + AI-based hand tracking.&lt;/p&gt;

&lt;p&gt;You can literally turn your hand into a gravity well and control thousands of particles in real time.&lt;/p&gt;

&lt;p&gt;🚀 Live Demo&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://particle-gravity-fun.pages.dev/" rel="noopener noreferrer"&gt;https://particle-gravity-fun.pages.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💻 Source Code (Open Source)&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/yogender-ai/Particle-Gravity-Fun" rel="noopener noreferrer"&gt;https://github.com/yogender-ai/Particle-Gravity-Fun&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⭐ Feel free to star or fork if you find it interesting&lt;/p&gt;

&lt;p&gt;✨ Features&lt;/p&gt;

&lt;p&gt;~8,000 particles rendered in real time&lt;/p&gt;

&lt;p&gt;Smooth 60 FPS particle swarming&lt;/p&gt;

&lt;p&gt;Dynamic color physics (gesture-based color transitions)&lt;/p&gt;

&lt;p&gt;Pinch gesture triggers high-energy “cosmic” effects&lt;/p&gt;

&lt;p&gt;Runs entirely in the browser&lt;/p&gt;

&lt;p&gt;🛠️ Tech Stack&lt;/p&gt;

&lt;p&gt;Three.js (WebGL rendering)&lt;/p&gt;

&lt;p&gt;JavaScript&lt;/p&gt;

&lt;p&gt;AI Hand Tracking (MediaPipe)&lt;/p&gt;

&lt;p&gt;WebAssembly (for performance-critical logic)&lt;/p&gt;

&lt;p&gt;Cloudflare Pages (deployment)&lt;/p&gt;

&lt;p&gt;🧠 Why I Built This&lt;/p&gt;

&lt;p&gt;This started as a fun experiment to explore how far creative coding + AI + web graphics can go without heavy frameworks.&lt;/p&gt;

&lt;p&gt;It’s exciting to see sci-fi-like interactions becoming possible directly on the web.&lt;/p&gt;

&lt;p&gt;🙌 Feedback Welcome&lt;/p&gt;

&lt;p&gt;I’m actively improving this project and experimenting with:&lt;/p&gt;

&lt;p&gt;Better physics&lt;/p&gt;

&lt;p&gt;More gesture types&lt;/p&gt;

&lt;p&gt;Performance optimizations&lt;/p&gt;

&lt;p&gt;Would love feedback from fellow developers 🙏&lt;br&gt;
If you enjoyed it, please ⭐ the repo or share ideas.&lt;/p&gt;

&lt;p&gt;🔖 Tags (important on dev.to)&lt;/p&gt;

&lt;p&gt;Add these when publishing:&lt;/p&gt;

&lt;h1&gt;
  
  
  threejs #webgl #javascript #creativecoding #opensource #ai #frontend
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>KNN Algorithm from Scratch -Cat vs Dog Image Classification in Python (Complete Experiment)</title>
      <dc:creator>Yogender</dc:creator>
      <pubDate>Tue, 06 Jan 2026 22:35:18 +0000</pubDate>
      <link>https://dev.to/yogender_811605e639001e58/knn-algorithm-from-scratch-cat-vs-dog-image-classification-in-python-complete-experiment-37b1</link>
      <guid>https://dev.to/yogender_811605e639001e58/knn-algorithm-from-scratch-cat-vs-dog-image-classification-in-python-complete-experiment-37b1</guid>
      <description>&lt;h2&gt;
  
  
  🧠 KNN Algorithm from Scratch — Real Image Classification Experiment
&lt;/h2&gt;

&lt;p&gt;I recently built a &lt;strong&gt;K-Nearest Neighbors (KNN) algorithm from scratch&lt;/strong&gt; in Python to perform &lt;strong&gt;cat vs dog image classification&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This project focuses on understanding &lt;strong&gt;how distance-based machine learning really works&lt;/strong&gt;, rather than simply chasing accuracy.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 What this project demonstrates
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Machine Learning from scratch
&lt;/li&gt;
&lt;li&gt;KNN algorithm implementation
&lt;/li&gt;
&lt;li&gt;Image classification using raw pixel vectors
&lt;/li&gt;
&lt;li&gt;Supervised learning fundamentals
&lt;/li&gt;
&lt;li&gt;How noise, distance, and neighbors affect predictions
&lt;/li&gt;
&lt;li&gt;The curse of dimensionality in real experiments
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🧪 The core experiment
&lt;/h3&gt;

&lt;p&gt;After training the model, I discovered that removing only &lt;strong&gt;5 noisy images&lt;/strong&gt; from each class drastically improved prediction accuracy.&lt;/p&gt;

&lt;p&gt;This happens because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;KNN has no abstraction or learning of features
&lt;/li&gt;
&lt;li&gt;All intelligence comes from the geometry of the data
&lt;/li&gt;
&lt;li&gt;A few bad samples can distort the entire decision boundary
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Most tutorials skip the uncomfortable truth about KNN:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More data does &lt;strong&gt;not&lt;/strong&gt; always mean better results
&lt;/li&gt;
&lt;li&gt;Distance metrics define the model’s intelligence
&lt;/li&gt;
&lt;li&gt;High-dimensional data behaves very unintuitively
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Understanding this makes you a &lt;strong&gt;much stronger machine learning engineer&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  📦 Complete Source Code
&lt;/h3&gt;

&lt;p&gt;You can explore the full project here:&lt;br&gt;&lt;br&gt;
🔗 &lt;strong&gt;&lt;a href="https://yogender-ai.github.io/knn-cat-dog-demo/" rel="noopener noreferrer"&gt;https://yogender-ai.github.io/knn-cat-dog-demo/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🏁 Final thought
&lt;/h3&gt;

&lt;p&gt;Before neural networks learn to see,&lt;br&gt;&lt;br&gt;
we must understand how distance learns to lie.&lt;/p&gt;

&lt;p&gt;If you’re learning machine learning, this experiment is worth exploring.&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>python</category>
      <category>programming</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
