TOC
The Context
- you can find my jan- april update here
April 2026
April was not great but not bad either. It was a quiet month for me. The theme of the month for me is confusion. I am just confused, have no idea what to do next, a lot of fear, a lot of self-doubts.
Like I said in my last month’s update, I kept continuing my Kafka and data-driven architecture dump. Whenever I get an idea of a data design pattern or some Kafka-related configuration that I would have arrived at intuitively using first principles before, I am just googling that idea, looking at reference books to know the exact name and implementations and I check what can be improved in my implementation when compared to the pre-existing implementations. I got this new perspective after reading the log. This is a long read (takes roughly 2-3 hrs) to get through, but once the idea that any data can be represented as a log/stream sinks in, it opens up a lot of ways to deal with the data. There are a few primitives that after I understood them like log (don’t confuse with the error-logging log), difference between commands and queries, events, why events should drive an architecture I was able to intuitively arrive at the existing solutions that have been in place over the last decade. Not perfect but somewhere closer to what exists. I implemented transactional outbox, dead letter queue, Command Query Responsibility Segregation (CQRS), event sourcing. Learned about event sourcing and replaying events which I had read about in my Theory of Compilers coursework during engineering. This replaying of events is a very common feature while building state machines and when we incorporate event sourcing coupled with CQRS, the event queue becomes the source of truth rather than the database, so the whole architectural perspective now shifts towards queue replication and queue consistency, just like how we think about the DB staying up. This is still a work in progress and whenever I get some ideas I go and try implementing them.
I was also trying to do a few dumb LLM-related experiments in my free time. There are a lot of use cases where you need to get the same deterministic web search output in your agent. Web searches are tricky because data keeps changing every minute. What if on every web search for the same queries you want the same search result or a configurable search result (configurations can be anything, you configure and expect the web search to behave that way)? I am just having fun and trying to figure out simple ways and see if it is possible to achieve this.
I had a lot of free time but I am slowly getting myself into a slightly darker space. I have a huge hurdle to cross in the next 2 months (54 days to be precise) and it gives me a lot of anxiety throughout the day as well as night terrors while sleeping. I am coping really badly by indulging in unhealthy food habits and doing whatever I can to just get through the days. So on a good day I code roughly 2 hrs, that too stretched throughout the day. Constantly distracted and intense panic attacks. But as usual I will get through it!
As part of coping I took a month’s break from reading fiction and I have again started reading every day before going to sleep. Reading fiction helps me to not think of anything else which is what I need the most at this moment.
I notice that the number of blogs I read every day has drastically reduced. The main reason is my reduced tolerance to AI crap. There is a lot of content out there which dives into different parts of computer science but it takes a lot of effort to get through partly because it’s less yapping and more meat, unlike AI stuff which is more story-like with less content and more selling something stupid which needs very little cognitive load to get through. I need to read more blogs, articles, books on varied topics because I am starting to firmly believe that ideas arise from random places and it is very important to read and conceive varied ideas which will open up my mind to start thinking in directions that I didn’t know existed.
Thanks to this monthly update I at least have track of how awful the month was or how good the month was, but I see a need to have a rough idea of what I will read or work on every day apart from my day job. Not rigid but just a rough idea so that I am a bit more organized. Going to spend 5 minutes before going to sleep to plan out what I am going to learn/code for myself the next day which will act as a blueprint for me to follow and I will fit other things around that blueprint.
Interesting reads:
- survival is the only success this article from dollars and data is a must-read. If you think about any aspect of your life, the most important thing to optimize for is survival. People (including me) don’t have survival as part of their risk evaluation metric but just optimizing for survival sounds more practical to me.
- optimizing linkedin This article made me understand one key thing. I am not the guy who will spend time and effort in optimizing LinkedIn rather I could spend that time learning CS. It’s not my cup of tea. I don’t judge others who are deep into LinkedIn optimizations but I don’t wanna do any of it. I 100% agree that the network is key but I feel the content and the connections there feel super artificial and transactional rather I would be myself, occupy a very small corner of the internet and have fun.
Books I read this month:
- the white tiger
- designing event driven systems currently at chapter 7
May 2026
My April slump continued in May as well. In fact it got slightly worse mentally. Had constant panic attacks,waking up middle of night drenched in sweat,heavy anxiety. This month I shifted my focus completely towards my day job. Did a lot of cool work this month and starting to slowly find my rhythm on how to pace my day. I accumulated a couple of injuries because of cricket: an ankle tendinitis and pain in my left knee. So I was not able to play cricket which is my only mental outlet, this made my mental health even worse. Started to rehab, hopefully all good in a few weeks. Going to take mobility work more seriously henceforth. This month I wrote 3 blogs: one on why I feel unit testing is not very useful link, one on an extremely basic protocol on strength training link and another rant article on my new schedule and how I am pacing my day this month link. I explored GEPA and DSPy this month. DSPy + GEPA is a lethal combination but I am very unsure how much of existing code is in DSPy structure. I started to work on a cool side project this month very similar to this which got released today. I was figuring out a way to make it work for everyone but multimedia support for Linux and making it work for X11/Wayland systems especially getting help from PipeWire to get what I wanted was a very tedious and annoying task. Now I understand why folks build multimedia software only for Mac and Windows. I am stuck in a place where if I need to proceed I need to go fix their source code to make it work, so it’s on hold for now. I had no energy to do anything after work this month and expect it to be the same for most of June as well. I have a lot of ideas written down to explore will do it step by step. As of now my next focus would be on distributed observability.
Interesting reads:
- BM25 even if you build AI semantic search pipelines, BM25 is still a must-understand algorithm one which is now a gold standard for search. This blog covers not just how BM25 works but also the maths behind it.
- reciprocal rank fusion by open search if searches interest you like they do me, you should definitely check out reciprocal rank fusion which is widely used in hybrid search these days. An extension of this is to check out how cross encoders work and see how you can add them as part of your hybrid search if actually needed.
- Specificity is one of the highest forms of respect This is the only viable way I see to get hired.
- creatives must embrace grunt work counter-intuitive to what LLMs are trying to solve, but this is the actual reality.
- signed by default camp I was contributing to a cute little programming language this month and while researching concrete int type ideas I found this blog which talks about why signed int should be default. Interesting read if you like language design principles.
Books I read this month:
- sugarbread Halfway through. The pattern I notice is that books which are not shallow and are closer to reality, I take time finishing mainly because I start placing myself in that scene and start daydreaming.
