<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Ashish's Site</title><link>https://asubedi.com.np/</link><description>Recent content in Home on Ashish's Site</description><generator>Hugo</generator><language>en-us</language><managingEditor>iamashishsubedi@gmail.com (Ashish Subedi)</managingEditor><webMaster>iamashishsubedi@gmail.com (Ashish Subedi)</webMaster><lastBuildDate>Tue, 08 Sep 2026 16:46:56 +0200</lastBuildDate><atom:link href="https://asubedi.com.np/index.xml" rel="self" type="application/rss+xml"/><item><title>Reverse Engineering OP Nord Buds 2 with AI</title><link>https://asubedi.com.np/blog/nord-buds-2-battery-mac/</link><pubDate>Fri, 04 Sep 2026 17:30:00 +0200</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/blog/nord-buds-2-battery-mac/</guid><description>&lt;blockquote>
&lt;p>Muse Spark 1.3 used for the reverse engineering process and help with the blog&lt;/p>
&lt;/blockquote>
&lt;p>One thing before we start. I saw that Muse Spark 1.3 had launched with crazy benchmaxx, and it was free to use through &lt;a href="https://opencode.ai">opencode&lt;/a>. I decided to test it on this genuinely messy reverse engineering task with no existing documentation.&lt;/p>
&lt;h1 id="why-bother">Why bother&lt;/h1>
&lt;p>I use OnePlus Nord Buds 2 which works great with my Android device. The problem is I sometimes forget to charge it. It&amp;rsquo;s quite visible in my phone. I also use it with my macbook, but the battery information is not present. I put a small
&lt;a href="https://github.com/swiftbar/SwiftBar">SwiftBar&lt;/a> plugin in the menu bar that shows
the buds&amp;rsquo; battery.&lt;/p></description></item><item><title>Speculative Decoding</title><link>https://asubedi.com.np/blog/speculative-decoding/</link><pubDate>Wed, 03 Jun 2026 00:12:34 +0200</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/blog/speculative-decoding/</guid><description>&lt;blockquote>
&lt;p>This is part 2 of the LLM inference series. Part 1: &lt;a href="https://asubedi.com.np/blog/i-kinda-understand-llm-deployment/">I Kinda Understand LLM Serving&lt;/a>.&lt;/p>
&lt;/blockquote>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>Greetings! In the &lt;a href="https://asubedi.com.np/blog/i-kinda-understand-llm-deployment/">last post&lt;/a>, I went through continuous batching and PagedAttention. This time we are looking at &lt;strong>Speculative Decoding&lt;/strong>, a technique that speeds up LLM generation without any loss in output quality.&lt;/p>
&lt;p>The idea: use a small, fast model to guess what the big model would say, then verify all those guesses in one shot. If the guesses are correct, you got free tokens. If some are wrong, you fix them and move on. The output is mathematically identical to just running the big model directly. No quality loss. Just speed.&lt;/p></description></item><item><title>May 15: MinClaw - Your Personal AI</title><link>https://asubedi.com.np/dlog/2026/may/15/</link><pubDate>Fri, 15 May 2026 09:30:00 +0200</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2026/may/15/</guid><description>&lt;p>Hello again! It&amp;rsquo;s been a while since I posted, but here I am. I&amp;rsquo;ve been busy hacking on something fun recently.&lt;/p>
&lt;p>For some time now, I&amp;rsquo;ve been using OpenClaw. It&amp;rsquo;s a really cool project and it works great, but for me it felt too bloated. There’s just so much going on- so many files, the configuration was a nightmare to edit. It felt way more complicated than an a simple agentic AI assistant needs to be.&lt;/p></description></item><item><title>I Kinda Understand LLM Serving</title><link>https://asubedi.com.np/blog/i-kinda-understand-llm-deployment/</link><pubDate>Mon, 09 Mar 2026 00:03:00 +0100</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/blog/i-kinda-understand-llm-deployment/</guid><description>&lt;blockquote>
&lt;p>LLM is used in every stage of this blog (learning, coding, and writing of this blog).&lt;/p>
&lt;/blockquote>
&lt;h1 id="introduction">Introduction&lt;/h1>
&lt;p>Greetings! Welcome aboard to my humble blog. Recently, I have been trying to understand the internals of LLM serving. &amp;ldquo;Why?&amp;rdquo; you ask? Okay, let me rant. I use Ollama for local model deployment on my M4 MacBook. What I noticed is that it struggles to handle concurrent requests efficiently. I gave vLLM a try, and the difference in high-throughput handling was noticeable. Long story short, vLLM is awesome for high-throughput serving -&amp;gt; wanted to understand exactly what sets it apart from Ollama -&amp;gt; read the original paper published by the vLLM team -&amp;gt; learned about continuous batching and PagedAttention -&amp;gt; spent hours vibecoding and benchmarking my own implementation -&amp;gt; and now I am blogging about it!&lt;/p></description></item><item><title>March 8: I kinda understand LLM deployment</title><link>https://asubedi.com.np/dlog/2026/march/8/</link><pubDate>Sun, 08 Mar 2026 23:51:10 +0100</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2026/march/8/</guid><description>&lt;p>Welcome aboard to my humble dlog. It&amp;rsquo;s been more than a year since my last update. A lot of new things have happened in my life, so I haven&amp;rsquo;t been able to provide updates. But here I am, working on new things, learning cool stuff, and building more than ever before, all thanks to the AI revolution.&lt;/p>
&lt;p>For over a year now, I&amp;rsquo;ve been focused on my master&amp;rsquo;s study. I had some free time this month and have worked on two projects. I&amp;rsquo;ve written a detailed blog titled &lt;a href="https://asubedi.com.np/blog/i-kinda-understand-llm-deployment/">I kinda understand LLM deployment&lt;/a>. Please check it out and have fun learning about all the cool things that go on under the hood during deployment. My next project is ongoing, and hopefully, you&amp;rsquo;ll hear about it soon. Until then, peace out!&lt;/p></description></item><item><title>March 4: Google Docs Folder Extension</title><link>https://asubedi.com.np/dlog/2025/march/4/</link><pubDate>Tue, 04 Mar 2025 09:11:07 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2025/march/4/</guid><description>&lt;p>Hey everyone, hope you&amp;rsquo;re all doing great! A lot has been happening in my life—some exciting, some nerve-wracking. I’ll share more on that in another post, but for now, let’s talk about my (yet another) new project:&lt;/p>
&lt;p>&lt;strong>&lt;a href="https://chromewebstore.google.com/detail/jgikcdimpmdoofakjbggakjhbpidjbeo?utm_source=item-share-cb">Folder Manager for Google Docs&lt;/a>&lt;/strong>—a simple Chrome extension that lets you organize your Google Docs into folders.&lt;/p>
&lt;h2 id="why-i-built-this">Why I Built This&lt;/h2>
&lt;p>I use Google Docs &lt;strong>a lot&lt;/strong>—it’s simple, fast, and minimalist, which I love. But when it comes to folder management? It sucks.&lt;/p></description></item><item><title>Februaruy 7: Random AI Website!!</title><link>https://asubedi.com.np/dlog/2025/february/7/</link><pubDate>Fri, 07 Feb 2025 09:51:59 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2025/february/7/</guid><description>&lt;p>Hello everyone, this is going to be a short one. I&amp;rsquo;ve been working on a project &lt;a href="!https://randomaiwebsite.com">Random AI Website Explorer&lt;/a>, inspired from TheUselessWeb. Let&amp;rsquo;s see how it goes.&lt;/p>
&lt;p>The idea is simple but exciting: with one click, you&amp;rsquo;ll find yourself on a random AI-related site. I&amp;rsquo;ve handpicked a mix of quirky and genuinely useful AI apps for you to explore.&lt;/p>
&lt;p>I&amp;rsquo;m really curious to see where this project goes and how you all like it. That&amp;rsquo;s all for now. Catch you later!&lt;/p></description></item><item><title>February 1: UV Package Manager and AI Agent</title><link>https://asubedi.com.np/dlog/2025/february/1/</link><pubDate>Sat, 01 Feb 2025 12:04:46 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2025/february/1/</guid><description>&lt;p>Hello everyone! It&amp;rsquo;s been a while since my last log. I&amp;rsquo;ve been quite busy lately, but here I am. Cheers to the new update!&lt;/p>
&lt;p>Jumping into the development world, I&amp;rsquo;ve completely switched to &lt;a href="https://astral.sh/blog/uv">uv&lt;/a> for my Python project development. The package management is quite good, and the package resolution is &lt;strong>FAAAAASST&lt;/strong>!! Gone are the days of waiting for dependencies to resolve when adding a new package. Working with &lt;code>pyproject.toml&lt;/code> has been awesome so far.&lt;/p></description></item><item><title>September 12: VSCode Dev Container</title><link>https://asubedi.com.np/dlog/2024/september/12/</link><pubDate>Thu, 12 Sep 2024 21:00:43 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2024/september/12/</guid><description>&lt;h1 id="setup-vscode-in-dev-containers-">Setup VSCode in Dev Containers 🚢&lt;/h1>
&lt;p>Hey everyone, I hope it&amp;rsquo;s going good. This is something I&amp;rsquo;ve faced quite a lot. I&amp;rsquo;ve encountered a recurring challenge at my workplace: setting up backend repositories every time I change my device (three times already, lol). The process has become even more tedious with the new Apple Silicon chips.&lt;/p>
&lt;p>So, I&amp;rsquo;ve decided to switch my development environment entirely to Docker containers. While exploring, I discovered Dev Containers in VSCode (my preferred editor).&lt;/p></description></item><item><title>August 7: Facade Layer Design</title><link>https://asubedi.com.np/dlog/2024/august/7/</link><pubDate>Wed, 07 Aug 2024 22:18:44 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2024/august/7/</guid><description>&lt;p>Hello everyone, welcome back! Today was a productive day for me as I got to work with pure SQL and fully implemented metering logic within a MySQL Stored Procedure. More about that coming soon!&lt;/p>
&lt;p>For now, let&amp;rsquo;s talk about the &lt;a href="https://refactoring.guru/design-patterns/facade">facade design pattern&lt;/a>. In my workplace, we have a facade layer implementation, which serves as a central point of communication for the frontend layer (and some backend APIs). The job of this layer is to provide endpoints of internal APIs to the public through the facade, hence the name. This is implemented in FastAPI.&lt;/p></description></item><item><title>July 23: Easy git checkout</title><link>https://asubedi.com.np/dlog/2024/july/23/</link><pubDate>Tue, 23 Jul 2024 20:20:51 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2024/july/23/</guid><description>&lt;p>Hello again! This is going to be a short one.
Ever had the moment when you are working in multiple branches and you have to switch between them? I have.
Recently, I&amp;rsquo;ve been using two shortcut quite a lot.&lt;/p>
&lt;ol>
&lt;li>Git provides us a handy shortcut for this situation.&lt;/li>
&lt;/ol>
&lt;pre>&lt;code class="language-bash">git checkout -
&lt;/code>&lt;/pre>
&lt;p>This command checkouts to the previous working branch. This is quite helpful when you&amp;rsquo;re juggling between 2 branches.&lt;/p></description></item><item><title>July 12: Value from Nested Dicts/List</title><link>https://asubedi.com.np/dlog/2024/july/12/</link><pubDate>Fri, 12 Jul 2024 20:33:43 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2024/july/12/</guid><description>&lt;p>Hey readers, thanks for coming back here. While working on one of the bugfixes for a new project, I came across an interesting piece of code written by one of my colleague. The basic idea is of the problem is to get a value from dict with lots of nested objects, about 5-6 levels deep. There are quite a few variants of dict that we get, but for a variation, path of keys is same. For an example, consider the following dict.&lt;/p></description></item><item><title>June 26</title><link>https://asubedi.com.np/dlog/2024/june/26/</link><pubDate>Wed, 26 Jun 2024 01:18:12 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2024/june/26/</guid><description>&lt;p>It&amp;rsquo;s already around 1:30 AM. It took a long time for me to figure out the table of contents for dev log.&lt;/p>
&lt;p>This feels like meta dev log lol. Anyway, I guess the result turned out to be okayish. Goodnight.&lt;/p></description></item><item><title>June 25</title><link>https://asubedi.com.np/dlog/2024/june/25/</link><pubDate>Tue, 25 Jun 2024 22:24:06 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/dlog/2024/june/25/</guid><description>&lt;p>Beginning of my dev log, inspired from &lt;a href="https://utsavdarlami.github.io/dlog/">https://utsavdarlami.github.io/dlog/&lt;/a> .&lt;/p></description></item><item><title>Making My Life Easier with Bash/Zsh Function</title><link>https://asubedi.com.np/blog/make-pyenv-life-easier/</link><pubDate>Sat, 14 Jan 2023 09:02:39 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/blog/make-pyenv-life-easier/</guid><description>&lt;h3 id="intro">Intro&lt;/h3>
&lt;p>Hello everyone, it&amp;rsquo;s been such a long time since my last blog. Life&amp;rsquo;s been busy and have not been able to update the blog as I thought I would. Anyway, new post incoming.&lt;/p>
&lt;p>Unlike every other people on the planet, I use &lt;code>pyenv virtualenv&lt;/code> to create virtualenv. Reasons:&lt;/p>
&lt;ul>
&lt;li>For me is to easily switch between python version depending on the repo, as my workplace maintains repos with 2 python versions.&lt;/li>
&lt;li>Also, I like how venv is separate from the main codebase.&lt;/li>
&lt;/ul>
&lt;p>One drawback is that you have to remember the name of the venv that you need for the repo. To overcome this drawback, I started naming my venv with the name of the directory I&amp;rsquo;m currently working on.&lt;/p></description></item><item><title>How I come up with my instagram captions using Python and Scrapy</title><link>https://asubedi.com.np/blog/how-i-come-with-insta-caption-python-scrapy/</link><pubDate>Sat, 22 Jan 2022 22:21:00 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/blog/how-i-come-with-insta-caption-python-scrapy/</guid><description>&lt;blockquote>
&lt;p>Note: This is an article I wrote a while back. Enjoy&lt;/p>
&lt;/blockquote>
&lt;p>Greetings readers! I know that the title is kind of misleading so let me begin with a context. There are days when you click a perfect picture and you want to upload it in instagram, and everyone knows the unwritten rule of any social media — you need to have a caption to match the picture. Now you could go to google or any search engine and search for something that matches the picture but what if you know how to code. You can make your computer do the hard work for you ;)&lt;/p></description></item><item><title>About</title><link>https://asubedi.com.np/about/</link><pubDate>Wed, 12 Jan 2022 17:43:09 +0545</pubDate><author>iamashishsubedi@gmail.com (Ashish Subedi)</author><guid>https://asubedi.com.np/about/</guid><description>&lt;p>Welcome! I’m Ashish, a software engineer with 4+ years of experience specializing in backend and system design. My expertise extends to ML, AI, and LLMs, encompassing everything from traditional machine learning algorithms to complex deep neural networks.&lt;/p>
&lt;p>If you’ve stumbled here by chance or curiosity, welcome! This is my personal corner of the internet where I share a mix of thoughts and ideas—some practical, others just for fun. It’s a place for me to reflect on my experiences and interests, and I hope you find something that piques your interest as you browse around!&lt;/p></description></item></channel></rss>