<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>this.yasp.site</title><link>https://yasp.site/</link><description>Recent content on this.yasp.site</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 30 Sep 2026 18:00:00 +0700</lastBuildDate><atom:link href="https://yasp.site/index.xml" rel="self" type="application/rss+xml"/><item><title>The Manifesto</title><link>https://yasp.site/manifesto/</link><pubDate>Wed, 30 Sep 2026 18:00:00 +0700</pubDate><guid>https://yasp.site/manifesto/</guid><description>&lt;blockquote>
&lt;p>&lt;em>&amp;ldquo;nothing has to succeed&amp;rdquo;&lt;/em>&lt;/p>
&lt;/blockquote>
&lt;p>I build things when curiosity hits — small utilities, hardware experiments, or weekend prototypes.&lt;/p>
&lt;p>For years, I rarely published anything unless I thought it was &amp;ldquo;finished&amp;rdquo; or presentable. That usually meant things I had fun building just quietly sat on my drive until I deleted the folder.&lt;/p>
&lt;p>&lt;strong>yasp.site&lt;/strong> is my place to put these projects out in the open, working or abandoned, exactly as they are.&lt;/p></description></item><item><title>yasp.site</title><link>https://yasp.site/projects/yasp-site/</link><pubDate>Wed, 30 Sep 2026 18:00:00 +0700</pubDate><guid>https://yasp.site/projects/yasp-site/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Every developer has a folder full of abandoned repositories. Most of them are never published because they aren&amp;rsquo;t &amp;ldquo;ready,&amp;rdquo; lack test coverage, or don&amp;rsquo;t have a landing page.&lt;/p>
&lt;p>&lt;strong>yasp.site&lt;/strong> (Yet Another Side Project) exists to give everything a home. The rule is simple: &lt;strong>&amp;ldquo;nothing has to succeed.&amp;rdquo;&lt;/strong>&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Kicking.&lt;/strong> Built with pure Hugo and minimal semantic CSS. Zero trackers, zero frameworks, fast static files. It does exactly what it needs to do.&lt;/p></description></item><item><title>yasp.site is Officially Live — Welcome to the Project Cemetery</title><link>https://yasp.site/news/2026-09-30-yasp-site-launch/</link><pubDate>Wed, 30 Sep 2026 18:00:00 +0700</pubDate><guid>https://yasp.site/news/2026-09-30-yasp-site-launch/</guid><description>We registered yasp.site, built it with Hugo, and declared war on perfectionism. All side projects now have a permanent home.</description></item><item><title>Postmortem: Why My Smart Toaster Almost Caught Fire</title><link>https://yasp.site/news/2026-09-24-postmortem-toaster/</link><pubDate>Thu, 24 Sep 2026 14:30:00 +0700</pubDate><guid>https://yasp.site/news/2026-09-24-postmortem-toaster/</guid><description>A technical breakdown of how a simple MLX90614 sensor and a solid-state relay resulted in a 450-degree kitchen panic.</description></item><item><title>ToastOS: ESP32 Browning Controller</title><link>https://yasp.site/projects/smart-toaster-esp32/</link><pubDate>Thu, 24 Sep 2026 12:00:00 +0700</pubDate><guid>https://yasp.site/projects/smart-toaster-esp32/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Why rely on a mechanical timer dial when you can tear apart a toaster, install an infrared thermal sensor, and run a custom PID temperature controller on a dual-core microcontroller?&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Over-Engineered &amp;amp; Broken.&lt;/strong> The PID loop worked, but a Wi-Fi disconnect caused the heating relay to stay energized for 43 seconds too long. It filled the apartment with smoke and tripped the circuit breaker. Currently sitting on the shelf of shame.&lt;/p></description></item><item><title>Tab Graveyard</title><link>https://yasp.site/projects/tab-graveyard/</link><pubDate>Fri, 18 Sep 2026 10:00:00 +0700</pubDate><guid>https://yasp.site/projects/tab-graveyard/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Everyone collects tabs like emotional baggage. The idea: any tab inactive for 24 hours gets automatically terminated, an 8-bit funeral march plays, and the URL gets buried in a local digital cemetery page.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Working.&lt;/strong> Actively installed in my daily browser. It saves about 4GB of RAM every afternoon and creates mild panic when it closes something I actually needed.&lt;/p></description></item><item><title>The Manifesto: Why 'Nothing Has to Succeed' is the Best Mindset</title><link>https://yasp.site/news/2026-09-12-manifesto-release/</link><pubDate>Sat, 12 Sep 2026 09:15:00 +0700</pubDate><guid>https://yasp.site/news/2026-09-12-manifesto-release/</guid><description>An essay on the joy of writing code with zero stakes, zero venture expectations, and zero productivity guilt.</description></item><item><title>GitBlame-Roulette</title><link>https://yasp.site/projects/git-excuses/</link><pubDate>Sat, 15 Aug 2026 15:30:00 +0700</pubDate><guid>https://yasp.site/projects/git-excuses/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>A CLI git hook that intercepts commits and generates enterprise excuse strings like: &lt;code>[ci skip] refactor: neutralize transient asynchronous timing variance caused by regional atmospheric pressure drops&lt;/code>.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Half-Baked.&lt;/strong> Started as a quick bash script that worked fine. Then decided to rewrite it in Rust, got trapped fighting borrow lifetimes for 3 weeks, and abandoned the repo.&lt;/p></description></item><item><title>VibeCoder FM</title><link>https://yasp.site/projects/synth-terminal/</link><pubDate>Mon, 20 Jul 2026 21:00:00 +0700</pubDate><guid>https://yasp.site/projects/synth-terminal/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Rather than streaming huge MP3 audio files for background noise, generate rain soundscapes and minor-key synth chords procedurally using Web Audio API nodes in under 15KB of code.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Running.&lt;/strong> Surprisingly stable. Consumes almost zero CPU and no bandwidth after load.&lt;/p></description></item><item><title>SunkCost: SaaS Necromancer</title><link>https://yasp.site/projects/sunk-cost-tracker/</link><pubDate>Wed, 10 Jun 2026 14:00:00 +0700</pubDate><guid>https://yasp.site/projects/sunk-cost-tracker/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>Track all recurring credit card charges automatically and display a red counter showing how much money I&amp;rsquo;m bleeding on unused gym memberships and VPS servers.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Dead &amp;amp; Buried.&lt;/strong> Required Plaid API access. Plaid&amp;rsquo;s developer fee was $120/month, meaning I was spending $120/month to save $40/month. Shut it down and never looked back.&lt;/p></description></item><item><title>Cursor Scream</title><link>https://yasp.site/projects/cursor-confetti/</link><pubDate>Sat, 02 May 2026 09:30:00 +0700</pubDate><guid>https://yasp.site/projects/cursor-confetti/</guid><description>&lt;h2 id="the-idea">The Idea&lt;/h2>
&lt;p>A 40-line script that computes cursor velocity in pixels per second. When acceleration exceeds 1800 px/sec, play an agonizing scream with pitch shifting proportional to speed.&lt;/p>
&lt;h2 id="current-status">Current Status&lt;/h2>
&lt;p>&lt;strong>Alive &amp;amp; Terrifying.&lt;/strong> Built in 20 minutes. Zero bugs. Secretly installed on a friend&amp;rsquo;s browser during lunch break.&lt;/p></description></item></channel></rss>