PageSourceSearch

https://abdumajid-me.vercel.app/blog

html abdumajid-me.vercel.app collected 2026-10-03 06:03:14 UTC 26,225 bytes, 1 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="scroll-smooth"><head><meta charSet="utf-8"/>
1<script>!function(){try {var d=document.documentElement.classList;d.remove('light','dark');var e=localStorage.getItem('theme');if("system"===e||(!e&&true)){var t="(prefers-color-scheme: dark)",m=window.matchMedia(t);m.media!==t||m.matches?d.add('dark'):d.add('light')}else if(e) d.add(e)}catch(e){}}()</script>
1<meta content="width=device-width, initial-scale=1" name="viewport"/><title>Blog - Abdumajid Rashidov</title><meta name="robots" content="follow, index"/><meta name="description" content="I write about non-technical stuff in the technical world."/><meta property="og:url" content="https://abdumajid.me/blog"/><meta property="og:type" content="website"/><meta property="og:site_name" content="Abdumajid&#x27;s Blog"/><meta property="og:description" content="I write about non-technical stuff in the technical world."/><meta property="og:title" content="Blog - Abdumajid Rashidov"/><meta property="og:image" content="https://abdumajid.me/static/images/twitter-card.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="https://twitter.com/abdumajidRashid"/><meta name="twitter:title" content="Blog - Abdumajid Rashidov"/><meta name="twitter:description" content="I write about non-technical stuff in the technical world."/><meta name="twitter:image" content="https://abdumajid.me/static/images/twitter-card.png"/><link rel="canonical" href="https://abdumajid.me/blog"/><meta name="next-head-count" content="18"/><link rel="apple-touch-icon" sizes="76x76" href="/static/favicons/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/static/favicons/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/static/favicons/favicon-16x16.png"/><link rel="manifest" href="/static/favicons/site.webmanifest"/><link rel="mask-icon" href="/static/favicons/safari-pinned-tab.svg" color="#5bbad5"/><meta name="msapplication-TileColor" content="#000000"/><meta name="theme-color" media="(prefers-color-scheme: light)" content="#fff"/><meta name="theme-color" media="(prefers-color-scheme: dark)" content="#000"/><link rel="alternate" type="application/rss+xml" href="/feed.xml"/><link rel="preload" href="/_next/static/css/65719d81f94e5dac.css" as="style"/><link rel="stylesheet" href="/_next/static/css/65719d81f94e5dac.css" data-n-g=""/><noscript data-n-css=""></noscript>
1<script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script>
1<script src="/_next/static/chunks/webpack-44d85e7de1f5307d.js" defer=""></script>
1<script src="/_next/static/chunks/main-06ac017f5fa53de6.js" defer=""></script>
1<script src="/_next/static/chunks/pages/_app-f99e525048a03c32.js" defer=""></script>
1<script src="/_next/static/chunks/pages/blog-db7ee1142acaa67b.js" defer=""></script>
1<script src="/_next/static/C8TgUOiX72vkMA_UPsvBQ/_buildManifest.js" defer=""></script>
1<script src="/_next/static/C8TgUOiX72vkMA_UPsvBQ/_ssgManifest.js" defer=""></script>
1<script src="/_next/static/C8TgUOiX72vkMA_UPsvBQ/_middlewareManifest.js" defer=""></script>
1</head><body class="bg-white text-black antialiased dark:bg-gray-900 dark:text-white"><div id="__next" data-reactroot=""><div class="mx-auto max-w-3xl px-4 sm:px-6 xl:max-w-5xl xl:px-0"><div class="flex h-screen flex-col justify-between"><header class="flex items-center justify-between py-10"><div><a aria-label="Abdumajid&#x27;s Blog" href="/"><div class="flex items-center justify-between"><div class="mr-3"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="344.564 330.278 111.737 91.218" width="53.87" height="43.61"><defs><linearGradient id="logo_svg__b" gradientUnits="userSpaceOnUse" x1="420.97" y1="331.28" x2="420.97" y2="418.5"><stop style="stop-color:#06b6d4;stop-opacity:1" offset="0%"></stop><stop style="stop-color:#67e8f9;stop-opacity:1" offset="100%"></stop></linearGradient><linearGradient id="logo_svg__d" gradientUnits="userSpaceOnUse" x1="377.89" y1="331.28" x2="377.89" y2="418.5"><stop style="stop-color:#06b6d4;stop-opacity:1" offset="0%"></stop><stop style="stop-color:#67e8f9;stop-opacity:1" offset="100%"></stop></linearGradient><path d="M453.3 331.28v28.57l-64.66 58.65v-30.08l64.66-57.14Z" id="logo_svg__a"></path><path d="M410.23 331.28v28.57l-64.67 58.65v-30.08l64.67-57.14Z" id="logo_svg__c"></path></defs><use xlink:href="#logo_svg__a" fill="url(#logo_svg__b)"></use><use xlink:href="#logo_svg__c" fill="url(#logo_svg__d)"></use></svg></div><div class="hidden h-6 text-2xl font-semibold sm:block">Abdumajid&#x27;s Blog</div></div></a></div><div class="flex items-center text-base leading-5"><div class="hidden sm:block"><a class="p-1 font-medium text-gray-900 dark:text-gray-100 sm:p-4" href="/blog">Blog</a><a class="p-1 font-medium text-gray-900 dark:text-gray-100 sm:p-4" href="/about">About</a><a class="p-1 font-medium text-gray-900 dark:text-gray-100 sm:p-4" href="/projects">Projects</a><a target="_blank" rel="noopener noreferrer" href="https://t.me/abdumajidrashidov" class="p-1 font-medium text-gray-900 dark:text-gray-100 sm:p-4">Channel</a></div><button aria-label="Toggle Dark Mode" type="button" class="ml-1 mr-1 h-8 w-8 rounded p-1 sm:ml-4"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100"><path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path></svg></button><div class="sm:hidden"><button type="button" class="ml-1 mr-1 h-8 w-8 rounded py-1" aria-label="Toggle Menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100"><path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"></path></svg></button><div class="fixed left-0 top-0 z-10 h-full w-full transform bg-gray-200 opacity-95 duration-300 ease-in-out dark:bg-gray-800 translate-x-full"><div class="flex justify-end"><button type="button" class="mr-5 mt-11 h-8 w-8 rounded" aria-label="Toggle Menu"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="text-gray-900 dark:text-gray-100"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button></div><nav class="fixed mt-8 h-full"><div class="px-12 py-4"><a class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100" href="/blog">Blog</a></div><div class="px-12 py-4"><a class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100" href="/about">About</a></div><div class="px-12 py-4"><a class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100" href="/projects">Projects</a></div><div class="px-12 py-4"><a target="_blank" rel="noopener noreferrer" href="https://t.me/abdumajidrashidov" class="text-2xl font-bold tracking-widest text-gray-900 dark:text-gray-100">Channel</a></div></nav></div></div></div></header><main class="mb-auto"><div class="divide-y divide-gray-200 dark:divide-gray-700"><div class="space-y-2 pb-8 pt-6 md:space-y-5"><h1 class="text-3xl font-extrabold leading-9 tracking-tight text-gray-900 dark:text-gray-100 sm:text-4xl sm:leading-10 md:text-6xl md:leading-14">All Posts</h1><div class="relative max-w-lg"><input type="text" aria-label="Search articles" placeholder="Search articles" class="block w-full rounded-md border border-gray-300 bg-white px-4 py-2 text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-900 dark:bg-gray-800 dark:text-gray-100"/><svg class="absolute right-3 top-3 h-5 w-5 text-gray-400 dark:text-gray-300" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg></div></div><ul><li class="py-4"><article class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time dateTime="2025-11-20T00:00:00.000Z">November 20, 2025</time></dd></dl><div class="space-y-3 xl:col-span-3"><div><h3 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/Building
1%20json-toon%20-%20High-Performance%20JSON%20to%20TOON%20Converter">How I built an npm package and saved 49% on AI costs</a></h3><div class="flex flex-wrap"><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/npm">npm</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/open-source">open-source</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/ai">ai</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/llm">llm</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/developer-journey">developer-journey</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">The story of creating json-toon: from discovering a problem to publishing a package that thousands can use. Built with Antigravity AI IDE and Claude Sonnet 4.5.</div></div></article></li><li class="py-4"><article class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time dateTime="2025-07-18T00:00:00.000Z">July 18, 2025</time></dd></dl><div class="space-y-3 xl:col-span-3"><div><h3 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/Voice%20AI%20Mastery%20Series%20-%20Part%201:%20Getting%20Interruption%20Management%20Right">Voice AI Mastery Series - Part 1: Getting Interruption Management Right</a></h3><div class="flex flex-wrap"><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/voice-ai">voice-ai</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/ai-agents">ai-agents</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/stt">stt</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/tts">tts</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/turn-detection">turn-detection</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/vad">vad</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/network-optimisation">network-optimisation</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/monitoring">monitoring</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/rtt">rtt</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">In this article, we will explore the challenges of building voice AI agents and share our experience in creating a system that actually works in production.</div></div></article></li><li class="py-4"><article class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time dateTime="2025-07-10T00:00:00.000Z">July 10, 2025</time></dd></dl><div class="space-y-3 xl:col-span-3"><div><h3 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/Memory-Optimized%20Audio%20Streaming_%20A%20Technical%20Deep%20Dive-20250710231734">Memory-Optimized Audio Streaming: A Technical Deep Dive</a></h3><div class="flex flex-wrap"><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/memory-optimisation">memory-optimisation</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/audio-streaming">audio-streaming</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/real-time-communication">real-time-communication</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/technology">technology</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">In this article, we will explore the challenges of memory management in real-time audio streaming and share our optimisation strategy to improve performance and stability in our communication platform.</div></div></article></li><li class="py-4"><article class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time dateTime="2024-12-26T00:00:00.000Z">December 26, 2024</time></dd></dl><div class="space-y-3 xl:col-span-3"><div><h3 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/Arrays%20vs%20Linked%20Lists:%20Understanding%20Data%20Structures">Arrays vs Linked Lists: Understanding Data Structures</a></h3><div class="flex flex-wrap"><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/data-structures">data-structures</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/programming">programming</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/algorithms">algorithms</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/array">array</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/linked-list">linked-list</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">Deep dive into arrays and linked lists - their implementations, time complexities, and real-world applications with interactive examples.</div></div></article></li><li class="py-4"><article class="space-y-2 xl:grid xl:grid-cols-4 xl:items-baseline xl:space-y-0"><dl><dt class="sr-only">Published on</dt><dd class="text-base font-medium leading-6 text-gray-500 dark:text-gray-400"><time dateTime="2024-12-04T00:00:00.000Z">December 4, 2024</time></dd></dl><div class="space-y-3 xl:col-span-3"><div><h3 class="text-2xl font-bold leading-8 tracking-tight"><a class="text-gray-900 dark:text-gray-100" href="/blog/Binary-search">Binary Search: A Comprehensive Guide</a></h3><div class="flex flex-wrap"><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/algorithms">algorithms</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/search">search</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/complexity">complexity</a><a class="mr-3 text-sm font-medium uppercase text-primary-500 hover:text-primary-600 dark:hover:text-primary-400" href="/tags/python">python</a></div></div><div class="prose max-w-none text-gray-500 dark:text-gray-400">An in-depth exploration of binary search algorithm, including implementation details, time complexity analysis, and practical applications.</div></div></article></li></ul></div><div class="space-y-2 pb-8 pt-6 md:space-y-5"><nav class="flex justify-between"><button rel="previous" class="cursor-auto disabled:opacity-50" disabled="">Previous</button><span>1<!-- --> of <!-- -->2</span><a href="/blog/page/2"><button rel="next">Next</button></a></nav></div></main><footer><div class="mt-16 flex flex-col items-center"><div class="mb-3 flex space-x-4"><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="mailto:[email protected]"><span class="sr-only">mail</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="fill-current text-gray-700 hover:text-blue-500 dark:text-gray-200 dark:hover:text-blue-400 h-6 w-6"><path d="M2.003 5.884 10 9.882l7.997-3.998A2 2 0 0 0 16 4H4a2 2 0 0 0-1.997 1.884z"></path><path d="m18 8.118-8 4-8-4V14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.118z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://github.com/AbdumajidRashidov"><span class="sr-only">github</span><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="fill-current text-gray-700 hover:text-blue-500 dark:text-gray-200 dark:hover:text-blue-400 h-6 w-6"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/in/abdumajid3001"><span class="sr-only">linkedin</span><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="fill-current text-gray-700 hover:text-blue-500 dark:text-gray-200 dark:hover:text-blue-400 h-6 w-6"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a><a class="text-sm text-gray-500 transition hover:text-gray-600" target="_blank" rel="noopener noreferrer" href="https://twitter.com/abdumajidRashid"><span class="sr-only">twitter</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="fill-current text-gray-700 hover:text-blue-500 dark:text-gray-200 dark:hover:text-blue-400 h-6 w-6"><path d="M23.953 4.57a10 10 0 0 1-2.825.775 4.958 4.958 0 0 0 2.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 0 0-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 0 0-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 0 1-2.228-.616v.06a4.923 4.923 0 0 0 3.946 4.827 4.996 4.996 0 0 1-2.212.085 4.936 4.936 0 0 0 4.604 3.417 9.867 9.867 0 0 1-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 0 0 7.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0 0 24 4.59z"></path></svg></a></div><div class="mb-2 flex space-x-2 text-sm text-gray-500 dark:text-gray-400"><div>Abdumajid Rashidov</div><div> • </div><div>© 2025</div><div> • </div><a href="/">Abdumajid&#x27;s Blog</a></div></div></footer></div></div></div>
1<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"initialDisplayPosts":[{"title":"How I built an npm package and saved 49% on AI costs","date":"2025-11-20T00:00:00.000Z","tags":["npm","open-source","ai","llm","developer-journey"],"draft":false,"summary":"The story of creating json-toon: from discovering a problem to publishing a package that thousands can use. Built with Antigravity AI IDE and Claude Sonnet 4.5.","slug":"Building json-toon - High-Performance JSON to TOON Converter"},{"title":"Voice AI Mastery Series - Part 1: Getting Interruption Management Right","date":"2025-07-18T00:00:00.000Z","tags":["voice-ai","ai-agents","stt","tts","turn-detection","vad","network-optimisation","monitoring","rtt"],"draft":false,"summary":"In this article, we will explore the challenges of building voice AI agents and share our experience in creating a system that actually works in production.","slug":"Voice AI Mastery Series - Part 1: Getting Interruption Management Right"},{"title":"Memory-Optimized Audio Streaming: A Technical Deep Dive","date":"2025-07-10T00:00:00.000Z","tags":["memory-optimisation","audio-streaming","real-time-communication","technology"],"draft":false,"summary":"In this article, we will explore the challenges of memory management in real-time audio streaming and share our optimisation strategy to improve performance and stability in our communication platform.","slug":"Memory-Optimized Audio Streaming_ A Technical Deep Dive-20250710231734"},{"title":"Arrays vs Linked Lists: Understanding Data Structures","date":"2024-12-26T00:00:00.000Z","tags":["data structures","programming","algorithms","array","linked-list"],"draft":false,"summary":"Deep dive into arrays and linked lists - their implementations, time complexities, and real-world applications with interactive examples.","slug":"Arrays vs Linked Lists: Understanding Data Structures"},{"title":"Binary Search: A Comprehensive Guide","date":"2024-12-04T00:00:00.000Z","tags":["algorithms","search","complexity","python"],"draft":false,"summary":"An in-depth exploration of binary search algorithm, including implementation details, time complexity analysis, and practical applications.","slug":"Binary-search"}],"posts":[{"title":"How I built an npm package and saved 49% on AI costs","date":"2025-11-20T00:00:00.000Z","tags":["npm","open-source","ai","llm","developer-journey"],"draft":false,"summary":"The story of creating json-toon: from discovering a problem to publishing a package that thousands can use. Built with Antigravity AI IDE and Claude Sonnet 4.5.","slug":"Building json-toon - High-Performance JSON to TOON Converter"},{"title":"Voice AI Mastery Series - Part 1: Getting Interruption Management Right","date":"2025-07-18T00:00:00.000Z","tags":["voice-ai","ai-agents","stt","tts","turn-detection","vad","network-optimisation","monitoring","rtt"],"draft":false,"summary":"In this article, we will explore the challenges of building voice AI agents and share our experience in creating a system that actually works in production.","slug":"Voice AI Mastery Series - Part 1: Getting Interruption Management Right"},{"title":"Memory-Optimized Audio Streaming: A Technical Deep Dive","date":"2025-07-10T00:00:00.000Z","tags":["memory-optimisation","audio-streaming","real-time-communication","technology"],"draft":false,"summary":"In this article, we will explore the challenges of memory management in real-time audio streaming and share our optimisation strategy to improve performance and stability in our communication platform.","slug":"Memory-Optimized Audio Streaming_ A Technical Deep Dive-20250710231734"},{"title":"Arrays vs Linked Lists: Understanding Data Structures","date":"2024-12-26T00:00:00.000Z","tags":["data structures","programming","algorithms","array","linked-list"],"draft":false,"summary":"Deep dive into arrays and linked lists - their implementations, time complexities, and real-world applications with interactive examples.","slug":"Arrays vs Linked Lists: Understanding Data Structures"},{"title":"Binary Search: A Comprehensive Guide","date":"2024-12-04T00:00:00.000Z","tags":["algorithms","search","complexity","python"],"draft":false,"summary":"An in-depth exploration of binary search algorithm, including implementation details, time complexity analysis, and practical applications.","slug":"Binary-search"},{"title":"An Introduction to Machine Learning: How Computers Learn from Data","date":"2024-11-18T00:00:00.000Z","tags":["machine learning","AI","data science","technology"],"draft":false,"summary":"Dive into the fascinating world of machine learning, where computers learn from data to make predictions, recognize patterns, and transform industries.","slug":"Introduction-ML"},{"title":"Understanding Big O Notation in Algorithms and Data Structures","date":"2024-11-12T00:00:00.000Z","tags":["algorithms","data structures","Big O notation","computer science"],"draft":false,"summary":"A creative and interactive guide to Big O notation, exploring its importance in algorithms and data structures with code snippets, visual aids, and insights from \"Grokking Algorithms.\"","slug":"Big-O-notations"},{"title":"My Journey of Becoming a Software Engineer","date":"2024-11-05T00:00:00.000Z","tags":["software engineering","journey","career"],"draft":false,"summary":"In this article, I share my personal journey of becoming a software engineer, from my early interests in technology to my current pursuits in the tech industry.","slug":"My Journey-of-Becoming-a-Software-Engineer"}],"pagination":{"currentPage":1,"totalPages":2}},"__N_SSG":true},"page":"/blog","query":{},"buildId":"C8TgUOiX72vkMA_UPsvBQ","isFallback":false,"gsp":true,"scriptLoader":[]}</script>
1</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.