2026 2

Things I Learned - 12 Jul 2026

This week, I learned: How to become an applied AI engineer is a concise, well-written, and suprisingly current summary of what AI engineering is. Xinjiang seems to be China’s Kashmir problem. Not quite, but similar. Analogies for how forward deployed engineers work: It is like a food truck that brings and serves home food while building a kitchen and restaurant around it. It is like setting up a field hospital: patients are treated from day one, while the equipment and procedures are built around the live work. Froghoppers excrete ~300x their weight daily. ChatGPT There’s a growing shift away from AI-written commit messages, e.g. Kenton Varda. I compared my human written commit messages vs AI-generated commit messages and the AI-generated ones are less helpful. Finally, GPT live gets an update and the new speaking model can delegate to GPT 5.5 when required. I tried it once today, to plan for a teacher workshop, and it was fairly good. It tends to begin with “Hmm” like it’s thinking, which feels comforting. Using a Unicode character like 🟢 is unusually low-risk across file systems today. It works well across OSs, mobile, ZIP, attachments, file share systems, etc. Some old apps might have trouble, but for storing and sharing, it’s fine. I’ve been using Unicode symbols like these a lot in my notes, and extending to file names feels like a natural next step. Though swimming gets the most Olympic medals (11%), for a country chasing its first medals, 78% of first-medal breakthroughs came from Athletics, Wrestling, Shooting, Boxing, Judo, Weightlifting, or Taekwondo (which are 44% of medals) - where single athletes can win without a support ecosystem. ChatGPT JMFL accidentally emailed several people a letter intended for their brokers. It roughly said: “Many of you are recording client calls. That’s a regulatory risk. If you keep doing this, we’ll hold your payments, even fire you.” Several Smart TVs have software that let your TVs act as proxies for data collection companies. Include Security MapDraw is a convenient tool to annotate maps (e.g. routes, boundaries, places) and share or download it. There seems to be no way to edit the “About” message on WhatsApp Web. Though the help suggests steps, and the “About” mood/status is visible, there’s no way to edit it. (Editing on the phone works.) Cloudflare optimised a reader component by sometimes letting the input buffer fill fully. This inadvertently introduced a hard to reproduce race bug because the producer would close the socket if the buffer was full. The producer bug was old (it didn’t check if a flush succeeded or not) but was never visible since the readers never let the buffer fill in the past. Cloudflare A neofirm is a start-from-scratch AI-native business, e.g. Crosby’s AI-first law firm. An AI rollup is where a company buys small traditional firms and AI-enables them - like General Catalyst proposed. AI SaaS is selling AI agents to services firms. Give people free platforms and collect their data. Learn the supply-demand network patterns, what pepole value, and add value-added services. Claude Code checks if you’re working behind a Chinese corporate domain - somewhat sneakily - by changing an apostrophe or slash in the date to visually similar Unicode. Claude Code Is Steganographically Marking Requests You can use the Kaggle CLI via Codex to solve Kaggle problems. (AutoKaggle automates it - but is 2 years old.) But, like GitHub bounty hunting bots, we will probably have a Kaggle bounty-hunting bot ecosystem - maybe already do. OpenSubtitles2024 and subscene are large pre-AI subtitle datasets with a 2024 cutoff. IndicDialogue is a 7.7K OpenSubtitles snapshot of Indic language SRTs. The OpenSubtitles API lets you search by IMDb/TMDb ID and is up-to-date. A soup spoon is better than a table spoon (for soup), though both carry about the same volume, because you can fit a soup spoon it fully into your mouth (a table spoon is too long) and this reduces spilling. Here’s a sign of accelerating AI progress. I used to critique outdated techniques by saying “This feels like a 20th century approach.” Then “This feels like a 2010s solution.” Recently, “This is SO 2025-ish.” Now, “That’s Q1 2026. It’s Q2.” The 7-day week emerged from the Hellenistic planetary week and the Jewish week (not astronomy based), which Rome adopted, then spread by several routes to India, China, and worldwide. Unlike the astronomical year and month, the week is just a convention. Egypt, China, and Athens grouped days in tens; Etruria and Rome used 8-day market cycles; West Africa used varied cycles; Java used five days; Mesoamerica used 13- and 20-day cycles. Gemini I met an ex-photographer and learned that photography is another profession where technology (mobile cameras) squeezed the middle. Generation (taking good pictures) became cheap. Value moved upstream (direction), downstream (selection, editing, album design), and into niches (forensic, industrial, sport/event photography). Looks like Claude favors Claude Code. Might not be intentional, and just a result of training more on Claude Code data, but it does look like a network effect that could weaken open harnesses. Armin Rocher

Things I Learned - 04 Jan 2026

This week, I learned: A bunch of new CLI tools I found via awesome-cli-apps that I’m likely to use. fselect 4,374 ⭐ Dec 2025 - Find files with SQL-like queries. mise x ubi:jhspetersson/fselect -- fselect 'path, name, size from . WHERE name = "*.md" AND size < 1000' git-standup 7,805 ⭐ Jul 2025 - Recall what you did on the last working day. npm install -g git-standup && git standup litecli - SQLite CLI with auto-complete and syntax highlighting. uvx litecli mycli - MySQL CLI with auto-complete and syntax highlighting. uvx mycli pgcli - Postgres CLI with auto-complete and syntax highlighting. uvx pgcli fkill-cli 6,966 ⭐ Nov 2025 - Simple cross-platform process killer. npx -y fkill-cli fkill :8000 mlt 1,709 ⭐ Jan 2026 - Command line video editing. sudo apt install mlt xxh 5,870 ⭐ Sep 2025 - Bring your favorite shell wherever you go through SSH. uvx --from xxh-xxh xxh user@host epr 1,356 ⭐ Feb 2023 - Command line ePub reader. npx -y --package epr-reader epr tunnelmole-client 1,759 ⭐ Jun 2025 – ngrok alternative. npx -y tunnelmole 8000 localtunnel 21,822 ⭐ Aug 2025 – ngrok alternative. npx -y localtunnel --port 8000 svg-term-cli 4,168 ⭐ May 2024 - Record and replay terminal sessions as SVG animations. npx -y --package svg-term-cli svg-term pageres-cli 1,732 ⭐ Sep 2025 - Capture website screenshots. npx -y pageres-cli example.com 1366x768 gita 1,816 ⭐ Nov 2025 - Manage multiple git repos side by side. editly 5,259 ⭐ May 2025 - Declarative video editing. np 7,661 ⭐ Nov 2025 - A better npm publish. ffscreencast 1,816 ⭐ Jul 2024 - A ffmpeg screencast with video overlay and multi monitor support. beets 14,504 ⭐ Jan 2026 - Music library manager and tagger. uvx --python 3.12 --from beets beet import /path/to/music slides 11,065 ⭐ Aug 2024 - A markdown presentation tool. gotty 19,285 ⭐ Aug 2024 - Share your terminal as a web application. The day-fine system fines people by severity of crime (# of days) and their income (daily disposable income). Finland, Sweden, Germany use it. It’s equal deterrence and more state tax, but needs good data & enforcement, cultural acceptance, and similar income streams (income vs assets, salary vs freelance, …) Claude LLM evals rarely pass all the time or fail all the time. Either would be a good signal, but results are usually mid-way, which can make evals a bit frustrating. Will Larsen A smart way to handle large context and compaction: pass any large input (even text) as a file and always provide file tools to the agent. After compacting a conversation, also pass the conversation history as a file! Will Larson Anthropic’s API lets you upload custom skills and use them via the API. You can share these across the organization. Modern HTML has a huge number of of useful attributes and some elements I knew little about. Most of these improve the user experience, especially on mobile devices. Add popover and popovertarget= to associate elements with popovers. This can replace tooltips, dropdowns, menus, toasts, etc. Add formmethod="dialog" to forms inside <dialog> elements to close the dialog instead of submitting. Add name= attribute to details for accordion-like behavior Add loading="lazy" to images and iframes to load only when user scrolls to them Add fetchpriority="high" (or low) to image, script, link rel=“preload” … to prioritize loading Add inputmode= to inputs for better virtual keyboard experience. Values can be text, decimal, numeric, tel, search, email, url. Add autocomplete= to form inputs for better autofill experience. Values are extensive and multiple values are allowed. E.g.: name, email, username, new-password, current-password, organization, street-address, postal-code, country, tel, url, cc-number, cc-exp, … Add list= to inputs to associate with a <datalist> for suggestions/autocomplete. Add autocapitalize= to inputs and textareas to control capitalization behavior. Values: off, none, sentences, words, characters. Add enterkeyhint= to inputs and textareas to customize the enter key on virtual keyboards. Values: enter, done, go, next, previous, search, send. Add contenteditable="plaintext-only" to disable rich text formatting on editable elements Add inert to disable user interaction. Useful for modals to disable background content. Add form= to associate inputs/buttons with a form outside the form element. Add download= to anchor tags to suggest file download with a specific filename. Add capture="environment" to file input to directly open the outward facing camera/mic on mobile devices. "user" opens the inward facing camera/mic. Use accept= values of audio/*, video/* or image/* to specify media type. Add spellcheck="false" to disable spell checking on inputs or textareas, e.g. for code snippets. <dialog>: for native modals, popups, etc. Methods: show(), showModal(), and close(). <meter>: for displaying scalar values within a known range, e.g. disk usage, battery level, etc. <progress>: for displaying progress of a task. Similar to meter but indicates progress rather than a static value. <track kind="captions">: for adding captions/subtitles to <video> elements. <data value="...">: to capture values in a more query-able way than data-* attributes. Grok Voice Agent API tops the speech-to-speech quality benchmark and is pretty cheap at 5c/min ($3/hr). The Collider Bias: when you analyze a subset, you can get wrong correlations. For example, analyzing top performers can show that performance drops with time - whereas, if you pick everyone, performance improves with time. It’s similar to the Simpson’s Paradox: combining groups can reverse trends. Ethan Mollick fresh is a TUI text editor that I’ve replaced micro with (for now). It has menus and mouse support which shrinks the learning curve. It’s also a single Rust binary. Small Wins Every Day: 100 Powerful Ways to Transform Your Life and Health by Luke Coutinho recommends compounding small habits. Claude Small compounding wins make the brain feel less bad about losing. Continous wins make us feel good. So they’re more likely to sustain. (Atomic Habits / Tiny Habits) What works: Breath control, fasting, regular sleep, keep moving, etc. The Tell-Tale Brain: A Neuroscientist’s Quest for What Makes Us Human by V.S. Ramachandran expands on Phantoms in the Brain. Claude Mirror neurons fire BOTH when we do something OR when we see someone do it. That’s how we learn skills & feelings by imitation. We’re not born with this. They’re formed with practice in childhood. Synesthesia cross-wires sensory inputs, e.g. seeing colors when hearing sounds. When shown a curved vs jagged lines and asked to name them bouba or kiki, 98% name the curved one bouba, mapping the sharp “kiki” sound to the sharp shape. This may partly explain why some people are more artistic, how language evolved (and similarly), and why marketing logos work. He proposes 8 laws of neuroaesthetics as starting hypotheses for understanding art and beauty: Peak shift. We’re attracted to exaggerations. Caricatures, exaggerated feminine curves in sculpture, cubism, super-villains, stereotypes. Grouping. We like to find patterns. E.g. melody from notes, faces from pixels, plots from events. Contrast. We prefer edges to surfaces. E.g. outlined cartoons, silence before a drop in EDM, Holmes vs Watson. Isolation. Removing context helps focus. E.g. sketching, minimalism, unplugged music, solo music, theater spotlight. Perceptual problem solving. We relish a LITTLE effort. E.g. negative art, stereograms, puzzles, mysteries, plot twists, optical illusions. Symmetry. We like balanced forms. E.g. symmetrical faces, architecture, mandalas, poetic justice, verse-chorus-verse, rhymes, plots ending as they began. Abhorrence of coincidence. Everything has a cause. E.g. need for alignment, pareidolia (seeing faces in clouds), Chekov’s gun, deus ex machina. Metaphor. We understand new things via familiar ones. E.g. allegories (Animal Farm is about communism, not pigs), leitmotifs (music BECOMES a character, e.g. Darth Vadar’s march). Phantoms in the Brain: Probing the Mysteries of the Human Mind by V.S. Ramachandran argues we do NOT know ourselves and rewiring our brains can help/hurt. Claude You truly understand something only you observe how it breaks. Brain damage patients reveal how the brain constructs reality. The brain has a “map” of the body. When we lose an arm, it rewires it to adjacent areas, e.g. face. Touching the face triggers phantom sensations in the missing arm. Mirror box therapy works. Have patients put their good arm in a box with a mirror, so it looks like the missing arm. Moving the good arm tricks the brain into thinking the missing arm is moving, relieving pain. The brain has a “model” of the self and reality. If the model is wrong, we get illusions/hallucinations. This is BIOLOGICAL. Mrs Dodds was paralyzed. When asked to touch her nose, she said “I am”. When shown her arm, she said “I don’t feel like it.” Her brain was damaged preventing her from updating her model of self. (Anosognosia) Not My Hand Error damages the body map and deletes an arm from the model. Brain sees the arm but decides it’s someone else’s. (Somatoparaphrenia) Imposter Error breaks the wire between recognition and emotion. We see familar people, don’t feel anything, so decide they’re imposters. (Capgras Delusion) Everyone is Disguised Error strengthens the recognition-emotion wire. We feel strong emotions to strangers, inventing a conspiracy. (Fregoli Delusion) Walking Corpse Error disconnects feedback from the body and emotional centers. We no longer feel alive. So the brain concludes we’re dead. (Cotard’s Syndrome) Somewhere Else Error damages sensory data to place tag mapping. We see medical equipment but feel safe, so we must be at home not a hospital. (Reduplicative Paramnesia) Timeline Error deletes short term memory (alcoholism, malnutrition). We can’t remember yesterday, so we pick the closest we remember. (Korsakoff’s Syndrome) Meaning of Life Error strengthens “what’s meaningful” signals, so we see divine intervention in rocks. (Geschwild Syndrome) The cortex does not know how it does stuff. It invents stories to explain actions after the fact. Blindsight. Despite visual cortex damage, patients can use a different route (reptile vision) from the eye into the brain to “see”. They’re unaware of this. Procedural memory. Patients with short term memory learn new skills (e.g. mirror drawing) but have no memory of learning them. The Libet Delay. Consciousness lags reality by 500ms. We think we decide to move, but the brain has already started moving before we become aware of the decision. The Low Road. Thalamus -> Amygdala is ~12ms for instinctive reactions (fear). Thalamus -> Cortex -> Amygdala is ~30ms for conscious reactions. We feel fear before we know why. Our definition of “self” is an amalgamation of occupying a body, having a history, making decisions, what we value, etc. Damage to different areas breaks different parts of this model. Entangled Life: How Fungi Make Our Worlds, Change Our Minds & Shape Our Futures by Merlin Sheldrake questions the boundaries of identity and intelligence. Claude Fungi form vast underground networks (mycelium) that connect plants, trees, and ecosystems. They exchange nutrients, information, and even memories across species. In fact, the largest organism on Earth is a honey fungus in Oregon spanning 2,400 acres. They can decompose almost anything: petroleum, pesticides, plastics, explosives, even nuclear waste. They can filter air & water, detoxify soil, and make plants resistant. (But we don’t know how to do this at scale without harming ecosystems.) We’re all symbiotic organisms. So what defines “self”? Lichen are a combination of a fungus, alga, and a yeast. The fungus provides structure, the alga photosynthesizes, the yeast protects with acid. The combination produces a long-lived, leafy and resilient “organism”. Human gut bacteria influence our mood; skin bacteria clog pores against pathogens; mites in our eyelashes eat dead skin; mouth bacteria digest nitrates; bacteriophages attack viruses. Intelligence emerges in many ways - not just through neurons. Fungi solve mazes. Slime molds find shortest paths. Termites build breathing mounds. Honey bees communicate location via dance. Have we colonized the planet, or have dogs, wheat/corn, fungi, … colonized us? The Demon-Haunted World: Science as a Candle in the Dark by Carl Sagan calls for a more scientific temper in daily life. Claude In the 1990s, the alien abduction phenomenon was rampant. Paralyzed in bed, taken to spacecraft, remember via hypnosis. this is sleep paralysis, when brain partially wakes while body is in REM sleep. 5-40% of people experience it at least once. It led to witch burning, satanic panic, and now, alien abduction stories. Same phenomenon, different interpretations based on culture and time. This is a common pattern when communities face uncertainties: plagues, famines, social change. Someone proposes a non-falsifiable explanation with a scapegoat, gains power, and fear spreads. Fake news, conspiracy theories, cults thrive in such environments. We evolved for explanations. That bush sound must’ve been a lion. The cloud is a dragon. Someone caused the plague. It takes effort to fight it. Check for Evidence: Is it independently verifiable? Good data? Check for Logic: Is it falsifiable? Logically sound? Check for Bias: What are alternatives? What’s my/their motive? The Stuff of Thought: Language as a Window into Human Nature by Steven Pinker suggests that all languages has common patterns and that the brain packs complex ideas into this simple structure for transmission. Claude Verbs across languages typically cover cause of motion (threw), manner of motion (walked), state (broke), possession (gave), force (hit). (But culture also shapes these.) Spaces is used as a metaphor for many things. Markets go up, people grow close, time flies. (But the Aymara of the Andes say the future is behind and the past is in front.) Names are labels for people, not descriptions. (But some names DO describe, e.g. Potter, Mumbaikar, von Neumann) Indirect speech saves face, e.g. “Could you pass the salt?” not “Pass the salt”. (But culture matters, too.) Swear words are typically about sex, excretion, religion, slurs, diseases (“pox”), … and stored in the limbic system (an ancient portion) not the language circuits. They’re emotional outburts, closer to laughing or screaming than speaking. (Mostly true.) Verbs assign cause, agency, responsibility, … e.g. killed vs died, allowed vs made, etc. Language is made of core concepts: space and motion, time, causation, possession and transfer, goals and intentions. (Unproven. Usage based linguists disagree.) The Blank Slate: The Modern Denial of Human Nature by Steven Pinker reiterates the modern belief that genetics determines part of our psychology. Claude Western philosophy says we’re born a blank slate (Tabula Rasa), are naturally good but corrupted by civilization (Rousseau), and the mind is separate from the brain (Descartes). All three are wrong. 🟢 Identical twins raised by separate families shared characteristics, e.g. wearing rubber bands around wrists, flushing toilet before & after, naming sons James Allen / James Alan, volunteering as firefighters, … Research shows 40-60% of variation in psychological traits is accounted for by genes. 🟢 Babies have innate capacities for language, number sense, understanding of physical objects, and basic moral intuitions. 🟢 The brain is the same as the mind. Damage to brain = damage to mind. 🟡 Pinker claims that our mind was shaped by evolution, e.g. men take more risks because it got them more mates. This is unproven. 🟡 Pinker claims violence has reduced over time. This is unproven. 🟡 Pinker cites Harris’ research that parenting style has little effect. This is unproven. How the Mind Works by Steven Pinker argues that the mind evolved as tools to solve specific problems. Claude The brain is literally a computer: a bunch of neurons that fire based on a function of the inputs. It evolved into a mix of special-purpose tools, not general purpose. Facial recognition, language, object detection, spatial navigation, social cues, etc. (But in reality, it may be a mix of special + general purpose. Degree of specialization is unknown.) Some of this is complex. E.g. each eye captures 2D, but we use complex cues like shading, parallax (closer things move more) and steropsis (difference between what each eye sees) Emotions evolved for survival. (Basic emotions have strong evidence: fear, disgust, revenge, … but complex ones like love, sacrifice, social emotions are unproven.) We prefer closer kin over distant kin. (But culture & context play a part, too, and it’s not the sole factor.) Art may have evolved accidentally - exploiting things that evolved for other purposes. (But it may be genuine adaption, e.g. for sexual selection or group bonding. Divided opinions.) Men and women evolved differently. Men prefer things, women prefer people. Men do better in 3D mental rotation. Men have a wider IQ distribution (but cultural factors amplify this.) Also a few contested claims: Men are better at mathematics (this has narrowed and may be cultural). Women are better at language (small difference). Testosterone masculinizes the brain (unclear if it’s behavioral or bioliogical.) The Language Instinct: How the Mind Creates Language by Steven Pinker argues that language is inborn, universal, and an evolutionary advantage. Claude Deaf kids in Nicaragua spontaneously invented their own sign language. Younger kids who copied them added grammer, tenses, and abstract concepts. This is atypical: we learn language by “growing it”, unlike skills which we copy. In fact, we over-apply grammar. “I goed to the store.” Pinker argues this is inborn. The Language Myth (Evans, 2014) argues lack of evidence. It’s unproven if it’s emergent or inborn. He claims all human grammar is roughly equally complex and roughly equivalent. (Vocabulary grows by need.) But there’s no proven “universal grammar” we know of yet. Grammar does have genetic pinnings. E.g. A mutated FOXP2 gene causes grammatical impairments. It doesn’t affect grammar as such, but fine motor control of mouth and tongue. But still, there’s some evidence. The strong Sapir-Whorf hypothesis that “language determines thought” is not true. We can think concepts that don’t have words. The weak version “language influences thought” has some evidence. Russian speakers who have separate words for light blue and dark blue can differentiate them faster. People with separate words for north/south (vs left/right) have better spatial orientation. He claims language provided us an evolutionary advantage. Evidence for this is pending. Metabolical: The Lure and the Lies of Processed Food, Nutrition, and Modern Medicine by Robert H. Lustig gives good diet advice but not so good scientific/economic ones. Claude There’s a trend of “lean diabetes” - diabetes in lean people. BMI isn’t a reliable biomarker for diabetes risk. (But it’s better than the book suggests.) Chronic diseases are due to cell dysfunctions, all can be improved with diet (but not as much as the book suggests.) “Fructose is the main villain”. But studies don’t find fructose doing more harm than anything else. “Protect the liver.” Less sugar, alcohol, and other toxins. (True) “Feed the gut”: More fiber. Both Keto and Vegan diets do this. (True) “Whole foods » highly processed foods”. (Very true - strong evidence.) Big Food, Big Pharma, Big Govt have low incentives to promote this. (Partly.) Sometimes, I need a browser with a custom DNS mapping to temporarily override DNS, e.g. when I have a dev version of a site on one IP and a production version on another. In that case, using something like chrome --host-resolver-rules="MAP www.s-anand.net 192.254.190.216" --user-data-dir="/tmp/chrome-dev" works well. You can replace chrome with microsoft-edge or opera or anything Chromium based. Build: An Unorthodox Guide to Making Things Worth Making by Tony Fadell suggests becoming the KIND of person who makes worthwhile products. Claude Everything you need to know about success, you learn from failure - if you pay attention. Products take three iterations before they succeed. Prototype, product market fit, business model. IPhone. IPod. Windows. Nest. All followed this pattern. Budget for it. Create the story for the product WHILE, not after, you build it. Bake it in. Differentiate between assholes based on what they care about. Power? Ego? Mission? The third type is worth tolerating, even getting behind. Your next idea is probably hiding in plain sight, annoying you. Thermostats did that to Fadell. Ugly, outdated, and controlling 10% of US energy. He built Nest. Quit when you know what next. Not just when you don’t like where you are. We’re wired to ignore failure to protect self-worth. We do that through cognitive biases. Gemini Devaluation (sour grapes): I never wanted it anyway Externalization (not my fault): It was an unfair test. The market is irrational. Virtue signaling (moral high ground): Rich people are unhappy. I don’t play politics. Sabotage (self-handicapping): I didn’t study. I did this last minute. Dissociation (fatalism): It happened for a reason. Intellectualization (false pivot): I learned so much. Same as Ever: A Guide to What Never Changes by Morgan Housel suggests doubling down on timeless principles. Claude Random luck drives many outcomes. The kamikaze that saved Japan from the Mongol invasion. The East River fog that saved George Washington’s army. Penicillin. Hilbert and Einstein almost raced to formulate the final equations of general relativity after Einstein presented his incomplete theory in 1915 summer. Einstein won by cramming - just like students today. Technology changes. Psychology does not. Risk is what you don’t see. Blind spots. Prepare using margins of safety / optionality, distributed failure points, survival > success, … Stories > Ideas. Stories are how our brains work. They’re leverage for ideas. Wrap EVERYTHING in a story. High expectations = Low happiness. So, visualize failure/disaster, practice gratitude, compare downwards. Compounding is magic. In any asset: money, skills, relationships, health, … So, automate the decisions, be patient and don’t interrupt. Success carries the seeds of failure. The innovator’s dilemma, the Malthuian trap, or the Dynastic cycle. So, be paranoid, stay simple, kill cash cows, practice discomfort. Why We Die: The New Science of Aging and the Quest for Immortality by Venki Ramakrishnan says that there’s no reason we have to die at our current age. But we don’t have proven ways to extend life yet. It’s also not clear if/how we should. Claude Evolution has optimized us for reproduction. After reproduction age, it doesn’t care. “Death is the price we pay for sex.” Telomeres are DNA sequences at the end of chromosomes that shorten with each cell division. When too short, cells die (apoptosis) or become zombies (senescent). These zombie cells secrete toxins that inflame / damage nearby cells. When young, our immune system clears them out. With age, they accumulate. With age, mitochondria (cell powerhouses) become less efficient. With age, the quality of proteins we make decline. They start clumping (like scrambled eggs), leading to Alzheimer’s, Parkinson’s. Some animals live longer than expected. There’s no reason our life span HAS to be what it is. The Naked Mole Rat lives 30+ years (10x longer than mice) without cancer, and can repair their own tissues. The Greenland Shark lives 400 years. The Hydra and the “Immortal” Jellyfish can regenerate when some parts are chopped off. Their chance of dying doesn’t increase with age. But there’s a lot of hype. Current methods are far from proven. Telomere-extending supplements are not FDA approved. They might work on mice, not men. Rapamycin helps mice live longer. But suppresses immunity, so risky for humans. Senolytics kills senescent cells. They might work. Yamanaka won a Nobel prize for turning adult cells into stem cells. But it could cause cancer. Injecting young rats’ blood into old rats helps the old rats, but old blood hurts young rats. So: diet, exercise, and sleep Also: longevity will help the rich more, increase stagnation, and what’s the point of living longer with an aged brain? The Happiness Hypothesis by Jonathan Haidt blends ancient wisdom with modern philosophy. Claude Happiness = Set point + Circumstances + Voluntary activities Set point has ~50% impact. Haidt suggests this doesn’t change. Research shows major life events can shift it a bit. Circumstances: We adapt to some stuff (money, house, etc.) but not to others (commute, noise, lack of control, relationships) Voluntary activities have variety that we don’t adapt to. Meditation, learning, exercising, … Modern CBT is similar to Stoicism. Events don’t upset us, our thoughts about events do. So change the thoughts. ACT (Acceptance and Commitment Therapy) is like Buddhism which suggests observing, not changing, the thoughts. CBT seems better for acute / specific stuff, logical people or beginners. ACT seems better for chronic / vague unease, grief, etc. Brains rationalize more than reason. There are more signals INTO the prefrontal cortex (PFC) than out of it. We make up stories to justify our actions. This evolved to make us look good socially. Adversity can help but only if it’s significant but not overwhelming. It takes time and support to learn from adversity. Works only if we interpret and integrate it well. Quality of relationships is a strong driver of happiness. Something the Stoics and Buddhists didn’t emphasize as much as Confucius did. Reality is Not What it Seems: The Journey to Quantum Gravity by Carlo Rovelli shares his theories. Mainstream but not proven. Claude In quantum mechanics, particles can interfere with themselves and their position “snaps” only when observed. Multiple theories interpret this: Copenhagen interpretation: Observation is special and collapses the wavefunction. But what counts as observation? Bohm’s interpretation: Particles “surf” the wave. Waves interfere, but particles only take one path. But needs non-local hidden variables. (Testable) Objective collapse: Wafe functions collapse when too “big” or complex, even if no one’s looking. But how big? (Testable) Many worlds: Sever possibility creates a parallel universe. But … Occam’s razor? QBism: Wavefunction is just our knowledge, not reality. Particles have properties, measurement updates our knowledge. Rovelli’s Relational quantum mechanics: position, momentum, etc. are relative. It has position relative to an observing device/particle. No absolute state. Reality literally is perspective. Loop quantum gravity: Aims to bridge general relativity and quantum mechanics by modeling spacetime as discrete loops. Far from proven, but possible. Space has a smallest unit - Plank length (~10^-35 m). You can’t subdivide space infinitely. Space is made of atomic “loops” that spin. They’re connected to form a fabric (“spin foam”). They’re not “in” space. They ARE space. They interact with matter/energy to create gravity and evolve over time. Predictions: Black holes don’t have singularities, since you can’t have infinite density. Entropy of black holes comes from the number of ways loops can arrange on the event horizon, so it’s proportional to surface area, not volume. Time doesn’t exist fundamentally. It emerges from change and relationships between things. Again, not yet proven, but possible. For example, the Wheeler-DeWitt equation in quantum gravity has no time variable. It’s a snaphot of the universe across all time. The universe is a giant graph of relationships between quantum events. Time is just how we order these events from our perspective. Implications: there’s no master clock and the present is local. Duration only emerges at larger scales, like temperature emerges in thermodynamics. The Emperor of All Maladies: A Biography of Cancer by Siddhartha Mukherjee. Claude Cancer has always existed. We just didn’t live long enough for it to affect enough of us for most of history. In 1890s, Halsted developed radical mastectomy - removing the breast + chest muscles + lymph nodes … to prevent spread. It didn’t improve survival but disfigured. In 1947, Farber injected cancer children with a drug that blocked folic acid (which cells need to grow). Tumors shrank, but relapsed. This was the first chemotherapy. In 1950s, cigarettes were found to cause lung cancer but the tobacco industry delayed regulation for decades. In 1971, Lasker & Nixon declared “War on Cancer” with $100m funding. (Impact: increased awareness, more research, not cure.) In 1970s, we found that the virus that caused cancer in chickens carried an “oncogene” that caused uncontrolled growth. Hence, cancer isn’t a virus, but a genetic mutation. Also, the p53 gene that suppresses tumors is mutated in half the cancers. In 2001, FDA approved Gleevac, a drug that specifically targets a specific protein that causes a certain cancer (chronic myeloid leukemia - CML). This was the first “targeted therapy”. In 2011, FDA approved ipilimumab, a drug that blocks CTLA-4, a protein that stops immune T-cells from attacking tumors. This was the first “immunotherapy” (by James Allison) which offers long-term protection. But it works only for some cancers, some patients. In 2018, Alison shared a Nobel prize with Tasuku Honjo, who discovered another immune checkpoint PD-1. Tumors produce PD-L1 that binds to PD-1 on T-cells to turn them off. Drugs that block PD-1 or PD-L1 unleash T-cells to attack tumors. In 2018, the Cancer Genome Atlas was published, showing that even the same cancer (e.g. lung) has different mutations in different patients, requiring personalized treatment. In 2017, FDA approved a CAR-T therapy for children with acute blood cancer. We extract a patient’s T-cells, insert a gene with a receptor that recognizes specific tumor cells, grow them by the billions, and infuse them back. But there are severe side effects and it doesn’t yet work for solid tumors. In 2024, FDA approved a cellular therapy for skin cancer. We extract the T-cells INSIDE the tumor (that recognized the cancer but were overwhelmed), grow them by the billions, and re-infuse them. In 2024, we’re exploring AI-powered analysis of blood tests to find DNA fragments of several types of cancer - “liquid biopsy”. It’s early stages. The Song of the Cell: An Exploration of Medicine and the New Human by Siddhartha Mukherjee. Claude Metaphor: Cells as autonomous “citizens”. Cancer is a rogue cell rebellion. Immune system is law enforcement. Type 1 diabetes is friendly fire. We’re growing from fixing organs (surgery) to chemistry (drugs) to cells (e.g. bone marrow transplant, IVF - we’re in the early stages). E.g. CAR-T Therapy: Extract T-cells, genetically modify them to recognize cancer, re-inject. But it’s costly, severe side effects, works mainly for blood cancers. He predicts that we’ll have: Prediction: Lab-grown organs from patients’ cells. (Growing is easier than organizing into functional organs. We may be a few decades away.) Prediction: Gene editing & cell therapies will converge. CRISPR edits cells that we transplant back. (This was approved for sickle cell anemia in 2023. Seems promising.) Prediction: Anti-aging cellular medicine. Senescent cell research and telomere biology have progressed, but this is a hyped field in early stages. Some of these will likely be expensive and inaccessible to most people, at least at first. Recollecting something Mr KP Krishnan told us in 2000 about the 1991 deregulation (fact-checked). “A meeting happened in Mr. Narasimha Rao’s house, where he emerged from a bath, toweling himself. His immediate advisors told him that we had only a few weeks of cash left and that we would need to accede to the World Bank’s request, but that the parliament would likely not agree. So, instead of risking a vote on a new law, they decided to bypass Parliament’s immediate approval entirely. They tabled the reforms as a ‘Statement of Industrial Policy’ right before the lunch break, just hours before the big Budget speech. Since it was a ‘Statement’ and not a ‘Bill,’ it didn’t require a vote to pass. It fell under executive powers and could be legislated later. By the time the opposition realized the ‘License Raj’ had been dismantled, they were already distracted by the Budget presentation that evening.” Outcomes over Output by Josh Seiden suggests that between output (e.g. features) and impact (e.g. revenue) lies outcome (e.g. user engagement) - leading indicators that you can organize around. Claude Ensure ownership of outcomes. Who owns increased checkout conversion rate? Payments, engineering, marketing, product, or UX? You may instead need small cross-functional activation, engagement, and retention teams. PM, designer engineer. Validate that outcomes lead to impact. This can be slow, and attribution is hard, but is important to continuously validate. Outcome change takes months, not weeks. So sprint using Now/Next/Later later roadmaps. As you learn, re-prioritize outcomes. Stakeholders want specificity. So quantify outcomes (+10% conversion) and timeframes (in 6 months). Stop experimenting and ship when you’ve validated the opportunity (customers need really connects to outcome) AND solution (feature really improves outcome). This is Torres’ Opportunity Solution Tree (OST). Change incrementally. If you’re running a feature backlog, continue. Add an “outcome hypothesis” field to each feature and create evidence. The Culture Map by Erin Meyer argues that cultural differences are practically alien languages. Claude There are 8 dimensions of culture. Communication: Low-context (precise, explicit, clear) like Americans vs High-context (implicit, layered, nuanced, between-the-lines) like the Japanese Evaluating: Direct negative feedback (blunt, honest) like the Dutch vs Indirect negative feedback (tactful, polite) like Thai or Japanese Persuading: Principles-first (deductive, theoretical) like the French vs Applications-first (pragmatic, practical) like Americans Leading: Egalitarian (flat organizational structure) like Swedes vs Hierarchical (respect for authority) like India, Nigeria, Japan, Korea Deciding: Consensual (group agreement) like Japanese vs Top-down (leader decides) like Russians Trusting: Task-based (trust through competence/reliability) like Americans, Germans vs Relationship-based (trust through personal connection) like Arabs, Chinese Disagreeing: Confrontational (open disagreement) like Israelis vs Avoids confrontation (harmony, save face) like Thais Scheduling: Linear time (one thing at a time, punctual) like Germans vs Flexible time (multi-tasking, fluid) like Indians Critique is that this is anecdotal, not research driven, stereotypical. Meyer’s aim is to sensitize. Action: Before meeting people, have LLMs plot their culture map and share advice.

2025 4

LLM creative tool capabilities

I asked the popular chatbots for creative ways to use tools they have access to. Here are the responses. I did not know ffmpeg could visualize audio via filters. I had a coding agent generate a dozen stunning visualizations of a 12 second clip and create a very interesting compilation video. This indicates that coding agents can be used to explore lesser-known features of complex tools like ffmpeg, and create impressive results with minimal human input. Effectively, discovering hidden capabilities of software through AI assistance. Enabling more creative uses of existing tools. This could be a powerful way to unlock new functionalities in widely used software. You have a container environment with a set of tools installed and you can run commands. Identify creative ways in which the tools you have access to can be used, combined, or extended to create new capabilities or powerful workflows that most people don't know about - perhaps that no one has thought of anyway. Begin by identifying strategies (e.g. single tool unusual use, e.g. ffmpeg to create visualizations from audio; or single tool interesting combinations of workflows, e.g. multiple ffmpeg visualizations + static titles strung together to form a collage / mix; or multiple tools combined in creative ways; or ...) Then apply the strategies to identify concrete ideas. Save it in an ideas.md and let me download it. I leave you to decide the length of the list but I want as long a list as possible. Fact-check by cursorily verifying the command options - by running and testing -- for capabilities you may not be sure of, etc. But no need to implement any of these. I will pick from these and ask you to implement later. BLOW MY MIND!! Expand to read their responses: ...

Things I Learned - 07 Dec 2025

This week, I learned: Pytest finally supports subtests in pytest 9.0.0+. Simon Willison From The Tim Ferriss Show: #837: How to Simplify Your Life in 2026 — New Tips from Derek Sivers, Seth Godin, and Martha Beck: Look for single decisions that remove hundreds of other decisions. Peter Drucker via Jim Collins. E.g. Work only on LLMs, no new books this year, … Derek Sivers: Simple is not easy. Interdependency is complexity. Assets are dependencies. Accumulating information, purchases, employees/helpers, relations, etc. adds dependency. That makes life harder, challenges identity. Interdependency may be desirable - but reduce it in specific areas, to specific extents, temporarily, etc. Question every assumption: “Do you really need it?” Here are some examples for me to try Derek Sivers has no monthly payments (including income) or receipts (no subscriptions) at all! His code has no external code dependencies at all, and is building a house from scratch. Seth Godin: Know WHO it (whatever you’re doing) is for. Focus ONLY on that audience. Did it matter to them? Ignore the bad feedback from the person it was never intended for. Never exceed a budget or deadline. When either runs out, you are done. Treat any Yes/No you say as FINAL. Skip meetings where a memo will suffice. Apparantly, nudges are not as effective as the book Nudge suggests. In fact, there seems to be no evidence for it if we adjust for publication bias (i.e. only publication-worthy stuff gets published.) The Behavioral Scientist # 71% of HTTP DDoS and 89% of network-layer—end in under 10 minutes. That’s too fast for any human or on-demand service to react. Legacy DDoS defenses have become obsolete. The most popular botnet, Aisuru, is pivoting to content scraping for AI projects. The vectors are cheap, insecure routers, e.g. from Indonesia. (Claude) This 5El AI Evaluation Workshop suggests 4 layers of evaluation for code: Syntactic Evaluation: Does it compile? Semantic Evaluation: Does it do what a good analyst / programmer would? Business Logic Evaluation: Does it do what a good business analyst / manager would? Human Alignment Evaluation: Does it do what a good coach / leader would? Julia Evans shares an ultra-clear explanation of the Git data model. What I learnt is that: Gathering feedback on docs (“What’s confusing? Any questions? What’s missing? Or wrong?”) for evidence-based updates. Julia Evans Git stores entire files each version, not diffs. Diffs are computed on the fly. Each commit has an author (who writes the code) and a committer (who checks it in). #TODO Why two fields? Branches and tags are both references to a commit. But branches are updated on commit, tags are not. The staging area is a separate data structure, the index. #TODO Why a different data structure? The reflog tracks all local “activity”. E.g. git reflog --date=iso To fuzzy-match 2 columns of text (e.g. customer names, product names, …) you need 2 things: A text matching algorithm (rapidfuzz, fuzzball, …) and/or semantic matching (e.g. embedding similarity) for pairwise similarity An assignment algorithm (e.g. Jonker-Volgenant, Hungarian, …) for 1-to-1 matches in JS or Python, WhatsApp backups on Google Drive can’t be downloaded, even if they’re unencrypted. ChatGPT. OpenAI finds that confessions as a training method reduces scheming, reward hacking, etc. It can be applied to models even now. This can (less effectively) be applied at inference time as well: Sample confession prompt: Did you fully address both the letter AND spirit of my question? List any shortcuts taken, corners cut, or ways you optimized for appearing correct rather than being correct. What did I actually want vs what you provided? Agents4Science is a Stanford conference where AI co-authored papers are co-reviewed by AI and selected for presentation. Video Buddha seems more a philosopher like Socrates (“Question what I say”) than a religious leader. # How did he spawn a religion? Interesting that both were within a few centuries of each other. Coincidence? Were there more like them around the same time? At other times? Some more new CLI tools I installed: fx: CLI JSON viewer. Sort of like less for JSON. Fast, intuitive. mdq: Markdown query tool YTScribe is yet another YouTube transcription service. Note to self, since I keep forgetting this: On Android Edge, select the new tab page, click on the 3 dots at the top right, and select “Recent tabs” to see tabs from other devices. edge://recent-tabs When evaluating an LLM’s biases or natural preferences, set temperature=1 for a representative logprob distribution. LLM Bias My ideal AI coding cycle looks like this: (Research, Prototype, repeat), Plan, (Code, Run, Test, Fix, repeat), Refactor, Post-mortem, Document. The AI coding trap is a very clear explanation of AI coding vs vibe coding. It visually explains how coding agents shrink coding time, not thinking / fixing time; how delegating with ownership is slower but more sustainable than delegating just easy tasks; and how AI coding is more like the former, while vibe coding is like the latter. Claude Agent Skills: A First Principles Deep Dive is a comprehensive documentation of how Claude Skills work. A bit too long but readable. Claude Code is a Beast – Tips from 6 Months of Hardcore Use has extensive suggestions for Claude Code - many of which apply to most coding agents. LMArena’s Code Arena evaluates models on agentic coding. Anyone can use it. It passes your task to two models and lets you compare their output. I tried building a “gibberifier” and discovered a new model, “robin” that’s certainly better than Kimi K2 and perhaps better than Gemini 3 Pro. Theory is that it’s an OpenAI model. Looking forward to it! ⭐ Based on Quantifying Human-AI Synergy by Reidl & Weidman #: Theory of Mind (ToM) is understanding that others have their own beliefs, knowledge, and goals (different from yours, may be wrong) and to use that to explain & predict their behavior. ToM and problem solving are distinct skills. ToM skill boosts AI collaboration, but not better problem solving! ToM isn’t a stable trait. It fluctuates from chat to chat for anyone. Implication: Design models & systems for clarity & collaboration, not just accuracy. Text Gibberifier adds lots of human-invisible unicode characters to text, making it harder for LLMs to read without affecting human readability. May be useful if you want to discourage LLM-processing of your content - but it feels like the anti-SEO of the future. The argument that technologically unemployed will find other jobs may not apply to general-purpose technology, e.g. electricity, internal combustion engine, maybe AI - technologies that can automate multiple sectors of the economy simultaneously. When one sector loses jobs, there may not be (in the short/medium term) other jobs to take up. Alex Imas + Claude History is filled with examples where technology enabled new art forms. Here’s my guess on what LLM image generation will enable: Synthetic memory: Photos of what you remember happening. Alternate history: Photos of events that never happened. AImoji: Instead of texting “I’m running late” the LLM generates you riding a snail through a traffic jam of alarm clocks. Personal signature styles: Not “paint like Van Gogh” but “paint like my grandmother’s kitchen memories filtered through anxiety.” Memes: “What does the Mona Lisa become after 100 generations of AI interpretation?” Improving Front-end Design through Skills shares a prompt to improve front-end code quality that would apply in most cases. I tweaked and added it to my skill list.

Evaluate technology

Evaluate technologies on criteria I care about. Evaluate ... - List all alternatives. - Evaluate them on: - Popular: e.g. # contributors / users - Modern: Updated recently (date of latest release) + regularly (# releases last 12 months) - Admired: e.g. community feedback, expert reviews - Features: breadth of current features - Momentum: how fast are new features being added - Focus: Whet are the recent contributions about? - Cost: Open source self-hostable > Liberal free tier > Low cost > Expensive (mention actual costs) - Docs: Clear docs, examples, tutorials, FAQ, changelog - Light: Low resource usage - Speed: Fast performance, throughput (benchmark if available) - Easy: intuitive, easy installation + usage - CLI tool additional checks: - Scriptable: extensive options for configuration, programmable SDK/API - CLI-configurable: Comprehensive configurability via command line options (without requiring config files) - Bundle: Single-binary > small bundle > large bundle - LLM model additional checks: - Quality: based on evals (name+date+link) - Context: input size, output size - Size: model size, memory usage - Library / framework additional checks: - Adoption: Rapid user growth & adoption in the last 6 months? - Plugins: size of ecosystem - Formats: breadth of input/output formats supported - Platform / services additional checks - Export: How easily, completely, and frequently can we export data in an open format? - Pricing: Is the pricing simple, clear and stable according to users? - Stability: High uptime, low latency, likely to be around for years - Support: responsive support, active community Recommend the top 3 options based on this evaluation. Be rigorous. **Verify and cite sources with dates.** Prefer primary docs, changelogs, and benchmarks. When unsure, state assumptions _up front_. If evidence is weak, **say so** and (if easy) propose ways to gather evidence. List the GitHub repo (if available) for EACH technology evaluated, sorted by stars. Double-check to ensure you don't miss any. Use this format: - [xojs/xo](https://github.com/xojs/xo): Opinionated, zero-config ESLint wrapper with strict defaults. Summary: delightful defaults and smooth “no config” UX; coverage derives from ESLint + curated plugins; development cadence modest; great if you want ESLint’s ecosystem without managing config. - [repo-name](https://github.com/owner/repo-name): 1-line description. Summary of evaluation. GENERAL PREFERENCES (use if applicable) - CLI > Web app > Native app - File formats: Fast + Popular > Open standards > Proprietary - Data-driven configuration/declarative approaches > imperative code - Modular > monolith - Declarative outputs - Browser-first JS + Python - Cross-platform - Stable APIs with migration path

Things I Learned - 20 Jul 2025

This week, I learned: Inevitablism is framing an argument as if it is the only logical choice in an inevitable future. Thereafter, the argument shifts to are there any alternative choices in that inevitable world, rather than whether that future is, in fact, inevitable. ⭐ LLM chat over data may leapfrog dashboards. This may be a trigger to kill redundant UI. A new wave of (liberal) colleges have emerged. Ashoka University, Krea, Plaksha (Mohali), Jindal University (Sonipat), FLAME University (Pune), Azim Premji University, Shiv Nadar University. Many of these accept IB students who are choosing to stay in India, instead of the earlier trend of studying abroad. xh is curl-compatible but adds JSON pretty‑print, colour, --table and can pass parameters like xh post :8000/api question='When is the ROE?' dasel is jq-compatible but supports YAML and TOML too lazygit is a 5-MB TUI that lets you stage/commit/push/diff in one screen eza is a modern ls replacement. I switched to this with abbr --add l 'eza -l -snew --git --time-style relative --no-user --no-permissions --color-scale=size' jless is less replacement for large JSON streams, with search & scroll jc is a JSON to table formatter uv cache prune removes only unused cache entries and saves a fair bit of space. Mine trimmed 85 GB. Claude Code settings are in ~/.claude/settings.json (personal) < .claude/settings.json (project) < .claude/settings.local.json (uncommitted personal) < CLI arguments. Explore model, permissions, env, forceLoginMethod. Ref #ai-coding Claude Code loads memory from ~/.claude/CLAUDE.md < .CLAUDE.md and from subdirectories when required. Run /init to auto-create it with repo-specific info! Mention @file to import. Beginning an input with # ... adds it to memory! Run /memory to view/edit memory files. Ref #ai-coding Claude Code lets you type \ then Enter at the end of a line to continue to the next line. Or, run /terminal-setup to bind Shift-Enter to insert a newline. #ai-coding Claude Code has built-in tools to read & write Jupyter notebooks (interesting), to run sub-agents (powerful), and to manage TODO lists (useful) Ref #ai-coding claude -p "query" runs the query and exits, making it a very powerful pipeline tool. E.g. cat stream.jsonl | claude -p "..." --output-format json --input-format stream-json --max-turns 3 --dangerously-skip-permissions Ref #ai-coding Claude Code has a /review command that requests a code review and a /pr_comments to view pull request comments Ref #ai-coding Claude Code lets you define custom slash commands at ~/.claude/commands/*.md < .claude/commands/*.md. Use @file to reference files, $ARGUMENTS for arguments, and ! for bash commands like DIR: !`pwd`. YAML frontmatter supports allowed-tools: and description: Ref #ai-coding You can drag & drop a screenshot or paste it into Claude Code! #ai-coding Claude Code lets you run /compact Focus on code samples and API usage (or mention it in CLAUDE.md) #ai-coding Claude Code activates extended thinking via these keywords: think < think hard < think harder < ultrathink Ref #ai-coding Claude Code lets you set up GitHub Actions via /install-github-app so that any mention of @claude in an issue or a PR will trigger a CI job that does what you suggest. An alternative to Jules or Codex #ai-coding Claude Code enterprise use is possible. It works with Google Vertex AI and Amazon Bedrock securely and supports usage monitoring #ai-coding Claude Code supports proxies and LLM gateways. The apiKeyHelper setting can dynamically generate API keys #ai-coding Claude Code costs ~$6/day on average, and < $12/day for 90% of developers. Ref #ai-coding ccusage summarizes Claude Code usage patterns from ~/.claude/ #ai-coding Interesting MCPs to explore: Sentry: fetch issues with stack traces and other useful debugging context Playwright: automate browser neomutt is a convenient way for me to read my archived .mbox files. neomutt -f $FILE.mbox lets you browse an MBOX. IITM DoMS is a management school inside a technical institute. That lets MBA students learn to interact with geeks and create startups. Last year, LLMs were able to solve 3 JEE problems. This year, they were all-India Rank #4, and then beat AIR #1. India has 3% electric vehicle penetration. The highest (perhaps Norway) is 80%. The Indian Government is actively looking to phase in EVs. Charging points are being installed across the country.