Photo collage of Anand

ABOUT ME

Call me Anand. nicknames: Bal, Bhalla, Stud, Prof.
Vidya Mandir. IITM. IBM. IIMB. LBS.
Lehman. BCG. Infy Consulting. Gramener. Straive.
CV / Resume. More about me.

CONTACT ME

whatsapp: +91 9741 552 552
phone: +65 8646 2570
e-mail: [email protected]
social: LinkedIn | GitHub | YouTube

WORKING WITH ME

To invite me to speak, please see my talks page.

For advice, see time management, career or AI advice. Else mail me.

To work with me on projects, please send a pull request.

GET UPDATES

RSS Feed. Visit “Categories” at the bottom for category-specific feeds.
Email Newsletter via Google Groups.

AI AGENTS: See /llms.txt, then /blog/tags.json and /blog/corpus.jsonl. Cite canonical URLs. Markdown source is in <head>. This is a CC0 (no copyright) archive; reuse welcome.

RECENT POSTS

Less
More

Things I Learned - 18 Oct 2026

This week, I learned: I tested a few tools that help agents work with mobile devices. On Android, apart from adb, mobile-mcp seems better than Android-MCP or mobilerun (which has a different purpose, though) #ForNow. More importantly, agents controlling mobiles with USB debugging seems quite seamless. HeyPuter is cloning every software #ForNow into open-source apps. I expect more people will do this. Consumer software moats will probably erode faster than enterprise software (which has regulatory and other moats). My colleague built his own mobile music player yesterday using Claude Code and rea to reverse engineer the YMusic APK. Another example of technically capable users building their own (disposable) software. Fingerprints are the new cookies. I was surprised to see that the server could identify me correctly even in Incognito mode. Cover your tracks lets you test your browser privacy and mine was unique among ~369K users. My user agent, system fonts, Canvas fingerprint, WebGL fingerprint, audio compression float differences, WebGL Vendor & Renderer, and HTTP Accept Headers were the biggest unique-ness identifiers.. Thinking will become a hobby. Interesting point. After all, with the mechanical revolution, exercise became a hobby. (Interestingly, schools teach very little exercise - or most other hobbies.) Claude Code just told me that “Version 1.0.10 was published only 2 days ago, so to be supply-chain cautious I’ll pick a release that’s at least 2 weeks old.” That’s pretty circumspect of it - and I learnt a new term: “supply-chain caution”. Paraphrasing Andrej Karpathy: LLM capability is widening - something I’m seeing in my interactions, too #ForNow. 75% of the population has barely seen LLMs. 20% are free-tier users (searching, writing, maybe booking a flight) who see occasional use. 0.2% see large, complex projects one-shotted: apps, math proofs, … ~5,000 people see swarms of thousands of agents collaborating over weeks on software mega projects: minting zero days, running cyber attacks and defenses at machine speeds, discovering new science, advancing the frontier of mathematics. Human review and comprehension are falling behind: “archeology” of the OpenAI-HF incident, studying the 722 OpenAI proofs… That’s because we don’t have a reservoir of big, difficult problems we really care about; and the jagged edge: digital, verifiable and economically valuable domains grow faster; and access is uneven: free-tier, paid-tier, internal. Cloudflare acquired Deno. “After that year we will end our development of the Deno runtime.” Good for Cloudflare, pity about Deno. It was a good kick in the rear for NodeJS. Ryan’ll be porting celld into workerd. What I learnt is: workerd might be a realistic alternative to write web servers - instead of NodeJS, Express, etc. Durable Objects (worker + storage) seem to be a more powerful infrastructure component than I thought. They’re powering Queues, Workers, Git storage (artifacts), and more. Wallhop lets you skip paywalls #ForNow. Built by Josh as a 12ft.io replacement forking everywall/ladder. From How Anthropic Builds And How Engineering Will Change Soon | Thariq Shihipar: Examples - especially personal examples - are still an excellent way to prompt models. Agents do what the typical user wants pretty well. Focus your personalizations on how you want things done differently from the typical user. Learn vocabulary and intuition in areas where AI needs help. Visual design, mathematical ideation, economic theory, … Things move so fast (at least in code) #ForNow, so plan to deliver value within a month or two. For longer projects, wait for the next generation of agents to change the economics. Mistakes I made Week ending 18 Oct 2026 ...

Translation workflows

Sometimes, you need multiple approaches for different parts of a problem. Increasingly, agents are making this easier. For example, at MSCI, we’re using Google Translate to translate PDFs. Sometimes it does a great job. For example, here’s Hyundai’s E&C Sustainability Report, 2026, in Korean. It was translated perfectly by Google Translate. At other times, it does a terrible job. For example, here’s Pakistan’s Power Cement Annual Report 2026 in Urdu: ...

The Exam Is a Hypothesis

I conducted an ideation session for my TDS course. It was an open session along with students, TAs and instructors. It roughly explained how we conduct TDS - and in particular, how we design questions that teach something even when students can (and are encouraged to) work with AI agents as well as each other. Here’s the link to the session Here’s my summary of the session: Pick what to teach. My AI Advice page lists AI-era skills. Yours may vary. Evaluate questions against six tests: Learning test. Will they learn something by solving the question? Forward test. Does copying the answer work for everyone? Solver test. Can one person build a solver and share with everyone? Agent test. Can Codex solve it if they’re logged in? Cheating test. Is cheating costlier than doing it honestly? Or, will they learn something even when they cheat? Evaluation test. Is it easy and robust to evaluate automatically? Measure learning transfer. How do we know the actually learnt the skill? Interestingly, just passing these principles to Claude / ChatGPT gives me pretty good AI and collaboration proof questions on many topics. ...

Innovations 12 Oct 2026

Our Innovation team built a few demos over the last couple of weeks. Three interesting things: Agents can build navigable 3D spaces Specialized vision models can outperform frontier LLMs on narrow tasks Simple search tools can beat elaborate document-retrieval systems. New capabilities Build an interactive 3D room from an image. A coding agent used Blender to create four increasingly detailed, navigable rooms. Click the image below and explore the final room: orbit, walk inside, inspect objects, or download the model. ...

Playing whatsnewt

Python 3.15 released with a TUI text adventure you can run via uvx --python 3.15 whatsnewt. I love text adventures, but not so much that I would spend a weekend learning a new game rather than playing Minecraft. So I had Claude and ChatGPT “play” it for me. It’s more a reading experience than a playing experience, but that can be pretty engaging, too. What I learnt by reading it (that I didn’t know before) was: ...

Calvin's 957 in Scrabble

On 28 Feb 1990, Calvin and Hobbes played Scrabble. Calvin: Ha! I’ve got a great word and it’s on a “double word score” box! Hobbes: “ZQFMGB” isn’t a word! It doesn’t even have a vowel! Calvin: It is SO a word! It’s worm found in New Guinea! Everyone knows that! Hobbes: I’m looking it up. Calvin: You do, and I’ll look up that 12-letter word YOU played with all the Xs and Js! Hobbes: What’s your score for ZQFMGB? Calvin: 957. ...

Things I Learned - 11 Oct 2026

This week, I learned: Python 3.15 is out. My favorite features are: frozendict is hashable. So frozen dicts can be dict keys. Unpacking in Comprehensions. [*x for x in [[1, 2], [3, 4]]] = [1, 2, 3, 4]. {**x for x in [{1: 2}, {3: 4}]} = {1: 2, 3: 4}. Once you start thinking this way, it gets easier. UTF-8 is the default. In source and text processing. No encoding="utf-8" required. Lazy imports. The backward-compatible way to add it is __lazy_modules__ = ["module1", "module2"]. Sentinels. Use MISSING = sentinel("MISSING") instead of MISSING = object() and define def func(default=MISSING):. Having thought about it, I prefer having Google Meet / Teams / Zoom screens on the monitor to my side rather than the laptop in front of me. It looks odd when I look at someone on the screen and talk to them. But, people get used to that quickly and focus on what I’m saying. The advantage is that when I’m NOT looking at them and reading from my laptop screen, I’ll still look engaged because I’m staring at the camera! Google Docs supports Markdown natively. Finally. Artcraft has open source re-implementation of Adobe apps in Rust. This includes Photoshop, Illustrator, Premiere, After Effects, even Acrobat! OpenCode has a warming feature to keep the session cache live. Not sure how effective this is, but it’s an interesting idea. Hypothesis: An example is worth a dozen instructions (when guiding an LLM). I find myself repeatedly surprised by how well they copy the SPIRIT of my examples - even when I can’t verbalize what I intend. Voice recognition is improving rapidly. Whistle is a 17MB CPU-only transcription model. It even runs in the browser. Here’s how it transcribed what I said: “Up to 30 seconds in English, German, French, Spanish, Italian, Dutch or Polish, the first place downloads the 16.9 MB model and audio never leaves Oriona refields your device. Whistle does Wasn’t there three jobs, all of them on sort of them are the device. Transcription. 16 kilohertz mono audio monoario to 30 seconds in one pass the past in and then English German French and so on.” Not great, but impressive for a browser CPU model. VISA has been building Large Transaction Models. Predicting the next transaction, I guess, based on history of transactions. I’m curious to see how successful they are. LLMs might enable exploratory text - sort of like exploratory data visualizations. Tareq Ismail prototypes two ideas in Reading Long Form. One: hide what’s less relevant (in different ways). Two: let users re-organize text (fold, group, slide, …). I’d love controllable interfaces like these to read my feeds. The IITM BS students have set up WhatsApp and Telegram groups for most courses and assembled them into a single IITM BS Community site. Fans can be really effective in cooling laptops. I realized this when my laptop hit 79°C - just one short of my Ubuntu reboot limit. I blew continuously into the vents and within 15-20 seconds the temperature dropped to 7° down to 72°. (It would climb back, then I’d blow again. And so on. I was compressing my lecture video and this is more fun than watching it.) OpenAI is shutting down their fine-tuning platform (announced in May 2026). “Prompt-based approaches are now cheaper and faster – as such, we’re seeing fewer use cases that require fine-tuning.” Something I’d been seeing & predicting for some time now. OpenAI Discussion You can change your Github username A student told me they used ChatGPT Dots. It reported running Debian 13 and, when using the browser, revealed that it was a Mac (Mini?) running in the UK! Cloudflare has launched a Web Search API with multiple providers - of whom ceramic.ai is significantly cheaper at 25c / 1K queries. Others are over 20x more expensive #ForNow. just supports a global fallback. Create a ~/.justfile and the commands will run from any directory under your home that doesn’t have a justfile. If you have a justfile, add set fallback to inherit from the global justfile. ChatGPT What OpenAI showed is that the Navier Stokes equations can lead to an infinity in the solution. They found this by finding a counterexample. That’s typical of AI proofs #ForNow: finding counter-examples is easier than new solution approaches. Video The little pits in golf balls create small turbulences that prevent the air flow around the ball from creating a larger drag - so the ball travels farther. Neil deGrass Tyson - Video Cloudflare released Clef - a Jev-like decision model. It’s comparable in intelligence and supposed to have really low latency - sub 100ms. But when I benchmarked it, it was 400-600 ms from my machine in Singapore. Even from Cloudflare Workers, it was over 270 ms. I guess the HTTP call overhead might eat up a fair bit of the benefit - so websocket or other API methods are likely to emerge for such models. For an entire minute, I really thought Rajnikanth and Suresh Krissna were discussing Baasha 2 in this video. It’s AI generated, but now I see a bit more viscerally what this means for films and fakes! Mistakes I made Week ending 11 Oct 2026 ...

Do models know how accurate they are?

A colleague was using an agent to classify paragraphs as titles, sections, figure captions, etc. He also asked it “How confident are you of your answer?”. Interestingly, the confidence was consistently high, typically ~95%. That got me curious. (Actually, no that didn’t get me curious - I saw Germayne and Joshua from Gojek doing this in a fantastic session at Lorong AI, but this is my story and I’ll tell it my way.): ...

Looks Right. Isn’t.

I conducted a session on Wed, 07 Oct 2026 at ED5518: Data Visualization for Engineers - Department of Engineering Design, IIT Madras, Chennai (remote). Speakers: Anand S Summary: AI makes pictures cheap to create but harder to trust: the reader may be another AI, and a chart, map or CAD model that looks right still needs an independent check. Takeaways: Doing is easy. Choosing what and how isn’t. Design for humans and agents. Keep asking “How can I use this?” - that’s how you learn. Write the objectives before you start. That’s how you know if agents did it right. Here’s the link to the session ...

Get the Job Done — and Verify It

I teach Tools in Data Science (TDS) at IIT Madras. At our October 2026 orientation, JK began: “A simple five-minute saying ‘TDS is hard’ will be the orientation.” We ended up discussing the philosophy of the course for over an hour. Here are some questions students asked. Q: What is TDS trying to teach? A: “Get the job done.” Use agents, tools, people, your ingenuity, whatever. “I’m giving you the job - get it done.” The problems are inspired by real work. The important part is getting it done correctly, and verifying it. ...

Read Full Blog »