Get this blog via email on Google Groups

TL;DR: Join this Google Group to get my blog updates via email. My blog is over 25 years old. At first, people had to visit it to read it. Then I added an RSS feeds. Then email subscriptions. Then via social media, cross-posting on Twitter, now LinkedIn. The RSS feed remains. But I feel it’s time to bring back email subscriptions. It’s the oldest of the technologies, the most robust, and the one I believe will last the longest. ...

Open sandals

My sandals landed me in trouble twice in December. And that’s not uncommon. Mr Krishnan and I were meeting. He suggested: Good morning. Sunday 07/12/25 breakfast at 09:00 am at the Bangalore Club Residency Road (not far from Koramangala)? … but knowing me, he also added: These clubs are peculiar and may insist on no round necked t-shirt or no open sandals. If you have ideological issues with that, no problem and I will suggest another venue. ...

My Year in 2025

Here’s the report card for my 2025 goals bingo. Domain Repeat Stretch New People 🟢 Better husband 🔴 Meet all first cousins 🟢 Interview 10 experts 🔴 Live with a stranger Education 🟢 50 books 🟢 Teach 5,000 students 🟢 Run a course only with AI Technology 🟢 20 data stories 🔴 LLM Foundry: 5K MaU 🟢 300 days of GitHub 🔴 Build a robot 🟢 Co-present with an AI Health 🟢 300 days of yoga 🔴 80 heart points/day 🔴 Bike 1,000 km 🟢 Vipassana Wealth 🔴 Buy low 🔴 Beat inflation 5% 🟢 Donate $10K 🔴 Fund a startup The “Education” and “Technology” rows have a BINGO! Repeat goals were easier than new goals were easier than strech goals (no surprise). 11/20 wins means I’m picking realistic and ambitious goals. ...

Books in 2025

I read 51 books in 2025 (about the same as in 2024, 2023, 2022, and 2021.) With a difference: I used AI to read 44 of them in the last week of the year. Mind blowing The Ants by Bert Hölldobler. Finally, after 20 years of wanting to read it. It lives up to the hype. Wind and Truth (The Stormlight Archive, #5) by Brandon Sanderson. The only fiction I’ve taken notes for. (About 500 points.) Life changing (or at least, perspective changing) ...

I count AI summarized books as "Read"

I have this nagging feeling (maybe you do too?) that it’s cheating and I’m not really learning if it’s so easy. The same voice makes me feel guilty when using coding agents to code or ChatGPT in meetings. I’m telling that voice to relax. I upload books to Claude and ask it to “Comprehensively and engagingly summarize and fact-check, writing in Malcolm Gladwell’s style, the book …”. I can read it in an hour instead of twelve. Four bullet points instead of forty. With (this surprised me) roughly the same number of insights I actually do something with. ...

Workshops That Teach Me More Than You

I don’t charge for workshops. Altruism? No: it’s self-interest. “If you’re not paying for it, you’re not the customer; you’re the product being sold.” Andrew Lewis, via Tim O’Reilly, 2010. My workshop process is designed to benefit me first. I pick topics I want to learn, not stuff useful to the audience. Example: I picked DuckDB for my PyCon India 2025 talk to learn it. ...

How to review trending GitHub repos on VS Code

Here’s how I track trending GitHub repos each week. I run a scheduled script that saves a clean TSV I can scan fast. It uses uvx gtrending to fetch weekly trending repos for: Rust: High-quality system tools. (Anything in Rust seems cool.) Go: Reliable CLI/infra tools. (Like Rust, most Go code seems good.) Python: Most AI/ML stuff TypeScript: Most modern JS codebases JavaScript: Most front-end utilities Shell: Productivity scripts I pipe results through jq to extract: ...

Vibe Shopping

I’ve started vibe shopping, i.e. using ChatGPT to shop for small, daily items and buying without verifying. For example: “A metal rack for the floor: at least 2 ft * 1 ft * 2 ft, small gaps, popular options on Amazon.in.” https://chatgpt.com/share/68d61d68-7040-800c-936b-354749539308 “An optical wired mouse that’s smaller than usual, 4*+, popular, Prime-eligible for Chennai by the weekend on Amazon.in.” https://chatgpt.com/share/68d61e0d-420c-800c-bc71-821b9f9296a9 The best use is when I don’t know the right terms. In this case, the terms were wire rack and mini mouse. ...

The 10 sites I visit most often

Here are the 10 most frequent sites I use (based on Microsoft Edge’s home bar): ChatGPT. It replaced Google as my default knowledge source. I prefer it over Gemini, Claude, etc. because the app has good features (memory from past conversations, code interpreter, strong voice mode, remote MCP on web app, etc.) The OpenAI models have pros and cons, but the app features are ahead of competition. Gmail. It’s my work inbox. Interestingly, I check it more (and respond faster) than social channels (e.g. WhatsApp, Google Chat, LinkedIn). It also doubles up as my task queue. Prime Video. I mainly watch The Mentalist. Totally love Patrick Jane! Google AI Studio. Mostly for transcription. It’s better than Gemini on UI, ability to handle uploads, file-formats, etc. It’s also free (though the data is used for training.) My Talks page. I give 1-1.5 talks a week, mostly on AI/ML topics. I use Marp to render Markdown slides and publish it here. Google Chat. It’s Straive’s social channel. I can’t use it from my phone, so I log in only if I need to check if I missed something. LinkedIn. It’s where I post by default. I don’t use it for networking and only connect with people I’ve met and know well. YouTube. Mostly for movie clips over dinner. I occasionally watch educational content. Playground. LLM Foundry is Straive’s internal gateway to multiple model APIs (I built it). I use it to experiment with models, grab API keys, and demo LLMs to clients. Squoosh. I compress every image, every time. Mostly into WebP (hands-down the best format today), typically lossless with an 8-color palette, or lossy at ~0-10% quality for photos. That’s my current home row. It will change. But the reasons probably won’t: fast, simple, automatable, and practical (for me).

AfterSlides: Write Slides After Talks

25 years ago, Mr. Krishnan (IAS) amused us with anecdotes of bureaucrats writing meeting minutes before the meeting. This week, I flipped that. I wrote slides after the talk. I call them AfterSlides. Why. I ran a couple of Ask-Me-Anything (AMA) sessions where the audience set the agenda. I learned their interests. They got answers. No slides prepared. How. I okayed recording with the organizers, recorded on my phone, transcribed with Gemini, and asked ChatGPT to generate the AfterSlides. ...

My ChatGPT engagement is now far higher than with Google. I started using ChatGPT in June 2023. From Sep 2023 - Feb 2024, my Google usage was 5x ChatGPT. Then, fell to 3x until May 2024. Then about 2x until Apr 2025. Since May 2025, it sits at the 1.5x mark. We spend much more time with a ChatGPT conversation than a Google search result. So clearly, ChatGPT is my top app, beating Google some months ago. ...

Giving Back Money

At the end of my 2021 graduation interview, All India Radio asked: Interviewer: What would, if you are asked to give back something to the country, what would be that? Anand: I really don’t know. At this stage, I don’t know what I’m capable of and what I can contribute, but whatever it will be, I suspect the bulk of it will come later towards my career. ...

My Goals Bingo as of Q2 2025

In 2025, I’m playing Goals Bingo. I want to complete one row or column of these goals. Here’s my status from Jan – Jun 2025. 🟢 indicates I’m on track and likely to complete. 🟡 indicates I’m behind but I may be able to hit it. 🔴 indicates I’m behind and it’s looking hard. Domain Repeat Stretch New People 🟢 Better husband. Going OK 🟡 Meet all first cousins. 8/14 🟢 Interview 10 experts. 11/10 🟡 Live with a stranger. Tried homestay - doesn’t count Education 🔴 50 books. 6/50 🟡 Teach 5,000 students. ~1,500 🟡 Run a course only with AI. Ran a workshop with AI Technology 🟢 20 data stories. 10/20 🔴 LLM Foundry: 5K MaU. 2.2K MaU. 🟡 Build a robot. No progress. 🟢 Co-present with an AI. Done Health 🟢 300 days of yoga. 183/183 days 🟡 80 heart points/day. Far from it 🔴 Bike 1,000 km 300 hrs. Far from it 🟢 Vipassana. 2 Jul 2025 Wealth 🔴 Buy low. No progress. 🔴 Beat inflation 5%. Not started. 🟡 Donate $10K. Ideating. 🔴 Fund a startup. Not started. At the moment, there’s no row or column that looks like a definite win. ...

Here’s how I use ChatGPT, based on the ~6,000 conversations I’ve had in 2 years. My top use, by far, is for technology. “Modern JavaScript Coding” and “Python Coding Questions” are ~30% of my queries. There’s a long list with Markdown, GitLab, GitHub, Shell, D3, Auth, JSON, CSS, DuckDB, SQLite, Pandas, FFMPeg, etc. featured prominently. Next is to brainstorm AI use: “AI Panel Discussions”, “AI Trends and Business Impact”, “LLM Applications and DSLs”, “Industry Use Cases and Metrics” are also fast growing categories. I brainstorm talk outlines, refine slide deck narratives, and plan business ideas. ...

I lost 22 kg in 22 weeks. How? Skipped lunch, no snacking. (That’s all.) Why? Cholesterol. When? Since 1 Jan 2025. I plan to continue. How far? At 64 kg, I’m at 22 BMI. I’ll aim for 60 kg. Is fasting 12 hours OK? Ankor Rai shared Dr. Mindy Pelz’s chart that fasting benefits truly kick in after 36 hours. Long way for me to go. No exercise? Exercise is great for fitness & happiness. Not weight loss. Read John Walker’s The Hacker’s Diet. ...

Snow White (2025) is an outlier on the IMDb. With a rating of 1.8 and ~362K votes, it’s one of the most popularly trashed movies. Prior to Snow White the frontier of popular bad movies was held by the likes of Radhe, Batman & Robin, Fifty Shades of Gray, etc. Snow White sets a new records. Snow White (IMDb): https://www.imdb.com/title/tt6208148/ IMDb explorer: https://sanand0.github.io/imdb/ LinkedIn

Top 8 ways I use ChatGPT in 2025

I extracted the titles of the ~1,600 conversations I had with ChatGPT in 2025 so far and classified it against the list of How People Are Really Using Gen AI in 2025. Here are the top 8 things I use it for, along with representative chat titles. (The % match in brackets tells you how similar the chat title is to the use case.) Improving code (clearly, I code a lot) Troubleshooting (usually code) Corporate LLM/Copilot (this is mostly LLM research I do) Generating code (more code) Generating ideas (yeah, I’ve stopped thinking) Simple explainers (slightly surprising how often I ask for simple explanations) Generating relevant images. (Surprising, but I think I generated a lot of images for blog/LinkedIn posts) Specific search (actually, this is mis-classified. This is where I’m searching for search engines!) My classification has errors. For example, “Reduce Code Size” was classified against “Generating code” but should have been “Improving code”. But it’s not too far off. ...

How To Double-Check Personality Flaws With AI

After ChatGPT's discussion of my personality flaws, I asked it to listing specific conversations as evidence for flaws. Then I asked 3 LLMs to rate the evidence. Personality FlawChatGPTDeepSeekGrokAverageSelf-deprecation as a shield. Sarcastic humor4755.3Hypocrisy: Seeks limelight but preaches humility5655.3Overconfidence in technical opinions5665.7Ghosts vague messages4686.0Over-analyzes / over-engineers5586.0Fact-checks trivialities, derailing discussion7777.0Shiny object syndrome. Distracted by new technologies8777.3Intolerant of fools6897.7Dominates discussions6897.7Verbosity. Long-winded communication8877.7Hyperfocus on efficiency7988.0Intense. “Always on”8998.7 🟢 LOW: Self-deprecation / sarcastic humour as shield ChatGPT: 4/10. Bio and a few quips reveal dry self-mockery, yet direct chat evidence of humour as defence is sparse; it surfaces only occasionally. | DeepSeek: 7/10. Explicit self-awareness goals and dry humor noted, but little evidence of defensive/sarcastic use. Grok: 5/10. Some self-deprecating humor exists, but its use as a shield is not strongly supported. 🟢 LOW: Hypocrisy: seeks limelight yet preaches humility ChatGPT: 6/10. You aspire to humility but routinely headline conferences and TEDx talks; the coexistence of public speaking and stated modesty gives the charge a middling footing. | DeepSeek: 6/10. TEDx/PyCon prominence contrasts with stated humility goals, though self-improvement efforts are genuine. Grok: 5/10. Public speaking contrasts with humility goals, though this may indicate self-awareness, not hypocrisy. 🟢 LOW: Over-confidence in technical opinions ChatGPT: 7/10. You assert strong views (e.g., Node vs FastAPI) but also invite verification and accept corrections, yielding only moderate evidence of over-confidence. | DeepSeek: 6/10. States strong preferences upfront but routinely invites validation and course-corrects. Grok: 6/10. Strong opinions are expressed, but openness to correction moderates the perception of overconfidence. 🟢 LOW: Ghosts vague messages ChatGPT: 5/10. You’ve stated you ignore low-context e-mails, but chat logs show you usually follow-up or clarify rather than disappear. | DeepSeek: 6/10. Documented tendency to ignore low-context questions, though chat logs show active clarification habits. Grok: 8/10. Multiple instances show the user ignoring or not responding to unclear or low-context messages. 🟢 LOW: Over-analyzes / over-engineers ChatGPT: 5/10. Designing auto-re-flow SVG chevrons and exhaustive RAG specs hint at depth beyond the simple solution, yet you also champion “smallest libraries” and lightweight rate-limiters. | DeepSeek: 5/10. Some prototype/structuring tendencies, but strong preference for minimal solutions counterbalances this. Grok: 8/10. The user often dives deeply into tasks, sometimes creating complex solutions for simple problems. 🟡 MEDIUM: Fact-checks trivialities, derailing discussion ChatGPT: 8/10. Many requests revolve around “double-check,” “fact-check,” or recalculating tiny details, which lengthens threads even when stakes are small. | DeepSeek: 7/10. Frequent accuracy demands and citation hunts elongate discussions, but stays focused when content is solid. Grok: 7/10. Evidence of prioritizing precision, like fact-checking minor details, can disrupt conversation flow. 🟡 MEDIUM: Shiny-object syndrome ChatGPT: 6/10. Parallel explorations of Godot, Matrix, Cloudflare Workers, SVG SmartArt, esp32-eye, etc. reveal a persistent pull toward new tech before finishing earlier threads. | DeepSeek: 7/10. Broad simultaneous explorations (Godot/WASM/DuckDB), though sustains core projects long-term. Grok: 7/10. Exploration of new technologies is frequent, but focus on core projects suggests a balanced curiosity. 🟡 MEDIUM: Intolerant of fools / low clarity ChatGPT: 7/10. Frequent demands for precise formats, citations, and “be specific” instructions show a low tolerance for ambiguity, though you still help patiently on non-technical questions. | DeepSeek: 8/10. Strong pattern of rejecting ambiguity/fluff, though softened by humor and non-technical engagements. Grok: 9/10. The user consistently demands clarity and efficiency, showing little patience for ambiguity or fluff. 🟡 MEDIUM: Dominates discussions ChatGPT: 4/10. Long, multi-part prompts and the need for TL;DRs suggest you can overshadow lighter voices, but you periodically insist on brevity and delegate tasks, tempering the effect. | DeepSeek: 8/10. Long technical messages (avg ~3k chars) and intense Q&A patterns create conversational dominance. Grok: 9/10. Detailed, technical responses consistently steer and dominate conversations. 🟡 MEDIUM: Verbosity / long-winded communication ChatGPT: 5/10. Average messages run several thousand characters, and you often request exhaustive, multi-section outputs—though you sometimes tell the assistant “Shorter please,” verbosity remains a clear pattern. | DeepSeek: 8/10. Multi-step technical requests dominate interactions, though periodic “shorter please” self-corrections exist. Grok: 7/10. Messages are often lengthy and detailed, though the user also requests concise responses from others. 🔴 HIGH: Hyper-focus on efficiency ChatGPT: 8/10. Recurrent themes—cost monitoring, smallest-lib preference, GPU-utilization alerts—show you relentlessly optimise workflows and expect others to keep pace. | DeepSeek: 9/10. Unambiguous prioritization of concise formats, minimal libraries, and metric-driven optimization. Grok: 8/10. Repeated emphasis on concise, efficient communication and minimal tools is evident. 🔴 HIGH: Intense – “always on” ChatGPT: 8/10. Around-the-clock, multi-topic requests (weekend cron jobs, 2 a.m. prototypes) portray sustained high energy, with only a few calmer “travel nerves” moments as counter-weight. | DeepSeek: 9/10. High-volume technical queries across domains, 6am research routines, and rapid prototyping habits. Grok: 9/10. High energy and engagement are consistently shown through task initiation and scheduling. My actions: Learn from fools and focus on the big-picture. Specifically: ...

My Goals Bingo as of Q1 2025

In 2025, I'm playing Goals Bingo. I want to complete one row or column of these goals. Here's my status from Jan - Mar 2025. 🟢 indicates I'm on track and likely to complete.🟡 indicates I'm behind but I may be able to hit it.🔴 indicates I'm behind and it's looking hard. DomainRepeatStretchNewPeople🟢 Better husband. Going OK🟢 Meet all first cousins. 8/14🟢 Interview 10 experts. 9/10🔴 Live with a stranger. Not plannedEducation🟡 50 books. 6/50🟡 Teach 5,000 students. ~1,500🔴 Run a course only with AI. Not startedTechnology🟡 20 data stories. 1/20🔴 LLM Foundry: 5K MaU. 2.2K MaU.🟡 Build a robot. No progress.🟢 Co-present with an AI. DoneHealth🟢 300 days of yoga. 91/91 days🟡 80 heart points/day. 70/80🔴 Bike 1,000 km 300 hrs. 22/300🟡 Vipassana. Not plannedWealth🟡 Buy low. No progress.🔴 Beat inflation 5%. Exploring.🟡 Donate $10K. Ideating.🔴 Fund a startup. Thinking. Repeat goals seem likely. It's easier to do something again than something bigger or new. ...

How to publish an eBook in 60 minutes

I published an eBook on Amazon. It takes an hour if you have the content ready. STEP 1 (10 min): Set up a Kindle Direct Publishing account with your address, bank details, and tax info. STEP 2 (15 min): Export my London 2000 blog archive and convert to Markdown. STEP 3 (10 min): Reformat the Markdown by writing a script in Cursor. Here’s the prompt: Write a Python script that reads *.md including the YAML frontmatter, adds the YAML title as H1, date (yyyy-mm-dd) like Sun, 01 Jan 2000 in a new para after the frontmatter and before the content. ...