<?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>Forem: Yogender</title>
    <description>The latest articles on Forem by Yogender (@yogender_811605e639001e58).</description>
    <link>https://forem.com/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>Forem: Yogender</title>
      <link>https://forem.com/yogender_811605e639001e58</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yogender_811605e639001e58"/>
    <language>en</language>
    <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://forem.com/yogender_811605e639001e58/i-built-a-self-hosted-uptime-monitor-in-1-week-because-uptimerobot-only-lets-you-monitor-one-site-p09</link>
      <guid>https://forem.com/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://forem.com/yogender_811605e639001e58/restarting-dsa-after-a-long-break-566b</link>
      <guid>https://forem.com/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://forem.com/yogender_811605e639001e58/hand-controlled-particle-gravity-simulation-webgl-threejs-41l4</link>
      <guid>https://forem.com/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://forem.com/yogender_811605e639001e58/knn-algorithm-from-scratch-cat-vs-dog-image-classification-in-python-complete-experiment-37b1</link>
      <guid>https://forem.com/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>
