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

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. ...

Things I Learned - 04 Oct 2026

This week, I learned: Harvard authored a paper: living near nuclear power plants associated with more cancer. Several other papers published similar findings. The trouble is, there’ll always be SOME places near which cancer rates are higher - and there are enough causes that you can p-hack. But, it’s not easy to think of this upfront and very easy to fool ourselves. Things that Apparently Cause Cancer Supabase is acquiring Turso. Turso is a Rust SQLite-compatible DB. Supabase was already popular for agentic software. This would add fast SQLite, which looks even more attractive. “We don’t always have the time or budget, or even the legal right, to do multiple versions. Fans don’t have those restrictions. They can do as many variations as they want, and that’s fine.” - Pirating the Pirates on Notebook “As rich people feel like their downtime is scarce—as each non-working hour practically shouts, “excuse me! you could be making money, right now!” —the experience of leisure time speeds up. We multitask and pack various downtime activities into short periods. Firing up a Netflix show at 9pm that you can half-ignore while you answer email is a perfect activity for people who need their leisure time to feel like half-productive box-checking.” From The Death of the American Host Hacker News Best has a weekly best or daily best (or any other) view you can control by adding a ?h=... parameter. That makes it a useful alternative to HNTopLinks (source) which goes down occasionally. I am using the Redirector extension to re-map the URLs. “Platform exodus”: Lots of people are posting about leaving popular platforms (WordPress, Reddit, GitHub, …) and software (Photoshop) - Everyone’s packing up. Looks like technically capably users are migrating to disposable systems #ForNow. ChatGPT Despite the incredible cost & quality advantage of GPT 6 Luna, I’m still not using it for transcription. Gemini remains ahead #ForNow. It can process up to 9.5 hours of audio per prompt and seems to have a pretty good error rate. ChatGPT Pi 1.0 supports MCP. But some features they still choose not to support are: permissions (use containers), sub-agents (invoke pi), plan mode (extension), TODOs (use TODO.md), background shell jobs (use tmux). Pi Durable feels like it covers /goal. A good use for Pi Durable (or any long-running harness) is work you incrementally build on over days: maintenance, research, experiments, … HN GPT 6 Astra beat Nethack! Donald has an entire facility that he can control via prompts. I’d love just one device! Donald There are a number of sites that let you record your screen, video, or audio and download it. No installation / software required. Like for video, Videoradius, recordscreen.io, Browserkit, Screencord.me, etc. Or for audio, SayRec, SpeakPipe, Vocaroo, Whyp, etc. #ForNow “I have a class of agents in my Wheelhouse factory that act just like TPMs. They have external email and Slack, and talk to my accountant, lawyers, players. Each one has a project lane and drives it. They use Progress By Nagging, which… works.” Steve Yegge Roughly: “It’s interesting when things scale beyond what people expect. Find such areas. See where they break and find emergent properties or new approaches that let it scale further.” Sam Altman with Alex Heath. Google managed to accidentally hack some websites and entered the FelonyBench. Finally! The list of columns you can see in VLC Media Player is hard-coded and there’s no easy way to add something - like the composer or album artist - into this list. Mistakes I made Week ending 04 Oct 2026 ...

Adding Composer to VLC Playlist

VLC 3.0, there’s a Playlist view that can show the title, album, etc. But the Composer field is not supported. That’s a big deal for me. I track composers for ~1,200 Tamil, Hindi, and Telugu songs in that field. I really need to see and sort and filter by composer. (“Really need” like I “really need a cheesecake”, not like “really need a charger”.) Software’s so easy to change, so I asked ChatGPT: ...

Let's Test: Use AI Empirically

I conducted a session on Thu, 01 Oct 2026 at DBS Technology India — TechVerse Session 4: Agentic AI - Remote / Webex. Speakers: Anand S Summary: Treat AI advice, models and agent workflows as hypotheses: test them on your own work, mine your logs for evidence, and make verification part of the workflow. Here’s the link to the session Links: Transcript Audio (90 min)

Data Hack Summit 2026 Interview

Sarthak interviewed me at Data Hack Summit 2026. Here’s the Q&A. Interviews and panel discussions force me to think quickly and tend to crystallize thoughts I haven’t yet fully processed. I really enjoy them, and this was no exception. Q: Any key takeaways you’d be taking home? Knowledge graphs may not be as hot a topic as people might think, that’s definitely one. Forward-deployed engineers have not yet caught on as much as I would have thought they had. Surprisingly, no one mentioned outcome-based pricing as a theme, which is interesting; I’m guessing that there’s still a lot of pressure against it. And loop engineering does seem to have potential, but the verdict is out. Q: Is judgment now more valuable than analysis? ...

Read Full Blog »