<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Home page of Debamitro Chakraborti</title>
    <link>https://debamitro.github.io/</link>
    <description>Recent content on Home page of Debamitro Chakraborti</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 04 Aug 2026 10:17:41 -0400</lastBuildDate>
    <atom:link href="https://debamitro.github.io/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>My Impressions of Loop Engineering</title>
      <link>https://debamitro.github.io/blog/my-impressions-of-loop-engineering/</link>
      <pubDate>Tue, 04 Aug 2026 10:17:41 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/my-impressions-of-loop-engineering/</guid>
      <description>&lt;p&gt;A few months ago &amp;lsquo;Loop Engineering&amp;rsquo; became a hot topic in the AI agent space. I couldn&amp;rsquo;t find a compelling reason to add a loop to my agentic AI usage just for the sake of it. Neither did I understand what it really meant. I even made a &lt;a href=&#34;https://youtube.com/shorts/kMg9G8e94gM?feature=share&#34;&gt;short video&lt;/a&gt; about this.&lt;/p&gt;&#xA;&lt;h2 id=&#34;previous-attempts-at-looping-ai&#34;&gt;Previous attempts at looping AI&lt;/h2&gt;&#xA;&lt;p&gt;Late last year, there was a lot of excitement about &lt;a href=&#34;https://ghuntley.com/loop/&#34;&gt;Ralph Loops&lt;/a&gt;. There was also Steve Yegge&amp;rsquo;s &lt;a href=&#34;https://github.com/gastownhall/gastown&#34;&gt;GasTown&lt;/a&gt; which, to me, was a framework to do much more sophisticated forms of multi-agent work than loops. The &lt;a href=&#34;https://openclaw.ai&#34;&gt;OpenClaw&lt;/a&gt; wave was the first large-scale demonstration of the power of AI running in a loop.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Is Software Engineering Needed Any More?</title>
      <link>https://debamitro.github.io/blog/is-software-engineering-needed-any-more/</link>
      <pubDate>Fri, 15 May 2026 12:16:49 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/is-software-engineering-needed-any-more/</guid>
      <description>&lt;p&gt;I was pretty optimistic about the future of software engineering &lt;a href=&#34;https://debamitro.github.io/blog/predictions-about-software-engineering-in-the-age-of-ai-i/&#34;&gt;five months ago&lt;/a&gt;, and I still am. Despite my involvement with AI and agents and what not. Here I try to document some examples that justify my optimism.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ai-coding-requires-a-lot-of-non-llm-work&#34;&gt;AI coding requires a lot of non-LLM work&lt;/h2&gt;&#xA;&lt;p&gt;The first talk I ever saw on AI coding was before Cursor or Claude Code or any tool we know today came out. It was given by &lt;a href=&#34;https://www.emeryberger.com&#34;&gt;Emery Berger&lt;/a&gt; at CppCon 2023, and titled &amp;lsquo;Powered by AI: A Cambrian Explosion for C++ Software Development Tools&amp;rsquo;. There is a demo of an early version of &lt;a href=&#34;https://github.com/plasma-umass/ChatDBG&#34;&gt;ChatDBG&lt;/a&gt; in the talk, and then &lt;a href=&#34;https://youtu.be/w7tYe-xTrPw?si=EWj1CiYU59bSb3Ep&amp;amp;t=1100&#34;&gt;at around 18:45&lt;/a&gt; he says &amp;lsquo;&amp;hellip; there&amp;rsquo;s a lot of engineering that went on to make this work &amp;hellip;&amp;rsquo;. Mind you, Prof Berger is not to be taken lightly - he is famous for authoring a &lt;a href=&#34;https://dl.acm.org/doi/10.1145/378993.379232&#34;&gt;memory manager&lt;/a&gt; which eventually made it into MacOS. If he says that a small tool needs much more than calling an OpenAI endpoint, imagine what the likes of Cursor look like under the hood.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Coding With My Own AI Coding Agent</title>
      <link>https://debamitro.github.io/blog/coding-with-my-own-ai-coding-agent/</link>
      <pubDate>Sun, 05 Apr 2026 12:34:03 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/coding-with-my-own-ai-coding-agent/</guid>
      <description>&lt;p&gt;Around two months ago, I had created a new AI coding agent using another AI coding agent. The results surprised me so much that I had written &lt;a href=&#34;https://debamitro.github.io/blog/creating-a-coding-agent-with-a-coding-agent/&#34;&gt;a post about it&lt;/a&gt;. As I had written, I have no intention of continuing to do this. Because there are excellent and mature AI coding agents in the market today. But I kept on improving it until I reached a point where I can use it on existing projects.&#xA;Here are some notes from this journey.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Dad 2.0 Experience</title>
      <link>https://debamitro.github.io/blog/the-dad-2.0-experience/</link>
      <pubDate>Mon, 09 Mar 2026 13:42:26 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/the-dad-2.0-experience/</guid>
      <description>&lt;p&gt;I realized that this, being my personal blog, does not always need to talk about AI and programming. Specially when that&amp;rsquo;s only a part of my life.  So here goes my notes from becoming a dad for the second time.&lt;/p&gt;&#xA;&lt;h2 id=&#34;harder-or-easier&#34;&gt;Harder or easier&lt;/h2&gt;&#xA;&lt;p&gt;I have heard from multiple people that handling the first kid is the hardest. It matches with my experience as well. I am way more prepared this time, and I had the necessary skills in muscle memory from 8 years ago. It only took me a day or two for recalling them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Riding the Claw Wave</title>
      <link>https://debamitro.github.io/blog/riding-the-claw-wave/</link>
      <pubDate>Sun, 15 Feb 2026 10:31:12 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/riding-the-claw-wave/</guid>
      <description>&lt;h2 id=&#34;the-wait&#34;&gt;The wait&lt;/h2&gt;&#xA;&lt;p&gt;In the last one month or so, &lt;a href=&#34;https://www.openclaw.ai&#34;&gt;OpenClaw&lt;/a&gt; went viral. Some people claimed that it was even more viral than ChatGPT. I was a little late to the Claude Code wave, so I wanted to wait this one out as well. When everyone was screaming about how crazy OpenClaw was, I was trying to understand why Claude Code became such a big hit - even with non-technical people.&lt;/p&gt;&#xA;&lt;p&gt;My other reason for avoiding it was that it looked like a tool for &amp;lsquo;shallow work&amp;rsquo;. This is a term popularized by &lt;a href=&#34;https://calnewport.com&#34;&gt;Cal Newport&lt;/a&gt; who I have been following for a long time. A chat with a bot on your phone is no way to do intense &amp;lsquo;deep work&amp;rsquo;, I reasoned.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating a Coding Agent With a Coding Agent</title>
      <link>https://debamitro.github.io/blog/creating-a-coding-agent-with-a-coding-agent/</link>
      <pubDate>Fri, 23 Jan 2026 11:16:00 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/creating-a-coding-agent-with-a-coding-agent/</guid>
      <description>&lt;p&gt;Yesterday in the morning I created a new AI coding agent, using an existing AI coding agent. It took me an hour, and it worked. This was sort of like creating a mini Claude Code using the existing Claude Code. I still can&amp;rsquo;t believe it worked. I want to write down why and how I did this.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-problem---an-old-laptop&#34;&gt;The problem - an old laptop&lt;/h2&gt;&#xA;&lt;p&gt;My first laptop was a 2012 MacBook Pro, and it still works. I have been using AI coding agents for more than a year, and in the last six months, &lt;a href=&#34;https://code.claude.com&#34;&gt;Claude Code&lt;/a&gt; has become wildly popular. People are using it almost like the first thing you open up on your computer. So I thought it was natural that I should install it on my old laptop as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Of Code Coverage and the Internet</title>
      <link>https://debamitro.github.io/blog/of-code-coverage-and-the-internet/</link>
      <pubDate>Thu, 15 Jan 2026 20:30:16 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/of-code-coverage-and-the-internet/</guid>
      <description>&lt;p&gt;Last week, a &lt;a href=&#34;https://x.com/ThePrimeagen/status/2009628174280474757?s=20&#34;&gt;post on X&lt;/a&gt; reminded me of my encounters with software code coverage. For a number of years in my professional career, I was required to do something or the other for improving software code coverage.&lt;/p&gt;&#xA;&lt;h2 id=&#34;definition&#34;&gt;Definition&lt;/h2&gt;&#xA;&lt;p&gt;Software code coverage is a metric which is defined as the percentage of source code lines executed by the test cases supplied with it. There is a school of thought that this metric should be as close to 100% as possible.&#xA;In other words, if the software runs on all the test cases supplied with it, almost every single line of source code should get executed. I don&amp;rsquo;t need to explain this further, because there is ample literature on the internet about this. And I am no expert on it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Predictions About Software Engineering in the Age of AI - II</title>
      <link>https://debamitro.github.io/blog/predictions-about-software-engineering-in-the-age-of-ai-ii/</link>
      <pubDate>Wed, 31 Dec 2025 17:50:01 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/predictions-about-software-engineering-in-the-age-of-ai-ii/</guid>
      <description>&lt;p&gt;As promised in &lt;a href=&#34;https://debamitro.github.io/blog/predictions-about-software-engineering-in-the-age-of-ai-i/&#34;&gt;my earlier post&lt;/a&gt; on the same topic, I have a little more to say.&lt;/p&gt;&#xA;&lt;h2 id=&#34;roles-will-become-more-vertical&#34;&gt;Roles will become more vertical&lt;/h2&gt;&#xA;&lt;p&gt;There never was a software engineer role which just involved coding and debugging. Knowing something about the customers or the product or the business was a must. Now that AI makes software engineering applicable to many more areas, we will most likely see &amp;lsquo;vertical&amp;rsquo; roles. Some examples, in my opinion, are&lt;/p&gt;</description>
    </item>
    <item>
      <title>Predictions About Software Engineering in the Age of AI - I</title>
      <link>https://debamitro.github.io/blog/predictions-about-software-engineering-in-the-age-of-ai-i/</link>
      <pubDate>Fri, 26 Dec 2025 21:21:25 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/predictions-about-software-engineering-in-the-age-of-ai-i/</guid>
      <description>&lt;p&gt;Since &lt;a href=&#34;https://openai.com/index/chatgpt/&#34;&gt;the end of 2022&lt;/a&gt;, AI has been disrupting the world of software engineering. Looking at how 2023, 2024 and 2025 went - there is a lot of discussion about the future of software engineers. Not all of that discussion is hopeful.&lt;/p&gt;&#xA;&lt;p&gt;Being a serial optimist, I wanted to write down my predictions for software engineering in the age of AI.&#xA;Here it goes.&lt;/p&gt;&#xA;&lt;h2 id=&#34;software-products-will-grow-up-faster&#34;&gt;Software products will grow up faster&lt;/h2&gt;&#xA;&lt;p&gt;The gold standard of the industry is that it takes &lt;a href=&#34;https://www.joelonsoftware.com/2001/07/21/good-software-takes-ten-years-get-used-to-it/&#34;&gt;10 years for &amp;lsquo;good&amp;rsquo; software&lt;/a&gt;. It should not take that long any more. AI tools have changed the way software is designed and developed. Many more steps in the process can be parallelized now. Many iterative steps can be automated and hence made to go faster. The next operating system or the next internet platform should take much less time to mature.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Year One of My Entrepreneurial Journey</title>
      <link>https://debamitro.github.io/blog/year-one-of-my-entrepreneurial-journey/</link>
      <pubDate>Fri, 12 Dec 2025 12:35:03 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/year-one-of-my-entrepreneurial-journey/</guid>
      <description>&lt;p&gt;My last working day at my &lt;a href=&#34;https://www.cadence.com&#34;&gt;previous employer&lt;/a&gt; was December 13 2024. Tomorrow I complete one year of my journey towards becoming an entrepreneur.&lt;/p&gt;&#xA;&lt;h2 id=&#34;re-cap---why-i-quit&#34;&gt;Re-cap - why I quit&lt;/h2&gt;&#xA;&lt;p&gt;I was not laid off. And it was not going bad for me at my job. In fact, I was at the highest point of my career in chip design software. I quit my job because I &lt;em&gt;really&lt;/em&gt; wanted to be an entrepreneur. And I realized that, unlike a lot of successful entrepreneurs, &lt;em&gt;I&lt;/em&gt; am incapable of starting it on the side. I also had the advantage of having a high-earning spouse, and I felt that it was a signal from above. The entire universe was pushing me towards the next thing in life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello World of AI Agents</title>
      <link>https://debamitro.github.io/blog/hello-world-of-ai-agents/</link>
      <pubDate>Tue, 09 Dec 2025 12:42:17 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/hello-world-of-ai-agents/</guid>
      <description>&lt;p&gt;My favorite guidebook of all time is &amp;lsquo;The C Programming Language&amp;rsquo; by Kernighan and Ritchie. In the first chapter of the book are the immortal words:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The only way to learn a new programming language is by writing programs in it.&#xA;The first program to write is the same for all languages:&#xA;&lt;em&gt;Print the words&lt;/em&gt; &amp;lsquo;hello, world&amp;rsquo;&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;I have always believed that a &amp;lsquo;hello world&amp;rsquo; is the best way to understand the basics of a system.&#xA;Given that AI agents are the hottest systems in the news all the time now, I decided to find out the &amp;lsquo;hello world of AI agents&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A VS Code Fork for Writing</title>
      <link>https://debamitro.github.io/blog/a-vs-code-fork-for-writing/</link>
      <pubDate>Sat, 22 Nov 2025 20:30:37 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/a-vs-code-fork-for-writing/</guid>
      <description>&lt;h2 id=&#34;the-seed&#34;&gt;The seed&lt;/h2&gt;&#xA;&lt;p&gt;It was my friend &lt;a href=&#34;https://x.com/FridoHaugg&#34;&gt;Frido&lt;/a&gt; who planted the seeds of this idea into my brain, by showing me a &lt;a href=&#34;https://www.cladlabs.ai&#34;&gt;&amp;lsquo;brainrot IDE&amp;rsquo;&lt;/a&gt; which had been accepted into YCombinator&amp;rsquo;s Fall 2025 batch. I tried it out and discovered that, like many other AI-enabled IDEs, it was a forked version of Visual Studio Code a.k.a. VS Code. The only difference was that it was an indirect fork. Its &amp;lsquo;parent&amp;rsquo; source code came from an open-source AI-enabled IDE called &lt;a href=&#34;https://voideditor.com&#34;&gt;Void&lt;/a&gt;. VS Code was technically the &amp;lsquo;grandpa&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Built My Own Tool for Disk Space Cleanup</title>
      <link>https://debamitro.github.io/blog/how-i-built-my-own-tool-for-disk-space-cleanup/</link>
      <pubDate>Fri, 10 Oct 2025 13:24:04 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/how-i-built-my-own-tool-for-disk-space-cleanup/</guid>
      <description>&lt;h2 id=&#34;backstory&#34;&gt;Backstory&lt;/h2&gt;&#xA;&lt;p&gt;Some years ago in my last job, a lot of us used to exceed disk space quotas. Which sometimes meant getting an email from the IT department asking us to reduce the disk space we were using on a particular hard drive. I guess this is pretty common. I remember I used to wonder what would be a better way to find out what to delete. Of course the standard &amp;lsquo;du -hsc&amp;rsquo; command was all you needed, if you were patient enough to wait for it to finish. Many times I was not.&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#39;Let&#39;s Rewrite It&#39; in the Age of AI</title>
      <link>https://debamitro.github.io/blog/lets-rewrite-in-the-age-of-ai/</link>
      <pubDate>Mon, 18 Aug 2025 19:23:37 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/lets-rewrite-in-the-age-of-ai/</guid>
      <description>&lt;p&gt;I feel everybody who has been a software engineer for more than five years has hit a point where a bunch of people on the team feel that the entire codebase has become unmaintainable. I have always seen this happen on projects which are successful. That&amp;rsquo;s right - the cleanest code I have ever worked on was a product which had zero customers!&lt;/p&gt;&#xA;&lt;p&gt;This cry of &amp;rsquo;let&amp;rsquo;s rewrite it from scratch&amp;rsquo; keeps coming up again and again. I have seen this in action twice in my engineering career. Both times it was a disaster. The new codebase was never complete, and in the end it got abandoned. This is not surprising, because experts and giants in the industry have warned against it. The most famous article is probably &lt;a href=&#34;https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/&#34;&gt;the one by Joel Spolsky&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making Videos With MediaRecorder</title>
      <link>https://debamitro.github.io/blog/making-videos-with-media-recorder/</link>
      <pubDate>Mon, 04 Aug 2025 13:30:20 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/making-videos-with-media-recorder/</guid>
      <description>&lt;p&gt;This story started on a Sunday, at the &lt;a href=&#34;https://sundai.club/&#34;&gt;SundAI Club&lt;/a&gt;. Which reminds me, I should post about the fun AI hacks I have been part of at this club since the end of December 2024. Another day!&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-project&#34;&gt;The project&lt;/h2&gt;&#xA;&lt;p&gt;I wanted to create &lt;a href=&#34;https://fireship.io&#34;&gt;Fireship&lt;/a&gt;-styled videos of my friend Andrew&amp;rsquo;s &lt;a href=&#34;https://velab.dev/news&#34;&gt;AI newsletter&lt;/a&gt;. I quickly found out that AI video generation was slighly expensive, and I didn&amp;rsquo;t want to lose much money on this one-day hack.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Karpathian Classification of Software</title>
      <link>https://debamitro.github.io/blog/karpathian-classification-of-software/</link>
      <pubDate>Tue, 29 Jul 2025 16:50:35 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/karpathian-classification-of-software/</guid>
      <description>&lt;p&gt;In a &lt;a href=&#34;https://youtu.be/LCEmiRjPEtQ?si=NAu70uEImlH4BZsj&#34;&gt;recent speech&lt;/a&gt;, &lt;a href=&#34;https://karpathy.ai&#34;&gt;Andrej Karpathy&lt;/a&gt; has classified software into three broad categories. I have been thinking a lot about them. Here are my reflections on this topic.&lt;/p&gt;&#xA;&lt;h2 id=&#34;definition&#34;&gt;Definition&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Software 1.0&lt;/th&gt;&#xA;          &lt;th&gt;Software 2.0&lt;/th&gt;&#xA;          &lt;th&gt;Software 3.0&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Needs a step-by-step algorithm, where it is told exactly what to do&lt;/td&gt;&#xA;          &lt;td&gt;Can be trained to do tasks which don&amp;rsquo;t have an exact definition&lt;/td&gt;&#xA;          &lt;td&gt;Can learn on the fly and perform tasks based on prompts&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;examples-of-the-three-categories&#34;&gt;Examples of the three categories&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Software 1.0&lt;/th&gt;&#xA;          &lt;th&gt;Software 2.0&lt;/th&gt;&#xA;          &lt;th&gt;Software 3.0&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Can draw geometric shapes&lt;/td&gt;&#xA;          &lt;td&gt;Can draw a cat&lt;/td&gt;&#xA;          &lt;td&gt;Can draw an imaginary animal based on a description&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;As you can see, software 1.0 has been around since the mid-20th century, software 2.0 was impossible for a very long time. Tremendous advances in hardware, and multiple theoretical breakthroughs in machine learning made neural networks commonplace - which is what software 2.0 is. Software 3.0 is the most recent category. It is a way to provide a &amp;lsquo;prompt&amp;rsquo; to a certain kind of software 2.0 which can &amp;rsquo;learn&amp;rsquo;, &amp;rsquo;think&amp;rsquo;, and behave in a possibly new way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Attempting to Vibe Code in Rust</title>
      <link>https://debamitro.github.io/blog/attempting-to-vibe-code-rust/</link>
      <pubDate>Fri, 09 May 2025 11:05:34 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/attempting-to-vibe-code-rust/</guid>
      <description>&lt;p&gt;It all started with a post on X I made, more than a month ago&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;is anybody doing vibe coding in rust?&lt;/p&gt;&amp;mdash; DebamitroChakraborti (@debamitro) &lt;a href=&#34;https://twitter.com/debamitro/status/1905308219477545266?ref_src=twsrc%5Etfw&#34;&gt;March 27, 2025&lt;/a&gt;&lt;/blockquote&gt; &lt;script async src=&#34;https://platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&#xA;&lt;p&gt;Based on the responses, I knew I had to try it out. So I started looking for a project to do.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-project&#34;&gt;The project&lt;/h2&gt;&#xA;&lt;p&gt;A few months ago, I had vibe coded a tiny &lt;a href=&#34;https://github.com/debamitro/gmail-size-classifier&#34;&gt;python project which classified Gmail messages by size&lt;/a&gt;.&#xA;I decided to create a Rust version of it. I thought if I succeeded, it would be easier to distribute as a desktop application.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vibe Coding report as of April 2025</title>
      <link>https://debamitro.github.io/blog/vibe-coding-apps-april-2025/</link>
      <pubDate>Fri, 02 May 2025 11:32:57 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/vibe-coding-apps-april-2025/</guid>
      <description>&lt;p&gt;I had been thinking of writing a completely different blog post, but just a while ago I got sidetracked by &lt;a href=&#34;https://karpathy.ai&#34;&gt;Andrej Karpathy&lt;/a&gt;&amp;rsquo;s &lt;a href=&#34;https://karpathy.bearblog.dev/vibe-coding-menugen/&#34;&gt;post on vibe coding at a hackathon&lt;/a&gt;. It is a great time to be alive when LLMs are changing technology forever, and one of the most famous researchers in AI is trying it out like the rest of us developers.&lt;/p&gt;&#xA;&lt;h2 id=&#34;my-vibe-coding-experience&#34;&gt;My vibe coding experience&lt;/h2&gt;&#xA;&lt;p&gt;Even before the term was &lt;a href=&#34;https://blog.codepromptfu.com/posts/what-are-ai-prompts-for-coding/&#34;&gt;invented in a tweet&lt;/a&gt; I had almost stopped writing code by hand. I let LLMs write at least 90% of any code I commit, and use LLM advice for the writing the rest. Here is a graphical representation of all the vibe coding I did in the last few months (thanks to &lt;a href=&#34;https://windsurf.com&#34;&gt;Windsurf&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>My LLM Workflow as of Feb 2025</title>
      <link>https://debamitro.github.io/blog/my-llm-workflow-as-of-feb-2025/</link>
      <pubDate>Fri, 28 Feb 2025 14:18:28 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/my-llm-workflow-as-of-feb-2025/</guid>
      <description>&lt;p&gt;Inspired by &lt;a href=&#34;https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/&#34;&gt;Harper Reed&amp;rsquo;s blog post&lt;/a&gt; I want to document the way I am using AI. Specifically, large language models or LLMs.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-i-do&#34;&gt;What I do&lt;/h2&gt;&#xA;&lt;p&gt;I have to confess this first. I am unemployed at the moment, on a planned career break.&#xA;So, I have all the time in the world to use any AI tool I want. I can afford to devote additional time&#xA;to get familiar with any LLM-based tool. And I am very privileged to be located only 15 miles away from Cambridge, Massachusetts - which is one of the biggest AI hubs in the world.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Two Cases of Prompts Which Don&#39;t Work</title>
      <link>https://debamitro.github.io/blog/two-cases-of-prompts-which-donot-work/</link>
      <pubDate>Tue, 11 Feb 2025 14:36:22 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/two-cases-of-prompts-which-donot-work/</guid>
      <description>&lt;p&gt;After a couple of months of coding using AI prompts, I found two cases where a particular prompt doesn&amp;rsquo;t work. Maybe they&amp;rsquo;ll start working sometime soon. Or, it is possible that they work with a different AI coding tool or LLM other than the ones I tried.&lt;/p&gt;&#xA;&lt;h2 id=&#34;case-i&#34;&gt;Case I&lt;/h2&gt;&#xA;&lt;p&gt;I have started to use &lt;a href=&#34;https://clerk.com&#34;&gt;Clerk&lt;/a&gt; for user authentication. It is really easy to use, but I have bumped into one small problem everytime I asked &lt;a href=&#34;https://codeium.com/windsurf&#34;&gt;Windsurf&lt;/a&gt; to add Clerk authentication in a project.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a Collection of Coding Prompts</title>
      <link>https://debamitro.github.io/blog/building-a-collection-of-coding-prompts/</link>
      <pubDate>Fri, 24 Jan 2025 11:40:54 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/building-a-collection-of-coding-prompts/</guid>
      <description>&lt;h2 id=&#34;quick-intro&#34;&gt;Quick intro&lt;/h2&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s an idea that ocurred to me almost a month ago, and something that I have been working on since then. As I have written in &lt;a href=&#34;https://debamitro.github.io/blog/how-ai-started-writing-code-for-me/&#34;&gt;an earlier post&lt;/a&gt;, I started using AI for programming and haven&amp;rsquo;t stopped doing that yet. Which means, I am chatting with a tool in English, and the tool is doing everything that constitutes programming&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Writing some code&lt;/li&gt;&#xA;&lt;li&gt;Fixing errors&lt;/li&gt;&#xA;&lt;li&gt;Improving the code&lt;/li&gt;&#xA;&lt;li&gt;Understanding code - this is very useful for things which I don&amp;rsquo;t always have in my short-term memory (think CSS, JavaScript framework quirks etc)&lt;/li&gt;&#xA;&lt;li&gt;Trying out new approaches&lt;/li&gt;&#xA;&lt;li&gt;Debugging deployment and production issues&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The list above is real - I have actually done all of them and more.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How AI Started Writing Code for Me</title>
      <link>https://debamitro.github.io/blog/how-ai-started-writing-code-for-me/</link>
      <pubDate>Fri, 17 Jan 2025 12:17:32 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/how-ai-started-writing-code-for-me/</guid>
      <description>&lt;p&gt;I just realized that I haven&amp;rsquo;t blogged in four years, so it will be a while before my blog catches up with me. I feel like I am a different person now&amp;hellip; Okay, I&amp;rsquo;ll get to the topic I was excited to write about.&lt;/p&gt;&#xA;&lt;h3 id=&#34;first-look&#34;&gt;First look&lt;/h3&gt;&#xA;&lt;p&gt;The first time I saw AI-assisted software development was a demo of a project called &lt;a href=&#34;https://www.all-hands.dev&#34;&gt;all hands&lt;/a&gt; . I was amazed that LLMs (large language models) could read bug reports from screenshots, fix and test code, and then deploy the changes too. It looked so voodoo to me. Soon I found out that this was becoming commonplace with most of the popular LLMs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Mystery of the Missing Audio Samples - II</title>
      <link>https://debamitro.github.io/blog/mystery-of-missing-audio-samples-ii/</link>
      <pubDate>Tue, 11 Jan 2022 11:00:51 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/mystery-of-missing-audio-samples-ii/</guid>
      <description>&lt;p&gt;(This is a continuation from my previous &lt;a href=&#34;https://debamitro.github.io/blog/mystery-of-missing-audio-samples-i/&#34;&gt;blog post&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h2 id=&#34;re-cap&#34;&gt;Re-cap&lt;/h2&gt;&#xA;&lt;p&gt;I was trying to read in audio samples from my microphone using Rust&amp;rsquo;s &lt;a href=&#34;https://github.com/rustaudio/cpal&#34;&gt;cpal&lt;/a&gt; library. Somehow I couldn&amp;rsquo;t get 44100 samples per second even though I had verified that the sampling rate was 44100 Hz. I tried various things and nothing seemed to work.&lt;/p&gt;&#xA;&lt;h2 id=&#34;more-attempts-to-solve-the-mystery&#34;&gt;More attempts to solve the mystery&lt;/h2&gt;&#xA;&lt;h3 id=&#34;attempt-4&#34;&gt;Attempt 4&lt;/h3&gt;&#xA;&lt;p&gt;Cpal uses &lt;a href=&#34;https://crates.io/crates/coreaudio-rs&#34;&gt;coreaudio-rs&lt;/a&gt; on OSX, which is a &amp;ldquo;Rust-esque&amp;rdquo; interface over Apple&amp;rsquo;s CoreAudio framework. From my comparisons of portaudio and cpal, I picked one difference which seemed important to me. When portaudio wants to &amp;lsquo;stop&amp;rsquo; an input stream, it calls a bunch of stuff including &lt;a href=&#34;https://developer.apple.com/documentation/audiotoolbox/1439607-audiounitreset&#34;&gt;AudioUnitReset&lt;/a&gt; - and cpal was &lt;em&gt;not&lt;/em&gt; doing this one particular call. What&amp;rsquo;s more, coreaudio-rs doesn&amp;rsquo;t even have a way to call the AudioUnitReset routine. I downloaded and built my own copies of cpal and coreaudio-rs and made the necessary changes. This taught me how to modify Cargo.toml to tweak where a dependent package got picked up from - the crate registry, a git repo, or a local directory. I didn&amp;rsquo;t get the desired result yet - I was still receiving somewhere between 40000 and 43000 samples per second.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Mystery of the Missing Audio Samples - I</title>
      <link>https://debamitro.github.io/blog/mystery-of-missing-audio-samples-i/</link>
      <pubDate>Thu, 06 Jan 2022 10:00:00 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/mystery-of-missing-audio-samples-i/</guid>
      <description>&lt;p&gt;It all started in the third week of my batch at the Recurse Center, when I got interested in Audio Signal Processing, and signed up for a &lt;a href=&#34;https://www.coursera.org/learn/audio-signal-processing&#34;&gt;Coursera course&lt;/a&gt; which some people were doing. My biggest goal for the batch was to get better at using Rust. So, I thought I should do the assignments in the course using Rust. Looking for a basic audio library, I found &lt;a href=&#34;https://github.com/rustaudio/cpal&#34;&gt;cpal&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;playing-with-cpal&#34;&gt;Playing with cpal&lt;/h2&gt;&#xA;&lt;p&gt;A couple of years ago I had played briefly with &lt;a href=&#34;https://github.com/PortAudio/portaudio&#34;&gt;portaudio&lt;/a&gt;, which is a very widely-used C library for audio applications. Cpal seemed better-designed, and used Rust idioms. The documentation was good. I kept referring to the &lt;a href=&#34;https://github.com/RustAudio/cpal/blob/master/examples/record_wav.rs&#34;&gt;record_wav.rs&lt;/a&gt; example and started writing some code which could read audio data from my microphone. I had to learn some concepts like what &lt;a href=&#34;https://doc.rust-lang.org/stable/std/ops/trait.FnMut.html&#34;&gt;FnMut&lt;/a&gt; meant, and whether I could use a function where the example used a closure. The most important lines in the first working version looked like&lt;/p&gt;</description>
    </item>
    <item>
      <title>(Almost) 6 weeks of Rust</title>
      <link>https://debamitro.github.io/blog/almost-6-weeks-of-rust/</link>
      <pubDate>Fri, 10 Dec 2021 14:57:27 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/almost-6-weeks-of-rust/</guid>
      <description>&lt;p&gt;I spent most of my working hours in the last six weeks learning about and using the &lt;a href=&#34;https://www.rust-lang.org&#34;&gt;Rust programming language&lt;/a&gt;. Here is an account of that. No, I am still nothing more than a beginner in Rust.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-opportunity&#34;&gt;The opportunity&lt;/h2&gt;&#xA;&lt;p&gt;I could spend this time in this fashion by being in a remote batch at the &lt;a href=&#34;https://www.recurse.com&#34;&gt;Recurse Center&lt;/a&gt; (also known as RC). I learnt a lot by myself, but only because I had the opportunity to chat and pair with other programmers. As I have proably written before, RC is a great ecosystem for learning anything related to programming.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Programmatic Access of C Structures</title>
      <link>https://debamitro.github.io/blog/programmatic-access-of-c-structures/</link>
      <pubDate>Fri, 19 Nov 2021 15:26:42 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/programmatic-access-of-c-structures/</guid>
      <description>&lt;h1 id=&#34;background&#34;&gt;Background&lt;/h1&gt;&#xA;&lt;p&gt;More than a year ago, I was looking for a project which would help me learn the &lt;a href=&#34;https://www.rust-lang.org&#34;&gt;Rust programming language&lt;/a&gt;. I like creating small projects from scratch, so I thought of solving a problem I had encountered occasionally at work. C (and C++ as well) doesn&amp;rsquo;t have a standard way of accessing its data structures programmatically. Some languages have type introspection capabilities, and C/C++ obviously don&amp;rsquo;t have that either. As a result, we often need to implement boilerplate utility code for dealing with C/C++ structures. Some examples are:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Waking Up Before Sunrise</title>
      <link>https://debamitro.github.io/blog/waking-up-before-sunrise/</link>
      <pubDate>Tue, 05 Oct 2021 13:50:19 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/waking-up-before-sunrise/</guid>
      <description>&lt;h1 id=&#34;background&#34;&gt;Background&lt;/h1&gt;&#xA;&lt;p&gt;I had been seeing videos on YouTube about highly successful people waking up at 4:00 am or 4:30 am or even earlier. About ten days ago I discovered that my neighbour wakes up at 4:00 am every day. That got me thinking - this is a real example in front of me. This can&amp;rsquo;t be some random stuff from the Internet. I had to dig deeper into this. So I decided to try out waking up before sunrise. What follows is my log for the first few days of this attempt.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Impressions of Rust 2020 - part I</title>
      <link>https://debamitro.github.io/blog/impressions-of-rust-2020-parti/</link>
      <pubDate>Sat, 26 Jun 2021 14:00:56 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/impressions-of-rust-2020-parti/</guid>
      <description>&lt;p&gt;Learning a new programming language is always a nice way to kick your brain into action. I first experienced this when I tried to learn Lisp by watching some video lectures. It took me months to digest the concepts and I never got around to writing any lisp. But the ideas stayed with me for years. Later on &lt;a href=&#34;https://debamitro.github.io/blog/how-i-got-into-clojure&#34;&gt;I did learn Clojure&lt;/a&gt; and spend some months writing a bit of Clojure and ClojureScript. All this while I had been hearing about Rust and silently ignoring it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A year of working from home</title>
      <link>https://debamitro.github.io/blog/a_year_of_working_from_home/</link>
      <pubDate>Thu, 17 Jun 2021 14:25:06 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/a_year_of_working_from_home/</guid>
      <description>&lt;p&gt;I just realized that I have been working from home for fifteen months now. Yes, this is due to the Covid-19 pandemic and most people around the world are doing the same thing.  But I never thought I would do this. Or, get to do this.&lt;/p&gt;&#xA;&lt;h2 id=&#34;did-i-ever-love-going-to-office&#34;&gt;Did I ever love going to office?&lt;/h2&gt;&#xA;&lt;p&gt;When I first started working I used to think that office time was highly overrated. I wanted flexibility to work from anywhere and envied the people who got that. I never did. Yes, over the years my employers became less interested in the hours I spent in office. But I never saw someone&amp;rsquo;s career go well if they stopped showing up. So I forced myself to show up. I usually did that at my own sweet time. Luckily most of my employers have had fluid working hours.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on Debugging, over the years</title>
      <link>https://debamitro.github.io/blog/thoughts-on-debugging/</link>
      <pubDate>Wed, 03 Mar 2021 15:49:00 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/thoughts-on-debugging/</guid>
      <description>&lt;p&gt;I used to &lt;em&gt;love&lt;/em&gt; debugging. The tougher the problem, the better I felt after finding out the answer. In my day job I happen to work in a product that has been continuously developed over the last 25 years or so. Anything that has seen so much change is bound to have complex internals, and this one is no exception. There was a time when I would spend days and nights chasing a very hard problem. I would invent all kinds of tricks to find out what I needed. Just like solving a good mystery there is no formula for debugging. Every case is unique in its own way. I felt I was lucky to keep getting such cases regularly for years. Whenever I found out the reason behind and the solution to a bug I would have an &amp;lsquo;Eureka!!!&amp;rsquo; moment that would motivate me to keep debugging the next unsolved problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Joel Test for 2021</title>
      <link>https://debamitro.github.io/blog/joel-test-for-2021/</link>
      <pubDate>Mon, 15 Feb 2021 11:27:55 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/joel-test-for-2021/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/&#34;&gt;Joel Test&lt;/a&gt; is quite famous and has inspired many programmers and organizations over the last two decades. I was highly impressed by it when I read it more than a decade ago. Nowadays I tend to think that it needs to be revised. I am not alone. If you search for &amp;lsquo;joel test&amp;rsquo; on your search engine you&amp;rsquo;ll probably see a handful of posts which try to describe a modified version of the test as appropriate for a more recent year (the original test was published in 2000).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Developer Productivity - I</title>
      <link>https://debamitro.github.io/blog/developer-productivity/</link>
      <pubDate>Wed, 10 Feb 2021 16:37:27 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/developer-productivity/</guid>
      <description>&lt;p&gt;I used to be very passionate about developer productivity for years. I guess I still am. But my outlook and methods have changed a lot. I want to write all this down before I forget it. Yes, my memory is short.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ten-years-ago&#34;&gt;Ten years ago&lt;/h2&gt;&#xA;&lt;p&gt;I had just joined a medium-sized company from a tiny startup and I immediately began noticing how much my productivity had come down. And I found fault with the tools and the version control system being used. Most of the blogs and stackoverflow posts I read confirmed my suspicions - ClearCase was the root of all suffering!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rc Mini 6 2020 Day4 and 5</title>
      <link>https://debamitro.github.io/blog/rc-mini6-day4-and-5/</link>
      <pubDate>Fri, 14 Aug 2020 12:50:29 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini6-day4-and-5/</guid>
      <description>&lt;p&gt;Today is the last day of my batch - that&amp;rsquo;s how fast a Mini batch flies by. Let me recap what happened in the last two days&lt;/p&gt;&#xA;&lt;h2 id=&#34;interaction-with-recursers&#34;&gt;Interaction with Recursers&lt;/h2&gt;&#xA;&lt;p&gt;I had another great coffee chat where we talked about things like the &lt;a href=&#34;https://www.kaggle.com/c/birdsong-recognition&#34;&gt;birdsong recognition contest at Kaggle&lt;/a&gt; and how remote participation in RC can be more fun. I also got good questions about security in my &lt;a href=&#34;https://github.com/debamitro/homesocial&#34;&gt;homesocial&lt;/a&gt; project, which I hadn&amp;rsquo;t thought of before.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rc Mini 6 2020 Day2 and 3</title>
      <link>https://debamitro.github.io/blog/rc-mini6-day2-and-3/</link>
      <pubDate>Wed, 12 Aug 2020 17:45:34 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini6-day2-and-3/</guid>
      <description>&lt;p&gt;So now I am at the end of day 3 of this batch - which means more than half is over! A lot has happened that I want to write about, although I have made very little progress on the side projects I planned to work on. Like the previous post, I am organizing this one by theme.&lt;/p&gt;&#xA;&lt;h2 id=&#34;interaction-with-recursers&#34;&gt;Interaction with Recursers&lt;/h2&gt;&#xA;&lt;p&gt;This is going really well - again, by my own standards. Yesterday I had a nice long chat with a fellow Recurser on build systems, C++ and PHP in the modern era. I also attended a group music listening session late in the night, and it was very therapeutic for me. As I realize time and again - music has a profound effect on my life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rc Mini 6 2020 Day 1</title>
      <link>https://debamitro.github.io/blog/rc-mini6-day1/</link>
      <pubDate>Tue, 11 Aug 2020 12:38:27 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini6-day1/</guid>
      <description>&lt;p&gt;Yesterday was the first day of my second mini batch at the &lt;a href=&#34;https://www.recurse.com&#34;&gt;Recurse Center&lt;/a&gt;. This time I am attending a remote batch, which in itself is a new experience. I had the time to think and &lt;a href=&#34;https://debamitro.github.io/blog/planning-for-rc-mini6-2020/&#34;&gt;plan my time for this batch&lt;/a&gt;, since I didn&amp;rsquo;t have arrange transport or accommodation. I don&amp;rsquo;t know how much of the plan I am following, but I guess I am not too much off track.&lt;/p&gt;&#xA;&lt;h2 id=&#34;interaction-with-recursers&#34;&gt;Interaction with Recursers&lt;/h2&gt;&#xA;&lt;p&gt;I think I am doing good on this front, at least by my standards. I chatted for a while with my onboarding buddy, and she gave me a nice suggestion about podcasting instead of blogging. Perhaps I&amp;rsquo;ll do that some day!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Planning for Rc Mini6 2020</title>
      <link>https://debamitro.github.io/blog/planning-for-rc-mini6-2020/</link>
      <pubDate>Wed, 29 Jul 2020 10:15:00 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/planning-for-rc-mini6-2020/</guid>
      <description>&lt;p&gt;I am going to do my second ever batch at the &lt;a href=&#34;https://www.recurse.com&#34;&gt;Recurse Center&lt;/a&gt; - yay 😁 !&#xA;I will attend the Mini 6 2020 batch from August 10 to 14.&#xA;I didn&amp;rsquo;t think this would ever happen, I am able to do this only because right now it is possible to attend remotely.&lt;/p&gt;&#xA;&lt;p&gt;My first ever batch was Mini 5 2018, and I started this blog at that time (I had a few blogspot.com blogs prior to that).&#xA;It was mind-blowing, and also very short. This time I am going to get more time - because I don&amp;rsquo;t need to leave my home, arrive at New York City, get myself accustomed to a new accommodation etc. So I want to plan it out.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Making the Same Mistake for a Decade</title>
      <link>https://debamitro.github.io/blog/making-the-same-mistake-for-a-decade/</link>
      <pubDate>Thu, 11 Jun 2020 12:09:03 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/making-the-same-mistake-for-a-decade/</guid>
      <description>&lt;p&gt;Today I saw I had made the same mistake twice in a month. It is a rather harmless-looking mistake in C.&lt;/p&gt;&#xA;&lt;p&gt;I first saw it in 2006, barely a year after I started working as a software engineer. Someone was having a crash only with a 64-bit build. Two people were looking into it and I somehow got involved. A function was returning a pointer to a structure and dereferencing this pointer was causing a crash. I really don&amp;rsquo;t remember who figured it out. I think we started putting print statements to see the value of the returned pointer and it looked odd. On 64-bit the addresses are pretty long, like 0xffeeddccbbaa00, and our pointer was compact, like 0x12345670. Now, it is possible that the print statement was omitting a whole bunch of zero&amp;rsquo;s in the beginning. But we saw this happen every single time before the crash.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Got Into Clojure</title>
      <link>https://debamitro.github.io/blog/how-i-got-into-clojure/</link>
      <pubDate>Thu, 14 Nov 2019 20:27:46 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/how-i-got-into-clojure/</guid>
      <description>&lt;p&gt;I had read wonderful things about Clojure many years ago in a &lt;a href=&#34;https://swaroopch.com/2013/08/24/ghoseb-clojure-course-day-1/&#34;&gt;blog post series&lt;/a&gt;. At that time it seemed very different from the type of programming I used to do at my day job. I had no idea that it could be used for creating any of the software programs I used.&lt;/p&gt;&#xA;&lt;h2 id=&#34;strangeloop-and-alda&#34;&gt;StrangeLoop and Alda&lt;/h2&gt;&#xA;&lt;p&gt;I attended &lt;a href=&#34;https://www.thestrangeloop.com&#34;&gt;StrangeLoop&lt;/a&gt; for the first time in 2017 - and my mind was blown. I somehow picked up an intention to explore functional programming languages. This had never happened to me before. I mean, I was curious about functional programming, and had listened to lectures available on youtube, including some chapters of SICP. But nothing ever felt like something I was capable of trying out.&lt;/p&gt;</description>
    </item>
    <item>
      <title>An in-home Social Network</title>
      <link>https://debamitro.github.io/blog/an-in-home-social-network/</link>
      <pubDate>Thu, 07 Nov 2019 21:48:50 -0500</pubDate>
      <guid>https://debamitro.github.io/blog/an-in-home-social-network/</guid>
      <description>&lt;p&gt;I was thinking about creating social networks for specific purposes, when one day I figured out it would be good to have a social network restricted to my home. I got this idea looking at my son and thinking what he would do on Facebook a few years from now. I have nothing against Facebook or any social network - I think they are all fabulous. I just think that an internet-based social network is like the world outside your home. You are not ready for it when you are very young.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RC for two days</title>
      <link>https://debamitro.github.io/blog/rc-for-two-days/</link>
      <pubDate>Tue, 20 Aug 2019 17:27:43 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-for-two-days/</guid>
      <description>&lt;p&gt;After a lot of thought and planning I came down to RC for two days, alongwith a fellow Recurser from Boston.&lt;/p&gt;&#xA;&lt;h2 id=&#34;recap&#34;&gt;Recap&lt;/h2&gt;&#xA;&lt;p&gt;In 2018 I did a mini batch at RC and simply loved it! I did not like staying away from my nine-month-old son for five days, though. So I decided against doing another batch for a year or two.&lt;/p&gt;&#xA;&lt;h2 id=&#34;ngw-2019&#34;&gt;NGW 2019&lt;/h2&gt;&#xA;&lt;p&gt;I attended Never Graduate Week with my wife (a senior Recurser) and son and loved the experience! I began toying with the idea of coming down to RC for two days whenever possible. I didn&amp;rsquo;t want to have any planned project because I felt I wouldn&amp;rsquo;t be doing justice to it. Also I didn&amp;rsquo;t want to lose out on the conversations and the random good things that happen in RC which don&amp;rsquo;t happen in your daily life. I was lucky to get a companion in this plan of mine (who also happens to be the father of a very young baby).&lt;/p&gt;</description>
    </item>
    <item>
      <title>RC Mini 5 - Day 5</title>
      <link>https://debamitro.github.io/blog/rc-mini5-day5/</link>
      <pubDate>Fri, 17 Aug 2018 08:37:20 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini5-day5/</guid>
      <description>&lt;p&gt;(&lt;em&gt;My notes from the final day of RC Mini 5 batch&lt;/em&gt;)&lt;/p&gt;&#xA;&lt;h3 id=&#34;839-am&#34;&gt;8:39 am&lt;/h3&gt;&#xA;&lt;p&gt;Today is the last day of my batch. I plan to spend the day exploring some codebases. I don&amp;rsquo;t want to spend a lot of time writing code today. I might write some fun code, though.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1108-am&#34;&gt;11:08 am&lt;/h3&gt;&#xA;&lt;p&gt;I tried to read the &lt;a href=&#34;https://github.com/alda-lang&#34;&gt;alda codebase&lt;/a&gt; to find out where they specify frequencies of notes. Alda was my first exposure to Clojure, and I had wanted to experiment with the frequencies of the notes to see if I could play accurate Indian classical music. I didn&amp;rsquo;t find what I was looking for. Maybe I need to learn a bit more about reading Clojure codebases before I can do such things.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RC Mini 5 - Day 4</title>
      <link>https://debamitro.github.io/blog/rc-mini5-day4/</link>
      <pubDate>Thu, 16 Aug 2018 09:37:15 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini5-day4/</guid>
      <description>&lt;p&gt;(&lt;em&gt;My notes from the fourth day of RC Mini 5 batch&lt;/em&gt;)&lt;/p&gt;&#xA;&lt;h3 id=&#34;947-am&#34;&gt;9:47 am&lt;/h3&gt;&#xA;&lt;p&gt;I started a bit late today, and got delayed by having to skip one subway train because it was soooo crowded. I am beginning to feel that although I have completed most of my work in Clojure, I haven&amp;rsquo;t done &lt;em&gt;functional programming&lt;/em&gt; yet. I have not used any global state, and accomplished everything by calling a series of functions from other functions. I have used recursion a lot, even though Stu Halloway warns people against using it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RC Mini 5 - Day 3</title>
      <link>https://debamitro.github.io/blog/rc-mini5-day3/</link>
      <pubDate>Wed, 15 Aug 2018 08:15:43 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini5-day3/</guid>
      <description>&lt;p&gt;(&lt;em&gt;My notes from the third day of RC Mini 5 batch&lt;/em&gt;)&lt;/p&gt;&#xA;&lt;h3 id=&#34;819-am&#34;&gt;8:19 am&lt;/h3&gt;&#xA;&lt;p&gt;I have been reading The Joy of Clojure everyday. I need to find ways to improve my Clojure code. So far I have succeeded in avoiding loops by using recursion. I haven&amp;rsquo;t been able to operate on lists as a whole yet, and neither have I been able to use things like the continuation-passing-style. I can&amp;rsquo;t use something &amp;lsquo;foo&amp;rsquo; unless the code stares at me in the face and says &amp;ldquo;this is the place to try out foo&amp;rdquo;. I think I need to re-read the portions of the book I read last night, and also re-read my code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RC Mini 5 - Day 2</title>
      <link>https://debamitro.github.io/blog/rc-mini5-day2/</link>
      <pubDate>Tue, 14 Aug 2018 07:56:15 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini5-day2/</guid>
      <description>&lt;p&gt;(&lt;em&gt;My notes from the second day of RC Mini 5 batch&lt;/em&gt;)&lt;/p&gt;&#xA;&lt;h3 id=&#34;758-am&#34;&gt;7:58 am&lt;/h3&gt;&#xA;&lt;p&gt;I have been up since 6:30am. Can&amp;rsquo;t wait to get started with today at RC. I have been thinking about how to process a variable number of characters from a string in Clojure. I keep getting stuck because I still have the C++ while loop code in my head!&lt;/p&gt;&#xA;&lt;h3 id=&#34;1010-am&#34;&gt;10:10 am&lt;/h3&gt;&#xA;&lt;p&gt;I was the first person in RC today. After nearly two hours of effort I have been getting some clarity at last! I never looked at my C++ program in this way. I thought I would be able to run a simple example but then I got an error at runtime in the generated Javascript code. Need to figure that out soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RC Mini 5 - Day 1</title>
      <link>https://debamitro.github.io/blog/rc-mini5-day1/</link>
      <pubDate>Mon, 13 Aug 2018 09:13:23 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini5-day1/</guid>
      <description>&lt;h3 id=&#34;915-am&#34;&gt;9:15 am&lt;/h3&gt;&#xA;&lt;p&gt;I woke up at my usual time of somewhere-between-6:30-and-7:00. Thanks to my son I don&amp;rsquo;t need alarms! I headed out after an hour in search of Dr Strange&amp;rsquo;s Sanctum Sanctorum. I went to 177A Bleecker St - there was no house with that address. I was helped by an ☂ in my search. I took a photo of the shop at 177. Now I am about to head to RC after a small breakfast. Feeling very excited for the first day.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RC Mini 5 - Day 0</title>
      <link>https://debamitro.github.io/blog/rc-mini5-day0/</link>
      <pubDate>Sun, 12 Aug 2018 13:11:41 -0400</pubDate>
      <guid>https://debamitro.github.io/blog/rc-mini5-day0/</guid>
      <description>&lt;h3 id=&#34;1057-am&#34;&gt;10:57 am&lt;/h3&gt;&#xA;&lt;p&gt;I am going to the Recurse Center. Can&amp;rsquo;t believe it yet. Right now I am sitting in the bus and heading towards Boston&amp;rsquo;s South Station.&#xA;Two years ago my wife did a full batch at RC and that changed her life. It changed my life as well - I became convinced that RC was a &amp;ldquo;must-do&amp;rdquo;.&#xA;It would not have been possible for me to do a full batch unless I quit my job, so my only hope was a half batch which lasts six weeks. That was also difficult unless I managed to get six weeks of leave. Then something lucky happened - RC started a mini batch which would last only a week. And from that time I knew RC was going to happen sooner than later in my life. I applied for the first mini batch and didn&amp;rsquo;t get accepted. It was a rather good thing in hindsight. I became a father last year and the first mini batch happened when my son was a month and a half old. I would not have done that batch any way. Now my son is about to turn nine months old. It is still very difficult for me to stay apart from him - but it is not an impractical thing to do any more. Yes, my wife will have a tough time doing everything for six days. But she repeatedly assured me she can do it, and I believe her. Without a steady push from my wife I might not have applied for this batch either. I am so glad that I did apply, and got selected, and am finally going!&lt;/p&gt;</description>
    </item>
    <item>
      <title>🙋🏻‍♂️ About</title>
      <link>https://debamitro.github.io/about/</link>
      <pubDate>Tue, 13 Mar 2018 14:39:40 +0000</pubDate>
      <guid>https://debamitro.github.io/about/</guid>
      <description>&lt;p&gt;I am an entrepreneur, amateur musician, ex-programmer, as well as a husband and a father.&#xA;I am interested in applying computer science to solve problems in real life.&lt;/p&gt;&#xA;&lt;p&gt;In December 2024 I quit my job in order to start my entrepreneurial journey.&lt;/p&gt;&#xA;&lt;p&gt;&lt;transliterate language=&#34;bangla&#34;&gt;aami ekajan bAngAlI progrAmAr&#xA;&lt;/transliterate&gt;&lt;/p&gt;&#xA;&lt;p&gt;The HTML code for the above line is&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;transliterate language=&amp;#34;bangla&amp;#34;&amp;gt;aami ekajan bAngAlI progrAmAr&#xA;&amp;lt;/transliterate&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Some day I&amp;rsquo;ll write about the link between this tag and &lt;a href=&#34;http://debamitro.github.io/generate-bangla-utf8-cljs-demo/&#34;&gt;my English-to-Bangla transliterator&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>💻⚙️ Projects</title>
      <link>https://debamitro.github.io/projects/</link>
      <pubDate>Sun, 11 Mar 2018 14:20:57 +0000</pubDate>
      <guid>https://debamitro.github.io/projects/</guid>
      <description>&lt;p&gt;Note: A number of my projects are open source, so sponsorship helps me continue with them.&lt;/p&gt;&#xA;&lt;iframe src=&#34;https://github.com/sponsors/debamitro/button&#34; title=&#34;Sponsor debamitro&#34; height=&#34;32&#34; width=&#34;114&#34; style=&#34;border: 0; border-radius: 6px;&#34;&gt;&lt;/iframe&gt;&#xA;&lt;h2 id=&#34;current&#34;&gt;Current&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/one-shot-cli-agent&#34;&gt;CodeAgent&lt;/a&gt; - a CLI coding agent&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/lean-md&#34;&gt;Lean MD&lt;/a&gt; - a minimal markdown viewer and editor&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/playlist?list=PLDpMCGUlzrvy9EnxDleiiZJKNK0LUxxF5&#34;&gt;Here&lt;/a&gt; are some YouTube live streams on building this&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;past&#34;&gt;Past&lt;/h2&gt;&#xA;&lt;h3 id=&#34;not-so-tiny-things&#34;&gt;Not-so-tiny things&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/asimov&#34;&gt;Asimov&lt;/a&gt; - a &amp;lsquo;Cursor for writers&amp;rsquo; product&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.eastcoastsoft.com/products/findbigfolders?utm_source=debamitro.github.io&#34;&gt;FindBigFolders&lt;/a&gt; - a tool for finding out who&amp;rsquo;s taking up disk space on your computer&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.patchexplorer.com?utm_source=debamitro.github.io&#34;&gt;Patch Explorer&lt;/a&gt; - a tool for comparing multiple diffs for the same change&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.eastcoastsoft.com/products/gmail-cleaner?utm_source=debamitro.github.io&#34;&gt;Gmail Cleaner&lt;/a&gt; - a tool to clean up your Gmail inbox&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://apps.apple.com/us/app/durga-puja-map-of-usa/id6752311800&#34;&gt;Durga Puja Map of USA&lt;/a&gt; - an iOS app for the US edition of a major Indian cultural festival&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.codepromptfu.com?utm_source=debamitro.github.io&#34;&gt;www.codepromptfu.com&lt;/a&gt; - a community-driven website for finding the best AI prompts for coding.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://debamitro.github.io/presentations/codepromptfu-020225&#34;&gt;Here is a presentation about it&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.codepromptfu.com?utm_source=debamitro.github.io&#34;&gt;Here is a blog you can follow for more information&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://lookingforin.life?utm_source=debamitro.github.io&#34;&gt;What are you looking for in life&lt;/a&gt; - an &amp;lsquo;useless&amp;rsquo; website for wasting time&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.producthunt.com/products/what-are-you-looking-for-in-life&#34;&gt;Here is the ProductHunt page for it&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/homesocial&#34;&gt;Homesocial - an in-home social network&lt;/a&gt; - I never finished this&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/make-analyze&#34;&gt;Make-analyze - a GNU Make fork with some additional analysis features&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/generate-bangla-utf8&#34;&gt;Bangla transliterator from Roman letters to Unicode&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://debamitro.github.io/generate-bangla-utf8-cljs-demo/&#34;&gt;ClojureScript version of the above&lt;/a&gt; - you can use this for typing in Bangla&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;tiny-things&#34;&gt;Tiny things&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://debamitro.github.io/tictactoe-reagent-demo/&#34;&gt;TicTacToe using reagent&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/generate-midi&#34;&gt;Generating MIDI files using C++11&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/stupidbrowser&#34;&gt;An OSX web browser which doesn&amp;rsquo;t do anything&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://youtu.be/IIplKYQ47NI?si=q31eTC3fKA7uYA8v&#34;&gt;I did this for the Boston Stupid S*** Hackathon 2020&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/debamitro/minimalist-tree-js&#34;&gt;A very minimal JavaScript library for printing a collapsible tree&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
