<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Sumit Poudel — blog</title>
    <link>https://www.sumit-poudel.com.np/</link>
    <description>Go and web engineer, open source maintainer, and Arch/CachyOS user writing about Neovim, Go and the tools he breaks along the way.</description>
    <language>en</language>
    <lastBuildDate>Sun, 05 Oct 2025 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://www.sumit-poudel.com.np/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hackathon Journey</title>
      <link>https://www.sumit-poudel.com.np/blog/hackathon-journey</link>
      <guid isPermaLink="true">https://www.sumit-poudel.com.np/blog/hackathon-journey</guid>
      <pubDate>Sun, 05 Oct 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[How my team built humanSign, an AI-text detector, and walked out of the hackathon as 2nd Runner-Up — plus what the judges actually rewarded.]]></description>
      <author><![CDATA[sumitpoudel.me@gmail.com (Sumit Poudel)]]></author>
      <content:encoded><![CDATA[<p><img src="/blogs/hackathon.jpg" alt="The hackathon venue where my team presented humanSign" loading="lazy" decoding="async"></p>
<p>The night before the actual Hackathon, It was intense knowing it will be a tough competation and i was hoping not to embarrce my self in front of all the judges and crowd.</p>
<p>I went in with curiosity.
I walked out as part of the 2nd Runner-Up team, with a project I was genuinely proud of.</p>
<p>The Challenge</p>
<p>The goal was simple: build something meaningful under pressure.</p>
<p>The reality was tougher.
Shifting requirements, time running out, bugs appearing out of nowhere, and constant context-switching made the process chaotic in the best way possible.</p>
<p>But that’s exactly what a hackathon is supposed to feel like.</p>
<p><strong>Our Project: humanSign</strong></p>
<p>Our team built something we had never attempted before — an AI-powered Human Detection System based entirely on keystroke patterns.</p>
<p><em><strong>How It Works</strong></em></p>
<ul>
<li>We capture raw typing events:</li>
<li>Key press (down) timestamps</li>
<li>Key release (up) timestamps</li>
<li>Delays between consecutive keys</li>
<li>Hold times per key</li>
<li>These values form a behavioral signature for each user.</li>
<li>We convert those signatures into feature vectors and feed them into an ML model.</li>
<li>The model predicts whether the input is:
<ul>
<li>Human</li>
<li>Bot/Script</li>
</ul>
</li>
</ul>
<p>This method is privacy-friendly because it doesn’t track what is typed — only how it’s typed.</p>
<p><strong>Why It Matters</strong></p>
<p>Bot detection traditionally relies on IP, captchas, or rate limiting.
Our system focuses on behavior, making it extremely difficult for bots to mimic.</p>
<p>It’s lightweight, accurate, and can be integrated into login pages, forms, or security checkpoints.
Building Under Pressure
Creating this system within a limited time required:
Real-time event capturing
Feature engineering
Training and tuning a model
Designing a simple interface
Testing under unpredictable conditions
Preparing a clear pitch for the judges
Each step was a mini-challenge.
Each challenge pushed us to think faster and work smarter.</p>
<p><strong>The Moment That Counted</strong></p>
<p>When we presented the demo — typing a short sentence and watching the system instantly classify the input as human — the judges leaned forward.</p>
<p>That was the moment we knew the project had impact.
Being announced as the 2nd Runner-Up was the final confirmation.</p>
<p><strong>What I Learned</strong></p>
<p>The hackathon reinforced a few important lessons:
Good ideas come from simple observations.
Machine learning shines when paired with human behavior patterns.
Teamwork and clarity matter as much as coding skills.
A working prototype beats a perfect plan.
Most importantly, it showed me that innovation doesn’t need huge systems.
Sometimes, it starts with something as small as a keystroke.</p>
<p>Source: <a href="https://github.com/sumit-poudel">https://github.com/sumit-poudel</a></p>]]></content:encoded>
      <category>wins</category>
    </item>
    <item>
      <title>My Hyprland Journey: From Chaos to Custom</title>
      <link>https://www.sumit-poudel.com.np/blog/hyprland</link>
      <guid isPermaLink="true">https://www.sumit-poudel.com.np/blog/hyprland</guid>
      <pubDate>Fri, 26 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[From a barebones HyDE + Hyprland install to a fully tiled, dotfile-driven desktop: the configs, keybinds and window rules I fought along the way.]]></description>
      <author><![CDATA[sumitpoudel.me@gmail.com (Sumit Poudel)]]></author>
      <content:encoded><![CDATA[<p><img src="https://raw.githubusercontent.com/sumit-poudel/dotfiles/main/assets/look2.png" alt="A fully tiled Hyprland desktop running my dotfiles, with oWtE artwork on the wallpaper" loading="lazy" decoding="async"></p>
<p>When I first booted into <strong>HyDE + Hyprland</strong>, I had no clue how deep the rabbit hole went.<br>
Everything looked barebones. No panels, no menus, no polish. Just a tiling compositor staring back at me.</p>
<p>I wanted to daily-drive it, but at the start it was a mess. Configs breaking, keybinds missing, windows tiling in ways I didn’t understand. It felt like living in a half-finished house.</p>
<hr>
<h2 id="hunting-for-dotfiles">Hunting for Dotfiles</h2>
<p>That’s when I did what every Hyprland beginner does—<strong>stole dotfiles</strong>.</p>
<ul>
<li>Picked up some configs from my senior <strong>Biijesh</strong>.</li>
<li>Borrowed pieces from <strong>Caelestia dot</strong>.</li>
<li>Dug through <strong>Gaurav’s simple-hyprland</strong> setup.</li>
<li>Glued it all together with random snippets from GitHub and Reddit.</li>
</ul>
<p>Every import broke something new. Wrong paths, weird dependencies, mismatched versions. But that’s how I learned. Each config line was a lesson in how Hyprland ticks.</p>
<hr>
<h2 id="building-my-own-setup">Building My Own Setup</h2>
<p>Slowly, I stopped just copying. I started shaping.</p>
<ul>
<li><strong>Waybar</strong> for the status bar.</li>
<li><strong>Wlogout</strong> for session management.</li>
<li><strong>swww</strong> and <strong>mpvpaper</strong> for wallpapers.</li>
<li><strong>Swaync</strong> for notifications.</li>
<li><strong>Tofi</strong> as a fast, minimal launcher.</li>
</ul>
<p>Piece by piece, I bent Hyprland to my workflow. My desktop stopped feeling like a borrowed skin and started feeling like mine.</p>
<hr>
<h2 id="why-it-mattered">Why It Mattered</h2>
<p>Hyprland taught me something Arch once did:</p>
<ul>
<li><strong>Copying gets you started. Creating keeps you going.</strong></li>
<li><strong>Every crash log is a roadmap.</strong></li>
</ul>
<p>What began as scattered dotfiles turned into my own system. Not perfect, not final, but mine.</p>
<p>In that moment, I wasn’t just <em>using</em> Hyprland.<br>
<strong>I was building my own environment on it.</strong></p>
<p>Source: <a href="https://github.com/sumit-poudel/dotfiles">https://github.com/sumit-poudel/dotfiles</a></p>]]></content:encoded>
      <category>linux</category>
    </item>
    <item>
      <title>oWtE: My First AUR Package</title>
      <link>https://www.sumit-poudel.com.np/blog/owte</link>
      <guid isPermaLink="true">https://www.sumit-poudel.com.np/blog/owte</guid>
      <pubDate>Thu, 25 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[What oWtE, my first AUR package, taught me about maintaining Arch Linux packages, PKGBUILDs and the wider AUR ecosystem.]]></description>
      <author><![CDATA[sumitpoudel.me@gmail.com (Sumit Poudel)]]></author>
      <content:encoded><![CDATA[<p>My first aur repo.</p>
<p>Maybe my last as well.</p>
<p><img src="https://raw.githubusercontent.com/sumit-poudel/oWtE/master/owte.gif" alt="oWtE, the AUR helper mascot, as an animated sticker" loading="lazy" decoding="async"></p>
<h2 id="diving-into-arch-with-no-clue">Diving Into Arch With No Clue</h2>
<p>I jumped into Arch Linux with <strong>zero idea</strong> what I was doing. No roadmap, no hand-holding—just me and the terminal. I told myself I’d daily drive it. Sink or swim. And at first, it felt like drowning.</p>
<p>Broken configs. Missing packages. Endless updates. Every day was a new puzzle. But that’s what made Arch different: <strong>it forces you to learn</strong>.</p>
<h2 id="discovering-the-aur">Discovering the AUR</h2>
<p>Then I stumbled upon the <strong>AUR (Arch User Repository)</strong>. It felt like unlocking a hidden level. Suddenly, Arch wasn’t just about installing what others had made. It was about <em>building, shaping, and contributing</em>.</p>
<p>And that’s when the idea hit me—what if I could put my own app there?</p>
<h2 id="wrestling-with-pkgbuild">Wrestling With PKGBUILD</h2>
<p>I had an Electron app image. No clue how to turn it into a package. So I opened the Electron docs. Found some random guy’s PKGBUILD on GitHub. Copied. Tweaked. Failed.</p>
<p>Over and over.</p>
<p>Missing dependencies. Wrong paths. Broken installs. Every error felt like the system was laughing at me. But with each failure, I learned. Slowly, painfully, the puzzle started to make sense.</p>
<h2 id="the-moment-it-worked">The Moment It Worked</h2>
<p>After countless retries, I ran the build again. This time, no red errors. Installed clean. Launched smooth.</p>
<p><strong>My first AUR package.</strong></p>
<p>It was more than just code running—it was proof. Proof that I could bend Arch to my will. Proof that struggle builds weight.</p>
<h2 id="why-it-mattered">Why It Mattered</h2>
<p>Arch taught me this:</p>
<ul>
<li><strong>Light wins come fast but vanish fast.</strong></li>
<li><strong>Heavy wins shape you.</strong></li>
</ul>
<p>And that first AUR package? It was heavy. It carried all my failed attempts, all the frustration, all the learning.</p>
<p>In that moment, I wasn’t just using Arch.<br>
<strong>I became someone who could create for it.</strong></p>
<p>Source: <a href="https://github.com/sumit-poudel/oWtE">https://github.com/sumit-poudel/oWtE</a></p>]]></content:encoded>
      <category>repo</category>
    </item>
  </channel>
</rss>
