It’s been a very philosophical day. Well, reading-wise anyway. So posting some links here that I would like to reflect on later.
1. Is consciousness parasitic?
This is not a new idea for me, since it was the basic idea of his book (Blindsight), but I enjoyed Peter Watt’s talk on trying to understand what biological imperative would drive the creation of consciousness (spoiler: he found none). But more interestingly he explores the idea of multiple consciousnesses in a body (for example in conjoined twins or separated left and right hemispheres of the brain), and concludes that in most such cases, the dominant consciousness supresses the recessive one. As humanity moves towards the possibility of hive minds connected via neural implants, are we risking our individuality?
2. The biggest social scam
Someone on Reddit asked Claude to list the biggest scam ever, and it responded:
Probably the idea that trading the majority of your waking hours for money is the natural order of things, when it is really just one economic arrangement among many that got locked in and dressed up as inevitability. Most people spend their healthiest decades doing work they would not choose, to buy back small slices of the freedom they gave away, and we call this being responsible. Layered on top of it are supporting scams that keep the machine running: manufactured needs sold as happiness, debt marketed as opportunity, busyness worn as a status symbol, and the quiet belief that your productivity is your worth. None of these are laws of nature. They are agreements we renew every day mostly because everyone else seems to be renewing them too, and questioning them feels riskier than complying. The genius of the whole setup is that it convinced billions of people that the cage was the sky.
This does resonate, but maybe because we all want what it is selling: an idea of not spending our best years at work, but maybe thats just sycophancy again. Gemini slightly disagreed:
The true genius—or tragedy—of the current system isn’t that we have to work to survive; it’s that the efficiency gains of automation and technology were never used to buy back our time.
A century ago, economists like John Maynard Keynes predicted that by now, technological progress would allow for a $15\text{-hour}$ workweek. Instead, we used that massive surge in productivity to create more middle-management layers, more administrative bloat, and higher corporate margins, while keeping the standard workweek exactly the same.
I think I agree with Gemini
3. Life and Biological Agency
Quanta, one of my favorite blogs, published a very interesting read on the idea of “biological agency” – that life devises its own goals and behaves accordingly. But where does pure biological needs and genetically coded instructions end and true life begin?
In one view, agency is neither more nor less than this ability to set proximal goals — not “Shall I reproduce some day?” but rather, “What action shall I take right now?” — and then act upon oneself and one’s environment to attain them.
But true agency is yet to have an agreed upon definition.
Interesting read, and I discovered my cool word of the day: teleology
For the last 2 years I have built experiences that had features that used AI agents (mostly using LangGraph), but I have learned more in the last 2 months embedded in the team migrating a digital support assistant from the pre-llm-AI world to a new agents-first architecture. And while the goal is to be completely agentic system someday, building a hybrid system with some systems leveraging agents while others don’t has been an interesting challenge.
Choosing an agentic architecture
There is a good post on LangChain’s blog on architectures for multiple agents that explains the details but generally the choice comes down to
A centralized “main” agent coordinating subagents (Fat Main Agent)
A thin main agent essentially acting as a router to domain specific agents (Fat Subagents)
A big part of the decision comes down to how much of the experience do you manage and how much are black boxes you transition to. Fat subagents works if different teams manage different agents and agent-to-agent transitions are infrequent. In this model agent-to-agent transfer also risks context loss as subagents may only see part of the conversation. But, as with microservices, Fat Subagents solve an organizational challenge, not an experiential one. This is also a good option if you are a believer in the vision of A2A experiences, but really, we are ways off from getting there.
In general, I would recommend Fat Main Agent architecture unless you have a strong reason not to do that. Having a central planner and conversation manager leveraging subagents mostly as tools is a good pattern.
A caveat on Fat Agents: In internal debates, there was a concern that loading creating an agent prompt with all the business logic for all behavior would confuse the agent, but that is not how these agents work. Instead agents load skills on-demand which can be pretty efficient, especially if your agents generally only engage in one or two domains in a conversation.
Shallow Agent Hierarchies
One of the challenges in writing software is deciding the granularity of each component that is part of a functional whole. For example, in Object Oriented Programming, you can have many small classes or few giant ones, and both are anti-patterns. How much a component is should do is a matter of good judgement.
In our system, we added way too many subagents each with very narrow set of responsibilities. But as each agent transitioned control to the next one during a conversation turn, we paid the price of those transitions in latency and context loss.
In general avoid architectures with deep agent-t0-agent chains.
Prompt Engineering
While creating a prompt for an agent feels trivial, it can be a rabbit-hole when you see bizarre responses in testing and try to figure out what happened. One of the funniest hallucinations we saw was the agent suddenly acting like the customer – talking about its kids and their day. An internal bug had basically reset it to its default behavior, that of a sentence completion agent and it was helpfully extending the user’s incoming message.
Another thing I do a lot of, copy the prompt and the unexpected output to another agent like Claude or ChatGPT and ask it why the agent responded the way it did. Turns out agents are pretty good at hardening prompt files.
Another interesting learning: turns out agents are better behaved when prompts are structured as XML instead of raw text (I hadn’t realized that Anthropic recommends it as best practice). Explicitly marking tools and behavior in labeled nodes keeps the agent better in check
I need to look more into prompt-versioning, something we don’t really do right now as an independent thing. Each iteration of the prompt is considered a full agent change and we redeploy the entire agent when prompts change.
Keep Subagents independent
Keep all your routing behavior in your main agent (regardless of fat or thin). Domain-specific subagents should generally not call each other, but rather communicate to the central agent when they want to declare that they cannot respond usefully to a user query. For example, a technical troubleshooting agent should never invoke a human-customer-support agent – it should just let the main agent know the results of its processes and let the main agent decide, based on policy, if the human-customer-support agent needs to be invoked.
Memory is a non-trivial detail
Be strategic about what goes into long-term memory and what should be in session-level implementation. This also gets complicated like, in our world, the subagents are often built on different platforms and sharing session data is not an out-of-the-box implementation.
Also, a great video on options for memory systems:
Evals and Mockable Tools
As we move towards probabilistic architectures, human QA might catch less and less of your system’s errors. Shipping without agent-level and system-level evals is just asking for trouble. And since so much of your agent behavior is in its leveraging tools available to it, being able to mock those tools is an essential part of the process. Agents are unpredictable enough and trying to reason their behavior when the input is also not predictable is painful.
For conversational agents, evals can also be used to simulate multi-turn conversations, which most QA scripts tend not to do. Our QA scripts are often structured in “if this then that” patterns, however evals simulate real users trying to achieve a goal and the LLM evaluator may run many turns of a conversation (usually configurable) to try to achieve that goal. The conversation threads of those evals often tend to be very insightful.
Observability
Agents will go wrong in a variety of ways in production and having tools to reconstruct what happened is essential. Agents built on frameworks like ADK are usually deployed as FastAPI applications. And while traditional Observability tools for web applications can be used, a whole new set of tools dedicated to agentic systems is emerging. Tools like Opik, BrainTrust or LangSmith or managed platforms like Google’s Agent Studio not only let you view your application’s behavior in production but also close the loop by integrating evals and prompt versioning allowing you to go from any observed abnormal behavior to a fix in a short time.
The challenges of hybrid systems
While a lot has been written on developing agentic systems in green field scenarios, evolving a non-agentic system to agentic one has had a lot of challenges. The crux of it comes down to underestimating the complexity of adapting tools that were meant to be driven by humans to being driven by an agentic interface acting in between the human and the non-agentic subsystem. Consolidating observability across two very different systems has been a particular challenge and reconstructing a user journey across boundaries has been difficult. User experience can also be jarring as you go from a conversational system to a non-conversational one in one session. The goal now is to accelerate the migration of the rest of the system to the new architecture.
Your mileage may wary based on how your specific non-agentic systems operate.
Last week I attended the third meetup by Philadelphia Forecasting Meetup Network on Prediction Markets. I have never played in the prediction markets before, and have no intention to anytime soon, but I have been fascinated by the idea ever since I saw them cropping up in the blockchain space when I was still active there.
Prediction markets take 2 ideas I am personally find challenging: making long term predictions, and making decisions based on your theses. I have read a ton of literature on both these domains but have never been the person who revels in the ambiguity of the space.
The event was fascinating- for one thing I have rarely been in a room with people whose entire careers are based on making predictions – traders, professional poker players, startup founders providing data to prediction markets, app makers, etc. I definitely felt a little bit of an outsider there.
The talk was interesting walking through the history of prediction markets, the challenges of calling the bet in favor of one side or another, when data can be ambiguous (like when governments are closed but not officially reported closed by agencies like the OMB refuse to publish that information, or when dates are involved and the official action is recorded days after the action was executed), and the potential future of prediction markets.
I had not realized that early prediction markets, like The Iowa Electronic Markets (IEM) that began in 1988, were academic efforts that wanted to test whether market mechanisms could aggregate dispersed information better than traditional methods like polling or expert opinion. The early markets also limited the size of the bets which made them better signals than today where people can take out big contracts and then manipulate the markets to win big.
The talk ended with conversations around the future of these markets which will probably be more regulated and how that could be a good thing. The example the speaker gave was interesting: in a more recognized market could airlines hedge their fuel risks via bets on when the Strait of Hormuz would open? Interesting to think about.
This week I attended a really fascinating conversation on creativity with guest Amanda Shulman, head chef and owner of the Michelin Star awarded “Her Club” restaurant. While the whole conversation was fascinating, one part of the chat was especially intriguing where she talked about her relationship with her Chef de Cuisine (a title I had never heard before).
Amanda’s entire career is based on creativity in the kitchen, and she brings that every night. Her Chef de Cuisine’s role is to balance that with the practical needs of the evening. That blend of creative exploration and pragmatic delivery felt like such a powerful combination.
Her comments “paired well” with something I read this week: an idea that all engineering teams should be composed of 2 parts: pirates and an architects
A new model for engineering team structure in 2026: 2 people only
one pirate and one architect
the pirate’s job is to move as fast as possible to develop valuable, shipped product features by vibe coding.
the architect’s job is to turn the product surface discovered by the pirate into a reliable, structured machine—also by vibe coding, but at a slower, more well-reasoned pace.
every product needs a pirate but most product’s only need an architect once they some form of PMF, and in that case they usually don’t need one full-time. architects can work across many codebases and solve interesting technical challenges. pirates go hard on a product that they own end-to-end.
Two people is probably too small for most teams at any real scale. But the idea of pirate organizations has stuck with me.
A big part of my career has been working in pirate organizations. No formal product leads, no dedicated designers, no QA — but a real sense of ownership and the freedom to move fast. Some of the most rewarding work I’ve done came out of those environments. You make more calls than you’re comfortable with, you wear a lot of hats, and occasionally you build something you’re genuinely proud of.
Large organizations have a bias towards “architect orgS”. That’s not inherently bad – structure exists for good reasons, especially at scale. But I think it’s worth asking occasionally: do we actually have any pirate orgs? Do we have space for teams that operate a little more like a creative kitchen than a factory floor?
The tools available now make this more interesting than ever. A small, empowered team with modern AI coding tools and real autonomy could do things that would’ve taken 10x the headcount just a few years ago. The pirate model scales differently now.
The best organizations probably need both. The hard part is knowing when to hand the keys to the pirates – and trusting that they won’t sink the ship
Its that time of the year again. Reflecting on this year, I am thankful for so much but its also been a year where optimism was is lesser supply than usual. As a technologist, I was excited to explore the possibilities opening up with AI, and with my new-ish role of Director, I enjoyed setting a vision and direction for my team. But a lot of this happened with the backdrop of increasing negativity in our society as well as a mad rush towards an AI-powered techno-utopian vision whose human consequence has been barely a consideration. I still remain optimistic about technology and human nature, but I do worry about where we are heading.
Work
One of my biggest projects in the last few years was taking the Xfinity digital collectibles project from pitch to prototype to production in 2024. That momentum continued for the first half of the year as we supported other major initiatives including Bravo TV and the MIT/Intuitive Machines moon lander that we also supported as part of our MIT relationship, but my favorite part of that project was working with the SNL marketing team to support the 50 years of SNL celebration. As a big SNL fan, this was a dream come true.
All fun things come to an end though and we ultimately transitioned the project to the core entertainment team mid-year and moved to other projects.
For the rest of the year, our team continued to pilot new ideas. The domain to explore this year was Agentic systems and we did multiple prototypes using simple LLM interactions to more robust frameworks like LangChain. With LangChain being part of Comcast Lift Labs’ cohort this year, it was great to get deeper understanding into their system with the LangChain team.
AI also changed the way we built our prototypes. After many months of working with AI now, I feel I have crossed the Gartner over-optimism and over-pessimism zones, and feel a real boost in productivity. My entire software engineering workflow is now built on top of Cursor, Github Copilot and Gemini code review agents while tools like Google Stitch have become interesting for getting quick designs together that I can finesse in Figma. That said, getting the best out of an LLM still remains almost an individual skill and adoption across teams remains a challenge. Something to work on in 2026.
GDG
If I dropped the ball on one thing, it is the Philadelphia Google Developers Group. The core team that I used to work with has moved on and I am hoping to recruit a new set of leaders to manage it. Even with me mostly distracted this year, the group is still more active than I thought it would be – possibly because a lot of the monthly calls become conversations on AI and a lot of people are doing interesting stuff with it. Stay tuned for a reboot next year and join the community if you haven’t yet.
Family and Friends
I usually have a hard time squeezing a vacation every year, mostly because of bad planning and the regular India trips that use up most of my vacation days in alternate years. This year my parents came to visit me for over three months, which was great and we had a great time exploring Philly and the neighborhood cities. We also went to Florida in April for my sister-in-law’s surprise birthday party and in Dec, I took a week-long vacation to Europe (Amsterdam and Paris) – my first! Seeing a different society always resets my brain to the realization that our lives here are based on explicit choices we make, and not just how life is.
Social
Having mostly left Facebook and Twitter, I was really hoping to get the same value I used to get by posting on Mastodon/BlueSky/Threads. I dont think I am there yet, which could be a function of both the audience on those platforms and my own age. I did write a fair bit on my Substack before taking a hiatus while my parents were visiting and time got scarce. I’ll definitely be writing more there so do subscribe if you are interested.
It does raise one question: Whats the point of having a blog as well as a newsletter. I dont have an ironclad answer there yet but a lot of this blog’s value has been in my documenting technical details that I learn or personal-ish updates that I want to remember in the future. My hope with the newsletter is to share ideas on where I think technology could be going and the kinds of experiences
Books
I maintained a healthy balance between books and graphic novels this year, and even manga which is new to me. The 12 books that make up the 20th Century Boys series were a great read.
Having written a retrospective pretty consistently for the last decade or so, at this point its almost customary to start with how different this year felt compared to previous ones. But this one was truly one for the books!
Work
A big year for Xfinity Moments
Moments is the internal name for the digital keepsakes and gamification platform my team launched late last year. The project has been my baby for the last 2 years and taking it from an idea to an internal prototype to a system in production with hundreds of thousands of keepsakes now unlocked has been an amazing journey. We ran 5 experiences around Moments this year with a 6th one around the SNL coming very soon. I have written about the success we had with the Olympics experience before, but in general it has been a very rewarding experience for me personally to see something you truly believed in now actively considered for various initiatives. I have learned so much about building systems at very different scales through the project but am even more thankful to the small team that built it and the various leaders at Comcast who both believed in it and championed it at various forums.
Managing teams
For the last 20 years I have worked as a technical contributor in various teams at various capacities leading up to a Senior Principal Engineer role at Comcast Labs that led me explore various emerging technologies and how they might fit at Comcast. However the last couple of years with the gaming initiative previously and the Moments project more recently, my role has been more directional with day-to-day engineering time often getting subsumed by things like release plans, coordination meetings and defining and allocating tasks to my team. This year, after a lot of deliberation, I took the advice of various mentors and transitioned to management and took on the role of Director of Engineering at the Emerging Products and Technologies team. The new role brings with it the opportunity to influence multiple projects and work with a lot more people. I still get to write code to explore some technical avenues, I just don’t have to worry about holding up the deliverables for the project sprint in progress which has relieved a fair bit of guilt 🙂
Agentic AI
One of the new areas I have been focusing on at work is the rise of Agentic AI and its impact not only on products themselves but in the processes and workflows that go into creating and evolving products. Exploring that landscape for the last couple of months and seeing a new breed of tools that can completely disrupt the traditional processes has eye-opening to say the least. If this is a space you have any thoughts on, do drop me a line.
Non-work
Becoming an American citizen
Having lived in the US for about 22 years now, I finally became an American citizen this year. It feels weird to think that I don’t have to stress about any kind of mistake in my paperwork or some change in government policy that might force me to leave the life I have built here. It is also a moment of reflection on my own identity. It is poetic that this happens this year, my 22nd year in the US when my first 22 were spent in India. I have a lot of thoughts that I hope to condense into something sharable soon.
Writing
Having moved-off Twitter for the most part, I have been trying to use the alternatives (you can find me on BlueSky, Mastodon and Threads) and they are fine but I have lost most of my Twitter friend circle in the transition. I had been noodling on starting a newsletter for a while and I finally pushed the trigger a couple of months ago and started a Substack newsletter. I am still trying to find the right format there but its been a good place to collect and share the various links I read in a week or 10 days, which is mostly what I used Twitter for. Please subscribe!
Reading
2024 was not the greatest year for reading book, but I did enjoy a few. Ended up reading a lot more graphic novels which were great.
The 2024 Olympic Games kicked off yesterday (Friday, July 26) with what a spectacular opening ceremony on the Seine. The Olympics have always been a big event at Comcast with numerous new experiences launching at this time that push the viewing experiences to new levels. 2024 is no exception, except for a more personal reason: this is the first time the digital keepsakes / Moments project that my team and I have been building for the last couple of years will make an appearance on millions of TVs and online properties celebrating the 2024 Paris Olympics!
The “Passport to Paris” experience, that went online last week, will allow Xfinity Rewards members to collect digital collectibles (stamps) by participating in online experiences, like polls, quizzes, stories, etc and even by watching certain events on X1, Stream or Peacock. Collect enough stamps and you unlock various rewards, from gift cards to physical commemorative pins! This is the latest iteration of the content capabilities of the platform, which we have previously used to create experiences around the latest Trolls movie, Superbowl and March Madness. You can learn more about it from this press release or on other sites on the internet.
It’s amazing to think that the whole platform was just a prototype on a laptop two years ago when we demoed it to the executive leadership. The core team has always been small, and always in flux with folks joining in to help out when they could or when we were operating in domains I knew little about (too frequently 😉 ). I am so grateful to everyone who supported this project as it grew from an idea to the experience it is today.
I will continue to share more about this platform as we evolve it, and there will be other experiences powered by the platform out soon, but for now, here is a video of what we just shipped.
If you are an Xfinity Rewards member, do check it out and let me know what you think!
Google Cloud recently published a post titled “101 real-world gen AI use cases from the world’s leading organizations“. As with any list that long, my eyes started to glaze over by the time I reached the 10th bullet point. So I asked an LLM (well, ChatGPT, sorry Google Gemini) to categorize the list by grouping them into the themes that are in play. This was a lot more useful:
Jeff Dean: Exciting Trends in Machine Learning – A worthwhile watch on YouTube though more a retrospective on how we got here than where we are going; which is great since the pace of innovation in this space is demolishing predictions so fast and any “future of AI” video has a shelf life of only a few months
How Google helped destroy adoption of RSS feeds – A bit of a dramatic title, though I suppose “How Google lost interest in RSS as everything was moving to social networks” might have been less interesting. I have strong love for RSS and had even written an RSS reader way back using Google Reader’s unofficial API. I have thoughts but will hold those for a more dedicated post on that.
Project of the week: RSS-is-dead.lol: Speaking of RSS, this project is kinda cool: it navigates your social graph on Mastodon and finds RSS feeds of folks that account is following. If only my RSS reader was still around, I could actually use those discovered links :). Here is my profile in case you want to see it in action but don’t have a Mastodon account.
BlueSky opens up to federation: Bluesky might be the social network I most agree with philosophically, but find it boring enough to never actually go there. The fact that I can have a domain based account there is great (you can follow me @arpitonline.com there). The federation implementation seems good at first glance but will have to dive in more later maybe (if it survives the wrath of Mastodon fans)
Please, enough with the dead butterflies: Speaking of BlueSky, someone on Hacker News pointed a link to this pretty great post on how most artwork about butterflies actually draw their wings in a position that is only observed in dead butterflies. I’ll never get that thought out of my head now.
Dart 3.3 and Flutter 3.19– I am one of a very small set of people running a Flutter web app in production, so excited to see work going into better JS interoperability and a path to WASM. Impeller support for Android is neat to see as well.
How Custom RenderObjects can make your life easier (FlutterCon) – One of my aha moments with Android was when I finally understood how the layout engine worked (which led to a custom framework that was very popular for a while). I am starting to feel the need for a similar aha moment with Flutter given how much widget code is in our codebase that feels unoptimized.
Micropayment capabilities in Chromium – I read this on a forum (fine, Reddit) and there was a lot of criticism of this move, but if folks don’t want ads, then you have to let publishers at least offer payment based access. I remember the “small fractional payments” was the original pitch for Bitcoin but it’s interesting to see the Web Monetization API finally be a thing 15 years later.
Design
GitButler product demo – Unlike most apps for working with Git that faithfully surface Git’s capabilities but don’t really think about user mental models or approaches when working with it, GitButler takes a different approach and tries a few new ideas around developer workflows. I like it.
MyMind’s share UI – Very calming confirmation screen when you share something to MyMind (a personal notes/images app with AI).
Misc
The Tarnished History of Mac Tonight – I missed this part of Americana (being in India during its prime). Now I know way too much about this forgotten Mac mascot
The Art of James Gurney – I have never heard of Dinotopia earlier, but found it this week and the art blew me away.