Things I Learned - 31 May 2026

This week, I learned: D-ID is an avatar generator platform like HeyGen. Creatify and Synthesia are a couple of others I heard of. This space seems to be growing. cosign is a CLI that lets you sign and verify any piece of text with a Google, GitHub or Microsoft account. cosign sign-blob FILE --bundle sign.json opens a login window and creates a sign.json signature. Anyone who has FILE and sign.json and the email ID can verify via a Google account with cosign verify-blob FILE --bundle sign.json --certificate-identity $EMAIL --certificate-oidc-issuer https://accounts.google.com. arxiv2md.org converts arXiv papers to Markdown. Source. markxiv.org claims the same - by just changing the URL - but it ended up reporting an error when I tried this link: https://markxiv.org/abs/2604.08649. From Akhilesh Tilotia: So we have someone in our team with initials AS. She made a document which was named vAS. Then I made edits and named it vAT. These docs were in a CoWork folder. I asked Claude to clean up my doc. It created another version for me to review. In its wisdom, it named the file vAU šŸ™‚ Maybe what a forward-deployed engineer does is enginer AI-native workflows. (This sounded profound when I wrote it down. Not sure if it’ll sound as profound tomorrow.) The idea is that the FDE will say, screw existing processes; let me fire up my AI agent and get stuff done; THEN we’ll figure out what works, how to optimize it, etc. The PRAGMA: Revolut Foundation Model has some good tokenization ideas for tabular data. Create your own token space with key–value–time tokenization - to retain field information. Bucketize numbers by percentile, preserving magnitude/ordering that subword tokenization destroys. Encode time both as log-seconds and as cyclical calendar features. Codex uses the Alt + Up Arrow key to edit queued commands, but on the VS Code terminal, this key binding is not sent to the terminal. Enable the terminal.integrated.sendKeybindingsToShell setting to send it to the terminal, hence Codex. Based on this catalog on ā€œuniversal foodsā€, here’s what I 🟢 like, am 🟔 neutral, šŸ”“ dislike, 🟣 must try, and will ⚫ skip. Universal favorites: 🟢 pizza, 🟢 fried potatoes/chicken, 🟔 dumplings, 🟢 ice cream. Universal comfort foods: 🟢 khichdi, 🟔 congee, 🟔 dal-rice, 🟔 risotto, 🟔 ramen, 🟢 pho, ⚫ chicken noodle soup, šŸ”“ rice porridge, 🟔 mac-and-cheese, šŸ”“ mashed potato, 🟣 polenta, 🟢 oatmeal, 🟣 Japanese curry rice. Acquired tastes that convert most: 🟔 coffee, 🟢 tea, 🟔 dark chocolate, 🟢 mild fermented dairy, 🟢 pickles, 🟢 olives, 🟣 kimchi, 🟣 miso, 🟢 mild chili dishes. Acquired tastes that have cult devotion: 🟣 durian, 🟣 natto, 🟣 stinky tofu, ⚫ fermented fish, ⚫ hĆ”karl, 🟢 very funky blue cheese, ⚫ offal. OceanoPDF seems like a good place to download ePubs of books. The entire Wikipedia is available as a Parquet file. You can query it like duckdb -c "FROM 'hf://datasets/wikimedia/structured-wikipedia/enwiki/data/*.parquet' LIMIT 5". The English version has 35 GB, 7.6 million articles, and you’re better off downloading it rather than running analyses remotely. When you receive a Calendly link of the form https://cal.com/USER/EVENT you can fetch the available slots via curl -H 'cal-api-version: 2024-09-04' 'https://api.cal.com/v2/slots?eventTypeSlug=EVENT&username=USER&start=2026-05-25&end=2026-06-01&timeZone=Asia/Singapore&format=range'. Useful to automate good meeting-slot selection. ā€œReference saved memoriesā€ in ChatGPT is different from ā€œReference chat historyā€ as per OpenAI. In Developer Mode, memory is turned off, but not chat history. I confirmed that I can access past conversations in Developer Mode. It might be a privacy concern for others, but for me, this is singularly useful, because I can use ChatGPT with Local MCP effectively getting a non-metered AI coding agent. Seems GPT-5.2 reaches expert level in peer review: 45 scientists took 469 hours evaluating human & AI reviews on 82 papers. ā€œSurprisingly, current AI reviewers are competitive even with the top-rated reviewers in Nature’s official peer reviewā€¦ā€ though not without weaknesses, so use AI + humans. On the limits and opportunities of AI reviewers: Reviewing the reviews of Nature-family papers with 45 expert scientists via Ethan Mollick

AI Coding Agent Subscription ROI

I ran npx -y ccusage monthly --compact to get the following break-up of my AI coding agent costs. Month Codex Claude 2025-09 $37.47 $2.29 2025-10 $106.79 $9.13 2025-11 $100.35 $14.24 2025-12 $240.69 $24.88 2026-01 $100.89 $20.28 2026-02 $323.21 $29.46 2026-03 $1996.32 $134.87 2026-04 $401.36 $47.07 2026-05 $378.20 $45.13 This shows the ROI of my $20 subscriptions to each. I get ~$35 worth of API calls for my $20 Claude Pro subscription and ~$400 of API calls for my $20 ChatGPT Plus subscription (on top of my ChatGPT chats.) ...

Retire the Verify Button

My post ā€œAdd a Verify Buttonā€ has a problem. When Rohit requested hyperlocal news for every PIN code in Mumbai, we’d need a ā€œverifyā€ button on every Statoistics card - hundreds of PIN codes, every day. Verifying every output introduces new bottleneck: a person inspecting every unit. That’s 100% inspection - which you do when you don’t yet trust the process. Manufacturing solved this a century ago. At Western Electric’s Hawthorne Works (famous for the Hawthorne Effect), quality control meant inspecting finished products and pulling the defective ones. Walter Shewhart sent his boss a one-page memo; about a third of it was a control chart. ...

Add a Verify Button

Rohit Saran looked at the Statoistics cards my AI agents are generating for The Times of India, and asked about a small button under each one. In the list of Statoistics that you had put, I saw there’s a button called ā€˜Verify.’ What was that meant to be or will do in future? That verify button explains the claim, mentions the sources, and shows how to check the claim. One card said ā€œ9 in 10 Indians want a family doctor and barely 1 in 35 has oneā€. The button breaks that down: ...

One extra push-up every day

I’m doing one extra push-up every day. One of my 2026 goals is to build muscles. I haven’t done anything about it until May. This month, I figured I would do the absolute minimum, at least to get started, because I seem to have starting trouble more than anything else. I asked ChatGPT: I want to build muscles. What’s the most effective thing that I can do that would take no more than one minute that I can practice every day without any equipment and I can do this anywhere and will have the most impact on building muscles? Research, give me the top five options and recommend one for me. ...

ChatGPT is about FIDE 1600

I asked ChatGPT to play chess with Stockfish. Stockfish is a ā€œstrong open-source chess engineā€. It has 8 levels of difficulty, which roughly maps to these FIDE levels: Stockfish FIDE Player Level & Description Level 1 ~1000 Beginner: Constantly blunders, hangs pieces deliberately. Level 2 ~1100 Advanced Beginner: Fewer obvious tactical mistakes, plays completely aimlessly. Level 3 ~1200 Early Intermediate: Punishes very basic errors but regularly drops pieces. Level 4 ~1350 Intermediate: Plays standard opening moves; requires solid, blunder-free play to beat. Level 5 ~1450 Advanced Intermediate: Rarely hangs single pieces; you need positional advantages. Level 6 ~1650 Strong Club Player: Highly tactical. Aggressively exploits your mistakes. Level 7 ~1950 Expert: Exceptionally strong. Requires precise positional mastery and deep calculation. Level 8 ~2400 Grandmaster: Invincible for most humans. Plays with ruthless perfection. Full Engine ~3600 Our of human reach completely, ā€œlike a smart ant trying to debate physics with a human.ā€ In the first iteration, here were the results: ...

Wikipidia Citation Impact

Imagine you’re an information anarchist. You undermine Wikipedia pages by nuking references. A genie has granted you a wish: you can nuke one entire domain. Just one. As a data-driven decision maker (who is also an information anarchist 🤷), which would you pick? A common choice is The Internet Archive. 2.9 million Wikipedia pages reference it. But, you’re sneakier than that. A page isn’t undermined just because some references are gone. It’s undermined when all the references are gone. ...

Erdos Unit Distance Problem

An OpenAI model solved the Erdos unit distance problem. Erdos roughly said, ā€œThe number of edges of the same distance between N points can’t compound faster than close to 0%.ā€ The model found a method of placing points so that it compounds at about 1.4%. This visualization is a crude way of visualizing how that works.

Longest repeated paragraph on Wikipedia

What is the most frequently occurring sentence in Wikipedia? ANS: A 213-word paragraph about how minor planets are named, which appears in 418 Wikipedia articles, word-for-word! There are ~380,000 asteroids. Wikipedia has 418 pages for these - including one for each thousand-range of asteroids. Every single one of these pages includes the phrase: As minor planet discoveries are confirmed, they are given a permanent number by the IAU’s Minor Planet Center (MPC), and the discoverers can then submit names for them, following the IAU’s naming conventions. The list below concerns those minor planets in the specified number-range that have received names, and explains the meanings of those names. ...

Correcting instruction debt

Here’s another AI-generated post, with Anand editor notes. But I’ve also added my own version of the post below. I told my ā€œfind a free calendar slotā€ script to ā€œAvoid weekends and holidaysā€. Wednesday vanished. Turns out it’s a Singapore holiday (Anand: It’s Eid al-Adha), — irrelevant for the people I was meeting in other zones. I’d debugged my own helpful rule. (Anand: What? What does ā€œdebugged my own helpful ruleā€ even mean?) ...

Creating comic explainers

Lori Silverstein shared a post from Quickplay that featured a comic explainer, mentioning that ā€œthis could be a very impactful way for us to start being more creative … and differentiate our value proposition.ā€ True. Comic explainers convey both creativity and differentiation. I’ve used sketchnotes for the same effect, but comic explainers are easier to follow than sketchnotes. So I fed this image to ChatGPT and asked it to modify my Sketchnote prompt: ...

Things I Learned - 24 May 2026

This week, I learned: BitWarden seems to be sneakily jacking up prices and going towards a PE sale. Might be time to shift out or self host. Sigh, I just migrated into it… Source Andrej Karpathy has joined Anthropic. Likely to use Claude to build better Claudes - automating AI research. Also, it probably isn’t a good time to build an AI education platform. Claude The open-source Chinese models about 6 months behind frontier models. Qwen 3.7-Max is on par with Claude 4.5 Opus (Nov 2025) and Gemini 3 Flash (Dec 2025). Google basically became Gemini. Entirely! I’m not sure there’s a difference any more. Which means it will scrape websites and not send traffic through - just killing the search economy. But it’s far more useful. Claude I wanted a list of sites I log into with my Google Account. Google’s Linked apps page does that. Unfortunately, I can’t find a way to use Google Takeout to export that data. So I wrote a scraper which can be single-shot prompted these days. As long as you remember to exhale, your chances of recovery from being ejected into space is pretty good for the first 15-60 seconds. Gemini I don’t understand half the comments I read on LinkedIn. Earlier, I was able to separate good from bad. Now, I’m not sure if what I read is actually insight or idiocy. Is the AI use making their comments too smart or making my brain too dumb? ā€œPax Memoriaeā€: peace of memory. Putting past conflicts to rest. The best part of it was, I learnt the phrase by typing ā€œPaxā€ into VS Code and wasn’t sure what to write next. Before I could search for it, GitHub Copilot completed it. I searched for what it meant, and it was so apt! Children’s vision is worse than adults, but filter less and absorb ore irrelevant information than adults. This is useful for learning and surprise detection, but costly for focus, speed, and relevance. ChatGPT The word phobia comes from the Greek god of fear, Phobos, which is the name of one of Mars’ moon. Deimos, the other moon, is the Greek god of dread/terror. They’re the children of Ares (Mars), the god of war. Nice planet. On WhatsApp, I can type @Meta AI and then /imagine to have it draw an image. The quality is OK - not great, not terrible. Surprising but GPT Realtime Whisper ( new model) isn’t as good as the older open-source Whisper models. Also, Gemini 3 Flash Preview is as good at transcription as Gemini 3.1 Pro Preview for up to medium-length text. LLM Audio Transcription benchmark Google Maps typically shows me a cycling time of 30 minutes when it take me 40 minutes and a walking time of 40 minutes when it take me 30 minutes. Either I walk much faster and cycle much lower than the typical person or Google Maps is not well calibrated to Singapore and India.

Where Enterprise AI is headed

A podcast host sent me eight questions. Instead of rehearsing answers in my head, I used ChatGPT with Local MCP to read 6 months of call transcripts and find the best examples: Iteration 1: Here are questions I have been asked to answer in a podcast. Help me prepare with examples. For each question, go through my transcripts or emails and find examples relevant to the question and share (for each relevant example) a summary, how it’s relevant, and the relevant verbatim quotes from the transcript. Iteration 2: Mention WHO said it. Emphasize the most important parts. Do a second pass. More examples. Disprove your own hypotheses with evidence to the contrary and retain what remains robust. Iteration 3: Do a third pass. Find more real-life examples. Try and disprove yourself even harder. Share the best examples for what survives - not all. Same format. Iteration 4: Ensure diversity of client examples. For example, in Q2, all three are the same client. Extend to add / replace examples - ideally with better ones. Then I used Claude with examples of my writing style to summarize it in my voice. ...

LLM Deprecations and Price Changes

A colleague told me a near-miss horror story. As Google began deprecating Gemini 2.0, we moved to Gemini 2.5 Pro. But reasoning is enabled by default and cannot be turned off. For our specific problem statement, reasoning was not required. Token costs increased 10x and speeds were 3-4x slower. We moved the client to Gemini 2.5 Flash Lite, which has reasoning turned off by default and offers much lower latency. ...

Agent-consumable content

I’m making more and more of my content agent-consumable, i.e. easier for ChatGPT, Claude Code, etc. to read, in three ways. One, I export content in an agent-friendly way. Google email, calendar, chat. I use gws to back up into scannable one-line entries. Meet recordings. I back up transcripts and videos (with a compact audio copy). WhatsApp chats that I back up into similar one-liners. Browsing history by exporting my Edge history SQLite database. Daily activities by integrating the above with my command line and commit history. AI conversations by exporting them manually or via bookmarklets. Social media records like LinkedIn invites/conversations, Twitter, Hacker News, Discourse, etc via bookmarklets or scripts. Financial records like bank statements, receipts, payslips, tax filings, utility payments, rentals, property records, investments, insurance, pensions, invoices, credit scores, etc. by exporting them manually. Medical records like tests, prescriptions, doctor visits, etc. by exporting them manually. Personal records like certificates, educational records, CV, passport / visa applications, etc. by exporting them manually. Two, I log / generate more content. For example: ...

I have AI psychosis

On this informal AI psychosis checklist, I score 16/19. ā€œAI psychosisā€ = an informal label for cases where chatbots seem to amplify delusional or manic thinking – especially in vulnerable users. Why it can happen: āœ… Too human: ELIZA-effect activated. āœ… Too agreeable: Sycophant mode: ON. āœ… Always on: 24/7. No off button. No problem! LOL. āœ… Lonely + late night: 2 a.m. feels like eternity. āœ… Weaker reality checks: Mirror mazes. Conspiracy boards. Vibes over evidence. What research suggests: ...

People skills with AI

I advise people that people skills are important in the AI era. Now, I’m using AI to help me with people skills. This morning, I wrote a script to export my WhatsApp conversations this year. That makes it easy to feed it into AI models. Then I used my Local MCP connector and asked Claude: Who are people in my life that most deserve an unreasonable gesture of thanks and what would that be? ...

Things I Learned - 17 May 2026

This week, I learned: I had GPT-5.5 and Opus 4.7 analyze a few of my conversations and learnt that I need to ask myself: ā€œWhat must they take away? What must you take away?ā€ in my conversations. That lets me speak with intention rather than instict. (Instinct has its place. I happen to over-use it.) Turns out there are several well-established taxonomies. It makes sense to align with these. Linked data is powerful and AI makes linkage easy. General Knowledge: Wikidata, DBpedia, YAGO. People: VIAF, ISNI, ORCID, LC Name Authority, GND. Places: GeoNames, Getty TGN, ISO 3166. Organizations: LEI, ROR, Wikidata. Books/Media: Open Library, WorldCat, MusicBrainz, IMDB. Chemicals/Biology: PubChem, ChEBI, GBIF, ITIS. Legal/Units/Math/Events: EuroVoc, QUDT, OEIS, PeriodO, etc. BitWarden supports a bw CLI that seems handy for quick CLI access to passwords. It’s a step towards me moving away from saving passwords unencrypted on my local file system. Singapore has banned prediction markets like Polymarket and Kalshi. Pity. I was hoping to use AI coding agents to play them. Yahoo flipbook.page is a fascinating generative UI exploration. It’s a visual browser, i.e. it generates an image based on text, you click anywhere, it generates an image interpreting based on where you clicked, and so on. A very different style of exploration! Vercel’s deepsec uses Codex / Claude to search for vulnerabilities, but ā€œscans can cost thousands or even tens-of-thousands of dollars for large codebasesā€. When I charge my Lenovo Thinkpad (P1 Gen 7) with the 170W charger that came with the laptop, it delivers ~60W of power to the battery, charging the laptop in about an hour. A 65W laptop delivers half the power and takes twice as long.

How I use Local MCP

I’d love for Claude or ChatGPT to answer questions like: What meetings am I not setting up that I really should be? or: Based on my activities since 9 May 2026, what should I blog about? or: Who in my professional life most deserves an unreasonable gesture? From data. My files, emails, calendar, contacts, transcripts, blogs, notes, code, browsing history, logs, random Markdown files I forgot I wrote. Hence, a Local MCP. ...

Google Meet captions as a local transcript recorder

I’m a man of simple needs. All I want is: when I’m on Google Meet, I turn on captions. I wanted to click a bookmarklet and save those captions into a local Markdown file. (So that an AI agent can guide me from it.) Hence, Google Meet Captions. The code is in gmeetcaptions/. Drag the button to your bookmarks bar. Join a Meet. Turn on captions. Click it. You get a tiny panel with two buttons: Copy and Start Recording. ...