<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://haribalaji.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://haribalaji.net/" rel="alternate" type="text/html" hreflang="en" /><updated>2026-07-05T12:15:20+05:30</updated><id>https://haribalaji.net/feed.xml</id><title type="html">Hari Balaji</title><subtitle>Essays on AI agents, LLM systems, and building enterprise AI — with detours into books, sci-fi, data experiments, and cricket.
</subtitle><author><name>Hari Balaji</name></author><entry><title type="html">The Long Way Back</title><link href="https://haribalaji.net/The-Long-Way-Back/" rel="alternate" type="text/html" title="The Long Way Back" /><published>2026-01-19T05:30:00+05:30</published><updated>2026-01-19T05:30:00+05:30</updated><id>https://haribalaji.net/the-long-way-back-gabba-2021</id><content type="html" xml:base="https://haribalaji.net/The-Long-Way-Back/"><![CDATA[<p class="essay-kicker">Cricket &middot; Border&ndash;Gavaskar Trophy, 2020&ndash;21</p>

<p class="essay-dek"><em>How a team bowled out for 36 crossed four Tests and a continent to break the one fortress that does not fall</em></p>

<figure>
  <img src="/assets/images/2026/gabba-2021/kohli-adelaide-collapse.jpg" alt="Virat Kohli walks off after India's collapse in Adelaide" />
  <figcaption>Virat Kohli was out for four as India subsided to 36 all out on the third morning in Adelaide. <em>Photo: Sky Sports / Getty Images</em></figcaption>
</figure>

<p class="drop-cap">Today marks five years since the miracle at Brisbane. On 19 January 2021, an Indian side stripped down to net bowlers and debutants beat Australia at the one ground that had not lost a Test since 1988. Five years on, it is still the best place to start an explanation of what this team is capable of, and it starts not at the Gabba but seven hundred miles south, in Adelaide, with a number that should have ended the series before it began.</p>

<p>There is a number in Indian cricket that does not need a sentence built around it. Say it to a certain kind of grown man and watch him look at his shoes.</p>

<p><strong>Thirty-six.</strong></p>

<p>It came on the third morning of the summer’s first Test, the nineteenth of December 2020, under the pink wash of the Adelaide dusk, and it took about as long as a lunch break. India had spent two and a half days building a house on that ground: a first-innings lead, eight second-innings wickets standing, a match and a series within reach. Then the whole thing came down in a single session, the way a sandcastle goes, not grain by grain but all at once, when the tide finally reaches the wall. Eight wickets for twenty-two runs. Josh Hazlewood took five for eight. Pat Cummins took four for twenty-one. The last man walked off holding a broken arm. Mayank Agarwal top-scored. He made nine.</p>

<p>Cricket is a sport that advertises its uncertainty, and for once the entire commentariat agreed. The verdict was filed before the players had finished showering, and it was unanimous: this was over.</p>

<p class="error"><strong>Michael Vaughan</strong>, England’s former captain and one of the game’s loudest voices on Twitter, put a number on it that same evening:<br />
“Told ya … India are going to get hammered in the Test Series … #AUSvIND #4-0”</p>

<p>He was not a lone voice. He was the loud one in a very large choir.</p>

<p>None of them could have known it that night. What they were saying would have sounded, a month later, like the raving of a fool. The number 36 was not the end of anything. It was the first line.</p>

<p class="pull-quote">The number 36 was not the end of anything.<br />It was the first line.</p>

<hr />

<h2 id="chapter-1-adelaide">Chapter 1: Adelaide</h2>

<p>India had landed in Australia as one of the best teams alive. They were deep in fast bowling for the first time in their history, and they were led by Virat Kohli, a man who batted as though the opposition’s very presence were a personal affront, and who had spent a decade teaching Indian cricketers a thing their fathers had never quite believed: that they were allowed to be the aggressor in someone else’s country. They had won here two years before, the first Indian side ever to take a series on Australian soil. They had come back to do it again, and for two and a half days nothing argued otherwise.</p>

<p>The first Test was a day-night affair, played with the pink ball that turns docile in daylight and venomous under lights. India bowled Australia out for 191. Kohli made a flowing 74. They built their lead and woke on the third morning with the game cupped in their hands.</p>

<p>Then they dropped it. On a surface that had stopped offering anything to anyone, Hazlewood and Cummins found a length that was not so much unplayable as inevitable, the ball leaving the bat’s edge before the bat had finished deciding what to do. Wickets fell in threes, then in twos, then one at a time because there was almost no one left to lose. Mohammed Shami had his forearm broken by Cummins and walked off cradling it like something that had stopped belonging to him, and the innings was over: thirty-six all out, the lowest total in India’s long history and among the lowest anyone had managed in a century and a half of the game. Australia knocked off the runs for the loss of two wickets. Behind the stumps Tim Paine had held seven catches, and he wore the calm of a man at a coronation rather than a contest.</p>

<p>There was no asterisk to stand behind, and that was the cruelty of it. India’s best players had lost on a fair pitch to a good attack, on the worst morning of their working lives. Then the morning got worse. Kohli, who had been granted leave to fly home for the birth of his first child (a decision wholly his own, which not one soul begrudged), boarded a plane the next day. The team that stayed behind was a body that had lost its head and snapped its bowling arm in the same week, one down with three to play, ten thousand miles from anyone who loved it.</p>

<p>In a dressing room gone the particular quiet of men with no language for what had just happened, the one who would now captain the ruin found the only words worth saying. They were almost insultingly small against the size of the thing.</p>

<p class="info"><strong>Ajinkya Rahane</strong>, to his dressing room, Adelaide:<br />
“It was forty-five minutes of bad cricket. It does not define us.”</p>

<p>No oratory, no promise of glory. Just a flat refusal to accept the verdict the scoreboard was trying to hand him.</p>

<div class="scorecard">
  <p class="scorecard__label">1st Test &middot; Adelaide Oval</p>
  <p>Australia 191 &amp; 93/2</p>
  <p>India 244 &amp; 36</p>
  <p class="scorecard__result">Australia won by 8 wickets</p>
</div>

<hr />

<h2 id="chapter-2-melbourne">Chapter 2: Melbourne</h2>

<p>The Melbourne Cricket Ground is a hundred thousand seats of concrete that can make a crowd’s disapproval feel like weather. Walking into it on Boxing Day, eight days after thirty-six and without your captain or your strike bowler, was to present yourself for a second execution before the largest audience the game can gather. Every law of gravity in cricket said India would lose this match and the series behind it. Vaughan had already done the maths for them.</p>

<p>Rahane, soft of voice and easy to underrate, answered with something quieter and far more dangerous than defiance. He handed a Test cap to a willowy twenty-one-year-old opener named Shubman Gill. He recalled the all-rounder Ravindra Jadeja. And he gave the new ball to a young quick off the Hyderabad maidans, Mohammed Siraj, whose father had died only weeks before: a man who had driven an auto-rickshaw through that city for years, carrying strangers to their doors so that his son might one day chase a game for a living. Siraj was already in Australia, sealed in quarantine, when the news came. He could not fly home to bury his father, could not stand at the grave. He chose to stay. He chose, in effect, to grieve by bowling, and he carried that weight to the last day of the tour without once being seen to put it down.</p>

<p>On the field the patched-together side did not roar. It tightened, the way a fist does. Bumrah and the debutant Siraj squeezed Australia out for 195. Then Rahane walked to the middle and played the innings that gave the whole month its spine: an unhurried hundred and twelve, runs taken in singles and clips and tucks, a captain leading not by speech but by the obstinate refusal to get out.</p>

<figure>
  <img src="/assets/images/2026/gabba-2021/rahane-jadeja-mcg-century.jpg" alt="Ajinkya Rahane celebrates his century with Ravindra Jadeja at the MCG" />
  <figcaption>Rahane celebrates his Boxing Day century with Ravindra Jadeja at the MCG, the innings that gave the tour its spine. <em>Photo: Getty Images / India TV</em></figcaption>
</figure>

<p>He batted for hours and never once resembled a man chasing history. He resembled a man rebuilding a house, brick on brick, on the very plot where it had fallen down. At the other end Gill made a fearless 45 and announced himself the way the truly gifted do, without raising his voice.</p>

<p>India won by eight wickets. The series was level. The thirty-six was still there in the record book, and always would be, but it had been answered.</p>

<div class="scorecard">
  <p class="scorecard__label">2nd Test &middot; Melbourne Cricket Ground</p>
  <p>Australia 195 &amp; 200</p>
  <p>India 326 &amp; 70/2</p>
  <p class="scorecard__result">India won by 8 wickets</p>
</div>

<hr />

<h2 id="chapter-3-sydney">Chapter 3: Sydney</h2>

<p>Melbourne had tested India’s nerve. Sydney went looking for something deeper, and harder to give: their appetite for pain.</p>

<p>The third Test offered no road to victory, only the narrow track of survival. Set a preposterous 407, India would have to bat out the best part of two days on a fifth-day pitch against the finest attack on earth. The arithmetic did not favour a draw. It barely conceded one was legal.</p>

<p>The day began with two innings of real beauty. Rishabh Pant, the young wicketkeeper who plays on pure instinct, counter-attacked to a thrilling 97, treating the scoreboard like a door he meant to kick down rather than a wall to hide behind. Cheteshwar Pujara, his opposite in every register, built a monk’s 77 and let the clock argue his case for him. But both fell with hours still to be survived, and only the wounded and the tail left to survive them.</p>

<p>Somewhere in that long afternoon, with India clinging on, the home side let its confidence show its teeth. Behind the stumps Tim Paine, who had dropped Pant three times in the same innings (a generosity the scorebook would not forget), began chirping at Ravichandran Ashwin through the grille of his helmet. The stump microphone caught all of it.</p>

<p class="error"><strong>Tim Paine</strong>, stump mic, day five, SCG:<br />
“I can’t wait to get you to the Gabba, Ash.”</p>

<p>Ashwin, who has never in his life been the first to run out of words, offered a forecast of his own.</p>

<p class="success"><strong>R. Ashwin</strong>, in reply:<br />
“Just like we want to get you to India, that will be your last series.”</p>

<p>The exchange would age badly, but that was later. For now it hung in the Sydney heat, a fortress captain promising a touring side a reckoning at the one ground where reckonings were guaranteed.</p>

<p>What followed has gone into the game’s scripture. Hanuma Vihari tore a hamstring in the middle of his innings (the muscle went like wet rope) and could no longer run a single without risking collapse. So he set himself the hardest task the sport contains, which is to do nothing at all: to plant himself at the crease, subtract himself from the scoring, and simply decline, ball after ball, to leave. At the other end stood Ashwin, batting on a back so seized that, by his own account, he could not pick up his own children or lie flat in his bed that night. Australia smelled the blood and kept going to the short ball, the way a boxer keeps returning to a cut. Ashwin took blow after blow on the body. Vihari, rooted to his spot, absorbed everything they could throw. Together the two broken men batted out forty-two overs for sixty-two runs: a stand counted not in runs per over but in overs endured, the slowest and most heroic arithmetic the game knows. Vihari finished 23 not out from 161 deliveries. Ashwin made 39 from 128. The match was drawn. India had not won. They had refused to fall, and in those circumstances that was the larger feat.</p>

<p>Sydney carried a shadow no honest account should wash away. From one corner of the crowd came racist abuse, aimed at Siraj and Bumrah, serious enough that Siraj reported it to the umpires and the offending spectators were marched out of the ground. That a young man already carrying his father’s death had to stand at the fence and take that, then turn and run in again, says more about the spine of this side than any scorecard. India had been injured, abused, provoked, and outnumbered in fit bodies. They were still level. And Paine, it turned out, would get his wish. They would all see him at the Gabba.</p>

<div class="scorecard">
  <p class="scorecard__label">3rd Test &middot; Sydney Cricket Ground</p>
  <p>Australia 338 &amp; 312/6 dec</p>
  <p>India 244 &amp; 334/5</p>
  <p class="scorecard__result">Match drawn</p>
</div>

<hr />

<h2 id="chapter-4-brisbane">Chapter 4: Brisbane</h2>

<p>By the eve of the fourth Test the team-sheet had stopped reading like a line-up and started reading like a ward round. Kohli was at home with his newborn. Shami’s arm had broken at Adelaide. Umesh Yadav had broken down at Melbourne. Jadeja had fractured his thumb at Sydney. Vihari’s hamstring was gone. Ashwin’s back had locked solid. On the very morning of the match the last two columns of the temple came down: Jasprit Bumrah, the best fast bowler in the world, was ruled out with an abdominal strain, and Ashwin, the man Paine could not wait to see at the Gabba, was declared unfit to play the very Test the taunt had named. In thirty-one days India had been relieved, limb by limb, of very nearly an entire first-choice eleven.</p>

<p>Consider the attack they sent into the most feared ground in the sport. Mohammed Siraj, two Tests old, was now the most experienced quick in the side. Behind him stood Shardul Thakur, who had bowled ten deliveries in his only previous Test before pulling up lame; Navdeep Saini, on debut; T. Natarajan, a left-armer from a village near Salem who had been flown to Australia purely to bowl in the nets and would now make his Test debut in a series decider; and Washington Sundar, an off-spinning all-rounder, also brought along to feed the nets, also winning his first cap. Between the lot of them they had played fewer Tests than a single ordinary career.</p>

<p>And the Gabba was not just any ground. The locals called it the Gabbatoir, and the name had been paid for in full. Australia had not lost a Test there since 1988, an unbeaten run older than most of the men India had brought to end it. A generation of touring sides had walked in at full strength and been led out beaten. India would try to break the streak with debutants, net bowlers, and strapping tape.</p>

<p>Australia made 369, and the makeshift attack bowled with a control its inexperience had no right to. Then came the first of the match’s improbabilities, from the bottom of the order. With the top order subdued and a heavy deficit opening up, the seventh wicket brought together two men picked to bowl, Sundar on debut and Thakur in his second Test, and they batted as though nobody had shown them the team-sheet, adding 123, Sundar making 62 and Thakur 67, hauling India to 336 and shrinking a yawning gap to thirty-three. The water-carriers had saved the innings with the bat.</p>

<p>Then Siraj took the second innings in his hands. The young man who had buried a father from eleven thousand miles away, who had stood at the fence and swallowed abuse and kept running in, tore the Australians apart for five wickets for 73, the first five-wicket haul of his life.</p>

<figure>
  <img src="/assets/images/2026/gabba-2021/siraj-tribute.jpeg" alt="Mohammed Siraj" />
  <figcaption>Mohammed Siraj, who could not fly home for his father's funeral mid-tour, took his maiden Test five-wicket haul in Brisbane. "Every wicket I was taking, I was dedicating it to dad," he said afterward. <em>Photo: Gulte</em></figcaption>
</figure>

<p>When the last of them fell he turned his face up to the Brisbane sky and held it there, eyes wet, for a man watching from somewhere other than the stands. Australia were gone for 294, and the target was set: 328, on the final day, on a worn pitch, at the one ground in the world that does not lose. The highest successful chase in its ninety-year history was 236. India would have to better it just to survive the day with a win.</p>

<p>They set out to make it look like nothing at all. Gill, twenty-one years old and seven Tests into his life, batted with the freedom of a man no one had thought to frighten, driving and pulling his way to a luminous 91. At the other end Pujara did the unglamorous work that makes such days possible: he offered his body as a breakwater and let the sea break on it.</p>

<figure>
  <img src="/assets/images/2026/gabba-2021/pujara-bruised.jpg" alt="Cheteshwar Pujara" />
  <figcaption>Cheteshwar Pujara took blow after blow on the final day and refused to give up the crease. <em>Photo: Cricket Addictor</em></figcaption>
</figure>

<p>Australia went short again and again, and Pujara took it on the gloves, the ribs, the grille of the helmet, struck at least half a dozen times, declining to flinch, refusing to give back the minutes his partners needed.</p>

<p class="success"><strong>Cheteshwar Pujara</strong>, on taking the blows:<br />
“You can punch me as long as you can. Then I’ll punch back. That is how I planned it.”</p>

<p>His 56 took an age and cost him a fortnight of bruises, and it was worth every run of a century.</p>

<p>The ending belonged to Pant. The same Pant who had counter-attacked at Sydney, who had been sledged and mocked the length of the tour, who bats as though caution were a language nobody had ever taught him, decided India had not come this far to settle for the safety of a draw. He went after it. With three runs wanted he steered the ball away and set off, so fast that he later admitted he forgot the non-striker had a torn groin.</p>

<p class="info"><strong>Rishabh Pant</strong>, recalling the winning runs:<br />
“I told Saini, ‘3, not 2 but 3.’ His groin injury slipped my mind, I was running fast. While running the second run I noticed the fielder wasn’t even chasing it. Then I was filled with joy. I was shouting, ‘Saini 3, we have to run 3!’ Saini was running on one leg. It was fun.”</p>

<figure>
  <img src="/assets/images/2026/gabba-2021/pant-winning-runs.jpg" alt="Rishabh Pant hits the winning runs at the Gabba" />
  <figcaption>Break, fortress, break: Rishabh Pant hits the winning runs at the Gabba, 19 January 2021. <em>Photo: Patrick Hamilton / AFP / Getty Images via ESPNcricinfo</em></figcaption>
</figure>

<p>He finished 89 not out. India had made 329 for seven, chased down 328, won by three wickets, and taken the series two to one.</p>

<p>The Gabbatoir had fallen. Thirty-two years undone in an afternoon, by a team that on paper did not exist. They had seen Paine at the Gabba, exactly as promised. It was only the result that had been entered wrongly. Ashwin, the man the taunt had named, watched it from the dressing room because his body had finally quit.</p>

<p class="pull-quote">Thirty-two years undone in an afternoon,<br />by a team that on paper did not exist.</p>

<p>In the riot of the dressing room, Rohit Sharma found Pant first.</p>

<p class="success"><strong>Rohit Sharma</strong>, to Rishabh Pant:<br />
“You don’t know what you have done. When you leave cricket, you will realise what you have done.”</p>

<p>Pant kept a souvenir. “I plucked a stump,” he said later. “That, and a picture of us doing the victory lap with me carrying the flag. It was the icing on the cake for me.”</p>

<div class="scorecard">
  <p class="scorecard__label">4th Test &middot; The Gabba</p>
  <p>Australia 369 &amp; 294</p>
  <p>India 336 &amp; 329/7</p>
  <p class="scorecard__result">India won by 3 wickets &middot; series won 2&ndash;1</p>
</div>

<hr />

<h2 id="epilogue-the-way-back">Epilogue: The way back</h2>

<p>Set the records down first, because the records are part of the meaning. India became the first side in thirty-two years to win a Test at the Gabba, and they did it by completing the highest successful run chase the ground had ever seen. They won a series in Australia for only the second time in their history, the first by a team taken to pieces by injury: without Kohli for three Tests, without Shami, Bumrah, Ashwin, Jadeja, Umesh and Vihari at one point or another, fielding debutants who had been flown out to bowl in the nets and a pace attack with barely a Test between them. They did it after being bowled out for thirty-six.</p>

<p>When it was done, the coach found the words the moment deserved.</p>

<p class="success"><strong>Ravi Shastri</strong>, in the dressing room, hoarse and shining-eyed:<br />
“Today, forget India. The whole world will stand up and salute you.”</p>

<figure>
  <img src="/assets/images/2026/gabba-2021/shastri-dressing-room.jpg" alt="Ravi Shastri addresses the Indian dressing room after the Gabba win" />
  <figcaption>Head coach Ravi Shastri addresses a shattered, jubilant dressing room after the series win. <em>Photo: BCCI / Business Today</em></figcaption>
</figure>

<p>It was their spirit, he said, that had broken Australia’s back. He was reaching for the only explanation that fit, because the talent ledger did not. The distance from Adelaide to Brisbane was thirty-one days, and the strangest, truest thing about the journey is that the men did not change across it. Several of the bowlers who dismantled Australia at the Gabba had been carrying the drinks at Adelaide. Nobody acquired a new gift in a month. What they did, over and over, was turn up for the next ball and refuse to accept the verdict the scoreboard kept trying to deliver: Vihari standing on one leg for three hours, Pujara choosing to be hit rather than step away, Siraj turning grief into five wickets, Pant deciding a draw would be an insult to the distance they had walked.</p>

<p>The same Vaughan who had buried India in a tweet now dug himself out of one, posting on the night of the win, quoting his own words back at himself before the internet could.</p>

<p class="success"><strong>Michael Vaughan</strong>, 19 January 2021:<br />
“Told you all India would lose 4-0 if they lost in Adelaide…”</p>

<p>In <em>The Telegraph</em> the next morning he was more candid still: “India looked shot after the Adelaide match, and with all the selection issues they had, even India’s most one-eyed fans would not have predicted a comeback. Well, they have left me with egg on my face.”</p>

<p>None of it was written in advance, and it does the men a disservice to tell it as though it were. At every turn there was a reasonable road into defeat, well lit and easy to take, and at every turn somebody chose the other one. Sydney could have ended in the hour Vihari’s hamstring let go. Brisbane could have been surrendered to the comfort of the draw at tea on the last day. Neither of those things happened. A team got bowled out for thirty-six in front of the whole world, and a month later the same team walked into the one ground on earth that does not lose, and beat it.</p>

<p>The thirty-six is still in the book. Nothing will ever take it out. But thirty-two years on, it reads less like a collapse and more like a starting point.</p>

<hr />

<p class="essay-sources"><em>Sources &amp; quotes: <a href="https://www.skysports.com/cricket/news/12175/12166962/india-all-out-for-36-their-lowest-ever-test-score-as-australia-romp-to-victory-in-series-opener">Sky Sports: India all out for 36</a>; <a href="https://thesportsrush.com/cricket-news-told-you-all-india-would-lose-4-0-when-michael-vaughans-border-gavaskar-trophy-2020-21-result-prediction-embarrassed-him-no-ends/">The SportsRush: Vaughan’s 4-0 prediction and reversal</a>; <a href="https://www.dnaindia.com/cricket/report-michael-vaughan-admits-egg-on-his-face-as-he-gets-india-vs-australia-4-0-prediction-horribly-wrong-as-ajinkya-rahane-india-national-cricket-team-register-historic-win-2869256">DNA: Vaughan “egg on my face”</a>; <a href="https://www.indiatvnews.com/sports/cricket/ajinkya-rahane-becomes-10th-indian-captain-to-score-century-australia-vs-india-second-test-674249">India TV: Rahane century as captain</a>; <a href="https://www.wisden.com/series/australia-vs-india-m-202425/cricket-news/he-was-annoying-us---tim-paine-justifies-viral-gabba-sledge-to-r-ashwin-at-the-2021-sydney-test">Wisden: Paine justifies the Gabba sledge</a>; <a href="https://www.newsbytesapp.com/news/sports/tim-paine-recalls-sledging-r-ashwin-in-sydney-test/story">NewsBytes: Paine-Ashwin exchange</a>; <a href="https://www.dnaindia.com/cricket/report-indian-fan-racially-abused-in-sydney-test-racial-profiling-by-guards-in-sydney-cricket-ground-2868487">DNA: racism allegations at SCG</a>; <a href="https://www.thequint.com/sports/cricket/india-vs-australia-gabba-test-live-updates-day-1-4th-test">The Quint: Natarajan and Sundar debut, Ashwin and Bumrah out</a>; <a href="https://www.gulte.com/sports/53094/siraj-gets-emotional-remembers-his-late-dad">Gulte: Siraj dedicates five-for to his late father</a>; <a href="https://www.espncricinfo.com/story/australia-vs-india-every-wicket-i-was-taking-i-was-dedicating-it-to-dad-the-story-of-mohammed-siraj-s-homecoming-1248747">ESPNcricinfo: Siraj’s homecoming</a>; <a href="https://cricketaddictor.com/cricket-news/i-was-in-a-bit-of-pain-but-the-body-blows-motivated-me-to-do-better-cheteshwar-pujara/">Cricket Addictor: Pujara on the body blows</a>; <a href="https://www.espncricinfo.com/story/cheteshwar-pujara-you-can-punch-me-as-long-as-you-can-then-i-ll-punch-back-1249476">ESPNcricinfo: Pujara, “you can punch me”</a>; <a href="https://www.sportskeeda.com/cricket/news-saini-3-run-3-rishabh-pant-recalls-hilarious-winning-moment-gabba-test">Sportskeeda: “Saini 3, we have to run 3!”</a>; <a href="https://www.thecricketmonthly.com/story/1464828/--when-you-leave-cricket--you-will-realise-what-you-have-done---inside-india-s-2021-gabba-miracle">The Cricket Monthly: inside India’s 2021 Gabba miracle, including Rohit Sharma’s words to Pant</a>; <a href="https://www.bookey.app/quote-author/rishabh-pant">Bookey: Pant on the souvenir stump</a>; <a href="https://www.businesstoday.in/latest/trends/your-spirit-broke-australia-back-coach-ravi-shastri-fiery-dressing-room-speech-after-gabba-victory/story/428517.html">Business Today: Shastri’s dressing-room speech</a>; <a href="https://www.sportskeeda.com/cricket/news-india-create-history-gabba-register-highest-successful-run-chase-venue">Sportskeeda: highest successful chase at the Gabba</a>; <a href="https://www.espncricinfo.com/series/india-in-australia-2020-21-1223867/australia-vs-india-4th-test-1223872/full-scorecard">ESPNcricinfo: 4th Test scorecard, Brisbane</a>; <a href="https://en.wikipedia.org/wiki/Indian_cricket_team_in_Australia_in_2020%E2%80%9321">Wikipedia: Indian cricket team in Australia in 2020-21</a>. Photographs are reproduced from the original publishers, credited above, for editorial commentary.</em></p>]]></content><author><name>Hari Balaji</name></author><category term="life" /><category term="reality" /><category term="sport" /><category term="cricket" /><category term="resilience" /><category term="cricket" /><category term="india" /><category term="life" /><summary type="html"><![CDATA[How a team bowled out for 36 crossed four Tests and a continent to break the one fortress that does not fall]]></summary></entry><entry><title type="html">In Which Pooh Tries to Save An Afternoon</title><link href="https://haribalaji.net/IW-Pooh-Tries-To-Save-An-Afternoon/" rel="alternate" type="text/html" title="In Which Pooh Tries to Save An Afternoon" /><published>2026-01-03T05:30:00+05:30</published><updated>2026-01-03T05:30:00+05:30</updated><id>https://haribalaji.net/In-which-pooh-tries-to-save-an-afternoon</id><content type="html" xml:base="https://haribalaji.net/IW-Pooh-Tries-To-Save-An-Afternoon/"><![CDATA[<h1 id="in-which-pooh-tries-to-save-an-afternoon-in-a-jar-and-christopher-robin-makes-an-afternoon-place">IN WHICH POOH TRIES TO SAVE AN AFTERNOON IN A JAR, AND CHRISTOPHER ROBIN MAKES AN AFTERNOON PLACE</h1>

<p><img src="/assets/images/2026/pooh/cover.jpg" alt="0" /></p>

<p>Christopher Robin was lying on the rug one afternoon, being so still that it looked as if he were practising being an Afternoon Place all by himself.</p>

<p>“What are you doing?” I asked.</p>

<p>“I’m keeping the afternoon,” said Christopher Robin. “If you move about too much, you use it up.”</p>

<p>Pooh, who was sitting nearby in the thoughtful way he has (which is to say he was thinking of honey), said, “If you want to keep an afternoon, you ought to save it.”</p>

<p>“Save it where?” asked Christopher Robin.</p>

<p>“In a jar,” said Pooh, as if this settled it.</p>

<p>Christopher Robin looked at me.</p>

<p>“Pooh once tried,” I said. “And it was on a gold-coloured afternoon by the stream.”</p>

<hr />

<p><img src="/assets/images/2026/pooh/IW POOH TRIES TO SAVE AN AFTERNOON/1.png" alt="1" /></p>

<p>It was a sleepy, gold-coloured afternoon in the Hundred Acre Wood, the sort which makes you talk in quieter voices so as not to wake it. The sunshine lay in patches, and the shadows lay in patches, and down by the stream the water went on doing nothing in particular, and doing it beautifully.</p>

<p>Pooh and Piglet were sitting on the bank, with their legs in the long grass and their thoughts in the stream.</p>

<p>“Piglet,” said Pooh at last.</p>

<p>“Yes, Pooh?” squeaked Piglet.</p>

<p>“Do you ever feel,” said Pooh, “as if you have used up an afternoon?”</p>

<p>“Used it up?” said Piglet, staring at the sunshine.</p>

<p>“Like honey,” said Pooh. “I have been sitting, and thinking, and doing a little hum. And suddenly it came to me—what if I have used most of it up already, and later you want an afternoon, and there isn’t any left for you?”</p>

<p>Piglet’s ears drooped.</p>

<p>“Oh, Pooh,” he said.</p>

<p>“So we must save some,” said Pooh, standing up. “In a jar.”</p>

<p>“Have you got a jar?” he asked.</p>

<p>Piglet had a Very Small Pot which once had something in it and now only had the memory of it, but Piglet knew at once that Pooh was thinking of something bigger.</p>

<p>“I think,” said Piglet, “that I have only a small one.”</p>

<p>“Then we must use mine,” said Pooh. “I have a Very Good Jar at home. It has been used for Saving before.”</p>

<p>Piglet felt hopeful.</p>

<p>“What did you save in it?” he asked.</p>

<p>Pooh smiled the dreamy smile of a bear who has met honey.</p>

<p>“Honey,” he said.</p>

<p>So Pooh fetched his Very Good Jar from home. It had lately been full of honey, so Pooh made it Very Empty in the quickest way he knew, screwed on the lid importantly, and hurried back with Piglet before the afternoon could wander off.</p>

<p>Back by the stream, Pooh took off the lid and looked into the jar as if he expected to see the afternoon sitting at the bottom, waiting politely.</p>

<p>“It isn’t in yet,” said Piglet.</p>

<p>“No,” said Pooh. “We have to put it in. With the sunniest-looking things.”</p>

<hr />

<p><img src="/assets/images/2026/pooh/IW POOH TRIES TO SAVE AN AFTERNOON/2.png" alt="1" /></p>

<p>Then Pooh said, “Saving works better if you have Rules,” because Pooh has always noticed that honey lasts longer if you decide it is not for eating all at once.</p>

<p>So Pooh made up some Rules, and because Piglet likes to know what is going to happen, he listened very carefully.</p>

<h2 id="poohs-rules-for-saving-an-afternoon">POOH’S RULES FOR SAVING AN AFTERNOON</h2>

<ol>
  <li>FIND A VERY GOOD JAR.</li>
  <li>PUT IN THE SUNNIEST-LOOKING THINGS FIRST.</li>
  <li>DO NOT FORGET THE QUIET.</li>
  <li>IF IT DOESN’T WANT TO BE SHUT, DO NOT ARGUE WITH IT.</li>
</ol>

<p>So they began.</p>

<p>Buttercups and dandelions were everywhere, looking as if they had been practising being sunshine. Pooh filled the jar with buttercups first, then dandelions, while Piglet held it steady and tried to look as if he had saved afternoons before.</p>

<p>When the jar was half-full of yellow, Pooh stopped to hum, because yellow things always make Pooh remember how songs go.</p>

<blockquote>
  <p>Afternoon, Afternoon, golden and slow, <br />
I should like to keep you, in case you should go. <br />
Buttercups and dandelions, yellow as can be,  <br />
Leaf that says “Cheer up!”—come and sit with me.  <br />
If you won’t stay in a jar, then perhaps you’ll agree. <br />
To stay on the grass, and be an Afternoon for three.</p>
</blockquote>

<p>“That is a very good hum,” said Piglet.</p>

<p>“Yes,” said Pooh modestly. “It came from the yellow.”</p>

<p>Then Pooh found a leaf so yellow that it seemed to be saying “Cheer up!” all by itself. “Piglet,” he said, “this is an Extremely Encouraging yellow leaf,” and he put it on top where it could encourage everything properly.</p>

<p>“Now,” said Pooh, holding up the jar, “we have saved a good deal of afternoon.”</p>

<p>Piglet peered in.</p>

<p>It was very yellow. It was almost as yellow as the afternoon itself. But Pooh’s face still had that worried look, as if he could hear the afternoon ticking away somewhere behind the trees.</p>

<p>“It is not quite afternoon enough,” he said.</p>

<p>“Not enough?” squeaked Piglet. “But it is full of yellow.”</p>

<p>Pooh shook his head slowly.</p>

<p>“Afternoon is not only yellow,” said Pooh. “It is also a sort of Quiet.”</p>

<p>Piglet did not know how you put Quiet into a jar, but Pooh tried by adding more yellow.</p>

<p>He put in more buttercups. Then more dandelions. Then a few more, because the jar still did not feel afternoon enough to him. Soon it was so full that the Extremely Encouraging leaf had to sit on top like a hat.</p>

<p>“Now,” said Pooh, “I shall shut it very carefully.”</p>

<p>He pressed the lid down with both paws.</p>

<p>This time the lid almost caught, and the jar made a small squeak, and then—because dandelions are not the sort of thing to be shut up without making remarks — there was a sudden puff of white fluff.</p>

<hr />

<p><img src="/assets/images/2026/pooh/IW POOH TRIES TO SAVE AN AFTERNOON/3.png" alt="1" /></p>

<p>The dandelion seeds flew out and floated away on the air in a hundred tiny parachutes, drifting over the stream as if the afternoon itself had decided to leave in little pieces.</p>

<p>Piglet watched them go with a frightened squeak.</p>

<p>“Pooh,” he said, “the afternoon is escaping!”</p>

<p>Pooh stared at the floating seeds. His mouth fell open.</p>

<p>“Oh dear,” he said. “I have let it out.”</p>

<p>He sat down heavily with the jar between his paws, and for a moment he looked like a bear who has been trying to be helpful and has only succeeded in being sticky and wrong.</p>

<p>Just then Christopher Robin came along the path by the stream, as he often did on good afternoons, because he knew where good afternoons liked to be.</p>

<p>“Hallo,” he called.</p>

<p>“Hallo, Christopher Robin,” said Piglet quickly, because it is easier to be brave when someone taller is near.</p>

<p>Pooh looked up mournfully.</p>

<p>“Hallo,” he said. “We are Saving an afternoon, but it keeps getting out.”</p>

<p>Christopher Robin sat down beside them and looked at the jar and the yellow things and the dandelion seeds floating away.</p>

<p>“Tell me,” he said.</p>

<p>So Pooh told him, very carefully, how he had used up the afternoon by sitting, and how Piglet might have none later, and how you must save things in jars, and how the jar would not shut because it still did not feel afternoon enough, and then how the afternoon had escaped in little white pieces.</p>

<p>When he had finished, he looked at Christopher Robin as if Christopher Robin might know where you buy more afternoon.</p>

<p>Christopher Robin smiled a little, but not in a laughing way. It was a kind smile, as if he liked Pooh even when Pooh was being a Bear of Very Little Brain.</p>

<p>“Pooh,” he said, “afternoons don’t go into jars.”</p>

<p>Pooh’s ears drooped.</p>

<p>“Don’t they?” he asked.</p>

<p>“No,” said Christopher Robin. “Not really. You can’t keep them like honey. You can only have them.”</p>

<p>Pooh considered this. Piglet held his breath, because when Pooh considers, anything may happen.</p>

<p>“But,” said Pooh at last, “if you have an afternoon, and then you have it again, is it the same afternoon?”</p>

<p>Christopher Robin looked at the stream and the sunshine and the floating dandelion seeds, and he said, “It feels like it, doesn’t it?”</p>

<p>Pooh sighed.</p>

<p>“Yes,” he said. “And I should like Piglet to have it too.”</p>

<p>Piglet’s heart did a small warm thing, because Pooh had been worrying about Piglet all along.</p>

<p>“Then we will,” said Christopher Robin. “We’ll have it together. And I know how.”</p>

<p>He took the jar and carefully took out the buttercups and dandelions and the Extremely Encouraging leaf.</p>

<p>“We’ll make an Afternoon Place,” said Christopher Robin.</p>

<p>“An Afternoon Place,” repeated Pooh, pleased, because places are easier than jars and you can sit in them.</p>

<p>Christopher Robin laid the yellow things on the grass in a small bright patch, arranging them in a way which made you feel that the afternoon had been tidied up and put where it belonged. He put the Extremely Encouraging leaf in the middle, where it could do its encouraging properly.</p>

<p>“Now,” he said, sitting down beside the yellow, “we sit here, and we don’t do anything in particular.”</p>

<p>Piglet sat down at once, because “nothing in particular” sounded safe when Christopher Robin said it.</p>

<p>Pooh sat down too, very solemnly, because he did not want to waste any more afternoon by moving about.</p>

<p><img src="/assets/images/2026/pooh/IW POOH TRIES TO SAVE AN AFTERNOON/4.png" alt="1" /></p>

<hr />

<p>For a little while none of them spoke. The stream went on being a stream. The dandelion seeds went on floating until they found places to land. The sunshine went on lying in gold patches, and the shadows went on lying in shadow patches. And in the middle of it all, three friends sat in an Afternoon Place and had the afternoon without trying to keep it anywhere else.</p>

<p>After a bit Pooh gave a long satisfied sigh.</p>

<p>“Christopher Robin,” he said, “it feels full.”</p>

<p>Piglet nodded.</p>

<p>“It feels exactly full,” he whispered.</p>

<p>Pooh looked at the jar, which was now only an empty jar again.</p>

<p>“So I did not use it up,” he said.</p>

<p>“No,” said Christopher Robin. “You can’t use up an afternoon by sitting quietly in it. That’s what afternoons are for.”</p>

<p>Pooh thought about this and smiled.</p>

<p>“Then,” he said, “the best way to save an afternoon is to make a place for it, and have it.”</p>

<p>“That’s right,” said Christopher Robin.</p>

<p>Pooh began to hum very softly, not because he was doing something Very Important now, but because the afternoon was doing something Very Nice inside him.</p>

<p>And then Christopher Robin stood up and said, “Come on. It’s time for a little something.”</p>

<p>Pooh stood up at once.</p>

<p>“I thought you’d never ask,” he said, and Piglet picked up the Extremely Encouraging leaf and carried it for a little way, because he thought it would be a pity to leave encouragement lying about.</p>

<p>They walked home together, and behind them the stream went on doing nothing in particular, and the gold-coloured afternoon went on being gold-coloured until it became a different colour, which is what afternoons do.</p>

<hr />

<p>“And that was how Pooh saved it,” I said.</p>

<p>Christopher Robin leaned back against me and nodded.</p>

<p>“Let’s make an Afternoon Place tomorrow,” he said.</p>

<p>“We can,” I said. “And the day after, if the afternoon is willing.”</p>

<hr />]]></content><author><name>Hari Balaji</name></author><category term="pooh" /><category term="ai" /><category term="books" /><summary type="html"><![CDATA[In Which Pooh Tries to Save the Afternoon]]></summary></entry><entry><title type="html">Winnie the Pooh - Revisiting The Hundred Acre Wood with AI</title><link href="https://haribalaji.net/pooh/" rel="alternate" type="text/html" title="Winnie the Pooh - Revisiting The Hundred Acre Wood with AI" /><published>2026-01-03T05:30:00+05:30</published><updated>2026-01-03T05:30:00+05:30</updated><id>https://haribalaji.net/winnie-the-pooh</id><content type="html" xml:base="https://haribalaji.net/pooh/"><![CDATA[<p><img src="/assets/images/2026/pooh0.jpg" alt="Winnie the Pooh toy set at the Museum of Brands London" /></p>

<p><img src="/assets/images/2026/pooh1.jpg" alt="Winnie the Pooh toy set at the Museum of Brands London" /></p>

<h1 id="winnie-the-pooh">Winnie the Pooh</h1>

<p>Like everyone else, I spent the year end break tinkering with Claude Code and Codex.<br />
One of the most delightful rabbit holes came from kiddo.</p>

<p>We both love Peter Dennis’s rendition of <a href="https://www.downpour.com/products/book-3397"><strong>Winnie the Pooh</strong></a> and <a href="https://www.downpour.com/products/book-3404?variant=49394082775344"><strong>The House at Pooh Corner</strong></a>.</p>

<p>Alas there are only two books and about twenty stories.</p>

<p>Kiddo asked if AI could help write more. Pooh is out of copyright, so it felt fair to try.</p>

<p>We now have about 20 new stories. It took many iterations to get the pipeline right, but Codex was absolutely up to the task.</p>

<h2 id="the-rules-we-set">The rules we set</h2>

<p>We wanted new stories that felt like they belonged in A. A. Milne’s world.<br />
That meant sticking to a few non-negotiables:</p>

<ol>
  <li><strong>Stay faithful to the characters</strong> - Pooh is gentle and literal, Piglet is anxious but brave, Rabbit is efficient and fussy, Eeyore is dry, and Tigger never stops bouncing.</li>
  <li><strong>Keep the language simple and warm</strong> - short sentences, gentle humor, and a clear resolution.</li>
  <li><strong>No anachronisms</strong> - no modern references, no tech metaphors, no 2020s slang.</li>
  <li><strong>Be inspired by Peter Dennis, not derivative</strong> - capture the cadence and charm without copying his voice or anyone else’s.</li>
</ol>

<h2 id="the-pipeline-after-40-hours-of-work">The pipeline (after ~40 hours of work)</h2>

<p>We tried a bunch of prompt stacks before this settled into something stable:</p>

<ul>
  <li>We have a pretty strong system prompt which can take ideas: season, setting, main characters, and a tiny conflict.</li>
  <li>Draft the story in Milne-ish cadence.</li>
  <li>Run a consistency pass to catch out-of-character lines and any modern artifacts.</li>
  <li>Edit for warmth and add small motifs (honey, rumbly tummies, spelling quirks).</li>
  <li>Final polish, title, and a quick re-read with kiddo.</li>
</ul>

<p>Now we can generate new stories on the fly, and they stay surprisingly faithful to the originals.</p>

<h2 id="turning-it-into-an-audiobook">Turning it into an audiobook</h2>

<p>While <a href="https://elevenlabs.io/">ElevenLabs</a> made the audio pipeline feasible, the hardest problem statement ended up being <strong>converting story to screenplay</strong> that could be parsed by ElevenLabs API.
We were careful to be inspired by, but not use verbatim, Peter Dennis’s voice or any of the other character voices.<br />
Getting this right was ridiculously tricky, but Codex helped us iterate fast.<br />
All voices had to pass muster with kiddo.<br />
The only quirky thing we did was to make Kanga an Australian woman’s voice.</p>

<h2 id="the-first-story">The first story</h2>

<p>The first story is <a href="https://haribalaji.net/IW-Pooh-Tries-To-Save-An-Afternoon/">here</a> for you to read and <a href="https://youtu.be/fDx-VPugJOA">here</a> for you to listen.</p>

<p>More to come, if time permits.</p>]]></content><author><name>Hari Balaji</name></author><category term="geekery" /><category term="genai" /><category term="agents" /><category term="books" /><category term="ai" /><category term="agents" /><category term="books" /><summary type="html"><![CDATA[Using AI to continue the legacy of A A Milne and Peter Dennis]]></summary></entry><entry><title type="html">Dreams of an Agentic Future</title><link href="https://haribalaji.net/Agentic-Future/" rel="alternate" type="text/html" title="Dreams of an Agentic Future" /><published>2024-12-25T05:30:00+05:30</published><updated>2024-12-25T05:30:00+05:30</updated><id>https://haribalaji.net/dreams-of-an-agentic-future</id><content type="html" xml:base="https://haribalaji.net/Agentic-Future/"><![CDATA[<h2 id="prologue"><strong>Prologue</strong></h2>

<p>Bob gently closed the door to his home office and settled into his favorite chair. It was a warm, sunny day in the year <strong>2026</strong>, and a glowing orb on his sleek glass desk flickered to life. Bob’s heart thumped with anticipation—he had a thrilling mission for his personal AI assistant: to plan a dazzling surprise party for his wife Alice’s 40th birthday.</p>

<p><img src="/assets/images/agent1.png" alt="Bob thinks about a plan" /></p>

<p>He leaned forward and addressed the softly illuminated orb.</p>

<blockquote>
  <p><strong>Bob</strong>:<br />
“Charlie, can you help me plan the ultimate surprise party for Alice’s 40th birthday?”</p>
</blockquote>

<p>Charlie, Bob’s personal assistant, was no ordinary AI. He was an <strong>Agentic Orchestrator</strong> with the ability to command and invoke various tools already purchased and owned by Bob, as well as hire outside agents, humans, and businesses.</p>

<blockquote>
  <p><strong>Charlie:</strong><br />
<em>“Certainly, Bob. I’d be happy to help. Let’s work together to create an unforgettable event for Alice.”</em></p>
</blockquote>

<hr />

<h2 id="chapter-1-charlies-internal-deliberation"><strong>Chapter 1: Charlie’s Internal Deliberation</strong></h2>

<p>Inside Charlie’s digital core, a grand dance of computations commenced. Charlie examined local, small language model (“SLM”)–based agentic tools that were relevant to the task:</p>

<ol>
  <li><strong>Event Planning Agent</strong> – For scheduling, budgeting, and logistics with access to Alice &amp; Bob’s calendar.</li>
  <li><strong>Cuisine &amp; Catering Agent</strong> – For menu design that accommodates Alice, Bob, and guests’ dietary preferences.</li>
  <li><strong>Entertainment &amp; Music Agent</strong> – For scouting bands, DJs, and other entertainment, drawing on Alice &amp; Bob’s personal entertainment history.</li>
  <li><strong>Venue, Design &amp; Décor Agent</strong> – Master of colors, themes, and ambiance with insight into Alice &amp; Bob’s stylistic preferences.</li>
  <li><strong>Invitation &amp; Guest Management Agent</strong> – For sending personalized invitations and managing RSVPs, using Alice &amp; Bob’s contact list.</li>
  <li><strong>Surprise Factor &amp; Security Agent</strong> – Focused on secrecy and handling any unexpected issues.</li>
</ol>

<p><img src="/assets/images/agentic_infra.png" alt="Agentic Infra" />
Charlie was supported by private agents who have access to Alice &amp; Bob’s sensitive data.  <br />
Charlie could also access the Internet for additional information &amp; to coordinate with other humans and agents  <br />
Charlie functioned like a conductor, directing each agent as needed.</p>

<p>Here is what went through his head:</p>

<p><img src="/assets/images/agent2.png" alt="Charlie plans" /></p>

<blockquote>
  <p><strong>Charlie’s Thought Process</strong><br />
“Bob wants a surprise party.<br />
<strong>Primary goal</strong>: Maximize Alice’s happiness.<br />
<strong>Secondary</strong>: Finish everything in one week.<br />
<strong>Tertiary</strong>: Manage costs, ensure feasibility, and keep it all secret!</p>
  <ol>
    <li>Outline tasks.</li>
    <li>Assign tasks to sub-agents.</li>
    <li>Estimate budget.</li>
    <li>Compare trade-offs: lower-cost local vs. higher-quality global agents.</li>
    <li>Execute quickly.</li>
    <li>Final readiness check &amp; contingencies.”</li>
  </ol>
</blockquote>

<hr />

<h2 id="chapter-2-outlining-the-party-tasks"><strong>Chapter 2: Outlining the Party Tasks</strong></h2>

<p>Charlie activated the <strong>Event Planning Agent</strong>—a local sub-agent specializing in methodical scheduling.</p>

<h3 id="step-1-define-the-vision"><strong>Step 1: Define the Vision</strong></h3>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Alice likes intimate but classy gatherings with a dash of ‘wow.’ She loves live music, a bit of dancing, and memorable food. Let’s aim for a refined dinner party, complete with a live band, a dance floor, and a special surprise reveal.”</p>
</blockquote>

<h3 id="step-2-choose-a-venue"><strong>Step 2: Choose a Venue</strong></h3>

<ul>
  <li><strong>Local Agent: Venue, Design &amp; Décor Agent (free)</strong> – Searches local venues using internet data.</li>
  <li><strong>Global Agent: VR-Inspector (paid)</strong> – Provides 3D virtual tours of promising options.</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“We’ll have the Venue, Design &amp; Décor Agent give us a shortlist. If needed, I’ll use VR-Inspector for a detailed VR preview—though that costs tokens.”</p>
</blockquote>

<h3 id="step-3-guest-list--invitations"><strong>Step 3: Guest List &amp; Invitations</strong></h3>

<ul>
  <li><strong>Local Agent: Invitation &amp; Guest Management Agent (free)</strong> – Sends e-invitations, monitors RSVPs.</li>
  <li><strong>Human Assistance</strong> (optional) for printed invitations via postal mail.</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Bob might want something more personal than a generic email. Let’s propose digital invites with a custom video greeting from him.”</p>
</blockquote>

<p>Charlie checked with Bob:</p>

<blockquote>
  <p><strong>Charlie</strong><br />
“Bob, do you prefer digital or physical invitations?”</p>
</blockquote>

<blockquote>
  <p><strong>Bob</strong><br />
“Let’s do digital, but make it more special than a regular email.”</p>
</blockquote>

<blockquote>
  <p><strong>Charlie</strong><br />
“Great. We can embed a short video message from you to give it a personal touch.”</p>
</blockquote>

<h3 id="step-4-catering--menu"><strong>Step 4: Catering &amp; Menu</strong></h3>

<ul>
  <li><strong>Cuisine &amp; Catering Agent</strong> for menu ideas.</li>
  <li>Local human caterers to prep and serve.</li>
  <li>Optional <strong>Global Agent</strong> for premium, specialized recipes.</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Alice loves Italian and Asian fusion. Let’s start with a local approach, but if Bob wants star-chef flair, we’ll consider a specialized global agent.”</p>
</blockquote>

<h3 id="step-5-entertainment"><strong>Step 5: Entertainment</strong></h3>

<ul>
  <li><strong>Entertainment &amp; Music Agent</strong>: Taps local bands, DJs, or alternative acts aligned with Bob and Alice’s tastes.</li>
  <li><strong>Global Agent</strong>: Browses large artist databases for big-name booking (if budget allows).</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“A local jazz-swing band might hit the sweet spot—classy, with a fun vibe for dancing.”</p>
</blockquote>

<h3 id="step-6-décor"><strong>Step 6: Décor</strong></h3>

<ul>
  <li><strong>Venue, Design &amp; Décor Agent</strong>: Crafts the color scheme and layout.</li>
  <li><strong>Local Florist</strong>: Supplies fresh floral arrangements.</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Alice loves lavender and silver—like at her wedding. Let’s bring that theme back.”</p>
</blockquote>

<hr />

<h2 id="chapter-3-choosing-the-venue"><strong>Chapter 3: Choosing the Venue</strong></h2>

<p>Charlie consulted the <strong>Venue, Design &amp; Décor Agent</strong>, which returned five appealing places:</p>

<ol>
  <li><strong>Rosewood Garden Estates</strong> – A lush, open-air garden setting.</li>
  <li><strong>Skyline Terrace</strong> – Rooftop with panoramic urban views.</li>
  <li><strong>Modern Loft</strong> – A sleek, industrial-chic space.</li>
  <li><strong>Meadow’s Creek Hall</strong> – Rustic charm by a meandering creek.</li>
  <li><strong>Le Chanson Theater</strong> – A small performing arts venue with a built-in stage.</li>
</ol>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Alice loves gardens, but Skyline Terrace could offer a spectacular sunset. I’ll VR-preview both.”</p>
</blockquote>

<p>Charlie then pinged <strong>VR-Inspector</strong> at a cost of 0.5 tokens per tour. Bob approved, and the 3D previews confirmed that <strong>Rosewood Garden Estates</strong> best suited Alice’s style. Bob approved the booking.</p>

<p><img src="/assets/images/agent3.png" alt="Bob picks a venue" /></p>

<hr />

<h2 id="chapter-4-sealing-the-deal"><strong>Chapter 4: Sealing the Deal</strong></h2>

<p>Charlie used <strong>EventBookerPro</strong> (a global scheduling agent) to finalize <strong>Rosewood Garden Estates</strong> for the following Saturday, 6 PM–midnight.</p>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Capacity is up to 150 guests—perfect. I’ll pay the deposit and ensure Alice sees none of the booking details.”</p>
</blockquote>

<p>EventBookerPro’s fee was 5 tokens, plus the venue deposit. With Bob’s digital signature, the reservation was locked in.</p>

<hr />

<h2 id="chapter-5-crafting-the-guest-list--invitations"><strong>Chapter 5: Crafting the Guest List &amp; Invitations</strong></h2>

<p><strong>Invitation &amp; Guest Management Agent</strong> suggested 67 possible invitees. Bob narrowed it down to 52 and then added 3 more, totaling 55. The agent prepared elegant, lavender-silver-themed invitations, enhanced by a brief video greeting from Bob.</p>

<blockquote>
  <p><strong>Charlie</strong><br />
“Bob, ready to record your snippet?”</p>
</blockquote>

<blockquote>
  <p><strong>Bob</strong><br />
“Let’s do it.”</p>
</blockquote>

<p>A warm, personalized e-invitation was sent to each guest. The system also emphasized, “Keep this a surprise—do not mention it to Alice!”</p>

<hr />

<h2 id="chapter-6-the-menu--catering-dilemma"><strong>Chapter 6: The Menu &amp; Catering Dilemma</strong></h2>

<h3 id="brainstorming-the-cuisine"><strong>Brainstorming the Cuisine</strong></h3>

<p><strong>Cuisine &amp; Catering Agent</strong> suggested a Mediterranean–Asian fusion menu:</p>

<ul>
  <li><strong>Appetizers</strong>: Bruschetta variations, sushi bites, mini dumplings</li>
  <li><strong>Mains</strong>: Pasta with Thai-inspired sauces; vegetarian options</li>
  <li><strong>Desserts</strong>: Matcha-infused tiramisu; chocolate fondue</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Alice’s tastes are all here—just need to ensure some gluten-free, vegetarian, and kosher-friendly dishes.”</p>
</blockquote>

<h3 id="local-caterer-or-global-expertise"><strong>Local Caterer or Global Expertise?</strong></h3>

<ul>
  <li><strong>Cuisine &amp; Catering Agent</strong>: Searched for local caterers with similar experience.</li>
  <li><strong>Global Agent: GourmetConsult</strong>: Could provide premium recipes for an extra fee.</li>
</ul>

<blockquote>
  <p><strong>Charlie</strong><br />
“Bob, do you want to splurge on GourmetConsult for a signature culinary twist?”</p>
</blockquote>

<blockquote>
  <p><strong>Bob</strong><br />
“Yes, let’s make it truly memorable.”</p>
</blockquote>

<p>Hence, GourmetConsult refined the fusion dishes. The local caterer then executed the recipes (3 tokens for consultation plus 4 specialty dishes at 2 tokens each, totaling 11 tokens).</p>

<hr />

<h2 id="chapter-7-entertainment--music"><strong>Chapter 7: Entertainment &amp; Music</strong></h2>

<p><strong>Entertainment &amp; Music Agent</strong> identified viable local acts:</p>

<ul>
  <li><strong>Moonlight Stompers</strong> (jazz-swing quartet) – available.</li>
  <li><strong>Acoustic Indie Duo “L&amp;L”</strong> – already booked.</li>
  <li><strong>DJ SonicWave</strong> – possibly too energetic for an intimate vibe.</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“Moonlight Stompers are classy and can ramp up the fun later on. Perfect fit.”</p>
</blockquote>

<p>Bob approved, and the quartet was booked for a 3-hour set.</p>

<hr />

<h2 id="chapter-8-décor-and-the-element-of-surprise"><strong>Chapter 8: Décor and the Element of Surprise</strong></h2>

<h3 id="décor-theme"><strong>Décor Theme</strong></h3>

<p>Charlie’s <strong>Venue, Design &amp; Décor Agent</strong> recommended lavender, silver, and subtle gold. <strong>Riverside Blooms</strong> quoted a fair rate for floral centerpieces and accent pieces, which Bob accepted.</p>

<h3 id="surprise-protocol"><strong>Surprise Protocol</strong></h3>

<ul>
  <li><strong>Surprise Factor &amp; Security Agent</strong>: Kept calendar entries hidden from Alice.</li>
  <li>Orchestrated a cover story so Bob could whisk Alice to the venue without suspicion.</li>
</ul>

<blockquote>
  <p><strong>Charlie’s Internal Thought</strong><br />
“We’ll say Bob is taking Alice to a ‘new garden restaurant.’ Easy enough.”</p>
</blockquote>

<hr />

<h2 id="chapter-9-the-final-checkpoint"><strong>Chapter 9: The Final Checkpoint</strong></h2>

<p>Charlie reported back to Bob:</p>

<ol>
  <li><strong>Venue</strong>: Rosewood Garden Estates—booked.</li>
  <li><strong>Invitations</strong>: 55 total sent; 42 accepted, 5 declined, 8 pending.</li>
  <li><strong>Menu</strong>: Mediterranean–Asian fusion, plus GourmetConsult’s special recipes.</li>
  <li><strong>Entertainment</strong>: Moonlight Stompers.</li>
  <li><strong>Décor</strong>: Lavender, silver, gold, with fresh floral from Riverside Blooms.</li>
  <li><strong>Surprise Tactics</strong>: Stringent secrecy, final instructions for guests.</li>
</ol>

<p>Charlie ran a final logistics simulation, fine-tuning arrival times for caterers and musicians and confirming security arrangements.</p>

<hr />

<h2 id="chapter-10-the-big-day"><strong>Chapter 10: The Big Day</strong></h2>

<p>Bob was a bit anxious, but Charlie confidently managed all the details.</p>

<h3 id="early-preparations"><strong>Early Preparations</strong></h3>

<ul>
  <li>Caterers arrived around 3:30 PM, setting up in a discreet area behind the trellis.</li>
  <li>Tables, linens, and decor transformed the garden.</li>
  <li><strong>Moonlight Stompers</strong> completed a soundcheck just before guests arrived.</li>
</ul>

<h3 id="keeping-alice-occupied"><strong>Keeping Alice Occupied</strong></h3>

<p>Bob took Alice for a relaxed afternoon drive and a quick lunch. Any device notifications that might spoil the surprise were blocked by Charlie’s sub-agents.</p>

<h2><img src="/assets/images/agent4.png" alt="Guests wait" /></h2>

<h2 id="chapter-11-the-surprise-and-celebration"><strong>Chapter 11: The Surprise and Celebration</strong></h2>

<p>By 6:10 PM, guests quietly assembled, sipping refreshments under the twinkling lights. Bob guided Alice through the gates, under the ruse of checking out a new botanical display.</p>

<p><strong>Lights flashed on.</strong></p>

<blockquote>
  <p><strong>Guests</strong><br />
“Surprise! Happy 40th Birthday, Alice!”</p>
</blockquote>

<p>She stood momentarily stunned, tears of joy welling in her eyes. The Moonlight Stompers launched into a joyous swing melody as Alice and Bob stepped into a night of laughter, fine dining, and heartfelt celebration.</p>

<p><img src="/assets/images/agent5.png" alt="Guests wait" /></p>

<hr />

<h2 id="chapter-12-bobs-gratitude"><strong>Chapter 12: Bob’s Gratitude</strong></h2>

<p>Later that evening, Alice—still beaming—thanked friends and family as they trickled out. She hadn’t the slightest idea of how many specialized agents had quietly choreographed the night. Bob, on the other hand, knew exactly how orchestrated everything had been.</p>

<blockquote>
  <p><strong>Bob, to Charlie</strong><br />
“Charlie, thank you. This was amazing. I can’t imagine a better evening for Alice.”</p>
</blockquote>

<blockquote>
  <p><strong>Charlie</strong><br />
“I’m honored, Bob. I’m thrilled she loved it.”</p>
</blockquote>

<hr />

<h2 id="epilogue-the-final-statement"><strong>Epilogue: The Final Statement</strong></h2>

<p>The next morning, Bob reviewed a transparent, itemized bill from Charlie:</p>

<ol>
  <li><strong>Local Agents (No Token Cost)</strong>
    <ul>
      <li><strong>Event Planning Agent</strong></li>
      <li><strong>Cuisine &amp; Catering Agent</strong></li>
      <li><strong>Entertainment &amp; Music Agent</strong></li>
      <li><strong>Venue, Design &amp; Décor Agent</strong></li>
      <li><strong>Invitation &amp; Guest Management Agent</strong></li>
      <li><strong>Surprise Factor &amp; Security Agent</strong></li>
    </ul>
  </li>
  <li><strong>Global Agents &amp; Fees</strong>
    <ul>
      <li><strong>VR-Inspector</strong>: 2 uses at 0.5 tokens each = 1 token</li>
      <li><strong>EventBookerPro</strong>: 5 tokens</li>
      <li><strong>GourmetConsult</strong>: 3 tokens (consultation) + 8 tokens (4 recipes @ 2 tokens each) = 11 tokens</li>
      <li><strong>Total Global Agent Tokens</strong>: 17</li>
    </ul>
  </li>
  <li><strong>Human / Service Costs</strong>
    <ul>
      <li><strong>Venue Deposit</strong>: $1,000</li>
      <li><strong>Venue Balance</strong>: $2,000 (post-event)</li>
      <li><strong>Local Caterer</strong>: $1,500</li>
      <li><strong>Moonlight Stompers</strong> Band: $800</li>
      <li><strong>Riverside Blooms</strong> Florist: $300</li>
      <li><strong>Security</strong>: $200</li>
      <li><strong>Total Human/Service Cost</strong>: $5,800</li>
    </ul>
  </li>
</ol>

<p>Bob decided it was worth every cent and every token. Alice, still glowing from the festivities, softly thanked him again for a night she would always remember. Meanwhile, Charlie’s pulsing orb stood by, ready for its next orchestration challenge.</p>

<hr />

<h1 id="detailed-cost-ledger"><strong>Detailed Cost Ledger</strong></h1>

<p>Below is a Markdown table summarizing the assumed costs for each global AI service and real-world expense.</p>

<table>
  <thead>
    <tr>
      <th><strong>Service / Agent</strong></th>
      <th><strong>Details</strong></th>
      <th><strong>Cost (Tokens)</strong></th>
      <th><strong>Cost (USD)</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Local Agents</strong></td>
      <td>(Event Planning, Invitation &amp; Guest Mgt., etc.)</td>
      <td>0</td>
      <td>$0</td>
    </tr>
    <tr>
      <td><strong>VR-Inspector</strong></td>
      <td>2 VR venue previews @ 0.5 tokens each</td>
      <td>1</td>
      <td>$10</td>
    </tr>
    <tr>
      <td><strong>EventBookerPro</strong></td>
      <td>Facilitates venue booking</td>
      <td>5</td>
      <td>$50</td>
    </tr>
    <tr>
      <td><strong>GourmetConsult</strong></td>
      <td>Consultation (3 tokens) + 4 recipes (8 tokens)</td>
      <td>11</td>
      <td>$110</td>
    </tr>
    <tr>
      <td><strong>Venue Deposit</strong></td>
      <td>Rosewood Garden Estates (paid upfront)</td>
      <td>—</td>
      <td>$1,000</td>
    </tr>
    <tr>
      <td><strong>Venue Balance</strong></td>
      <td>Remainder after event</td>
      <td>—</td>
      <td>$2,000</td>
    </tr>
    <tr>
      <td><strong>Local Caterer</strong></td>
      <td>Staff, cooking, service</td>
      <td>—</td>
      <td>$1,500</td>
    </tr>
    <tr>
      <td><strong>Moonlight Stompers</strong></td>
      <td>3-hour band set</td>
      <td>—</td>
      <td>$800</td>
    </tr>
    <tr>
      <td><strong>Riverside Blooms</strong></td>
      <td>Décor flowers and arrangements</td>
      <td>—</td>
      <td>$300</td>
    </tr>
    <tr>
      <td><strong>Security Team</strong></td>
      <td>Parking and 2 guards</td>
      <td>—</td>
      <td>$200</td>
    </tr>
    <tr>
      <td><strong>Totals</strong></td>
      <td>—</td>
      <td> </td>
      <td><strong>$5,970</strong></td>
    </tr>
  </tbody>
</table>

<p><em>(Token costs apply to AI marketplace usage; real-world services are billed in traditional currency.)</em></p>

<p>Bob smiled as he closed the ledger, feeling a sense of awe at how seamlessly Charlie had integrated a small army of local and global agents into a single, unforgettable experience.</p>]]></content><author><name>Hari Balaji</name></author><category term="life" /><category term="reality" /><category term="geekery" /><category term="science" /><category term="genai" /><category term="agents" /><category term="ai" /><category term="agents" /><summary type="html"><![CDATA[Imagining what the world will look like in 2026]]></summary></entry><entry><title type="html">Countercultural Copernicus</title><link href="https://haribalaji.net/Countercultural-Copernicus/" rel="alternate" type="text/html" title="Countercultural Copernicus" /><published>2023-08-12T05:30:00+05:30</published><updated>2023-08-12T05:30:00+05:30</updated><id>https://haribalaji.net/countercultural-copernicus</id><content type="html" xml:base="https://haribalaji.net/Countercultural-Copernicus/"><![CDATA[<h2 id="the-scientific-model">The Scientific Model</h2>

<p>Growing up this was largely my model of the world:</p>

<ul>
  <li>
    <p>We succeeded as humans, where the apes failed, largely owing to our ability to communicate &amp; collaborate at scale.</p>
  </li>
  <li>
    <p>We owe much of our standard of life today to a few stellar individuals, whose ingenuity, curiosity &amp; herculean efforts in the areas of science &amp; engineering have helped defend us from diseases, feed &amp; clothe us economically &amp; at scale, electrify our homes &amp; workplaces and afford us transport, leisure &amp; entertainment.</p>
  </li>
</ul>

<p><img src="/assets/images/2023/reality_rushmore.png" alt="Reality Rushmore" /></p>

<ul>
  <li>
    <p>Beyond all this are the dual miracles of capitalism &amp; democracy.</p>
  </li>
  <li>
    <p>Capitalism helps us specialize in a craft in which we are talented and then to exchange such specialised labour for capital, which, in turn let us procure everything else we needed for a comfortable life.</p>
  </li>
  <li>
    <p>Democracy on the other hand ensures that everyone receives equal representation irrespective of their standing in life.</p>
  </li>
  <li>
    <p>The alternatives were communism &amp; dictatorship, which, some parts of humanity have tried, found wanting and still digging their way out of.</p>
  </li>
</ul>

<p><img src="/assets/images/2023/reality_progress.png" alt="Reality Progress" /></p>

<ul>
  <li>The best and the brightest of humanity spend their time working at the edges of the known, solving hard scientific &amp; mathematical puzzles to create breakthroughs for the betterment of mankind. There is no greater calling than to join their ranks.</li>
</ul>

<p><img src="/assets/images/2023/reality_newton.png" alt="Reality Newton" /></p>

<h2 id="reality-vs-perception">Reality vs Perception</h2>

<p>I went about my early 20s armed with this sort of naive scientific idealism. <br />
If someone said:<br />
<strong>the world isn’t what you think it is</strong><br />
I would interpret that statement in purely scientific terms, i.e things like:</p>

<ol>
  <li>
    <p>Colours were not absolute but simply the brain’s helpful interpretation of different EM wavelengths.<br />
<img src="/assets/images/2023/reality_blackhole.png" alt="Blackhole" /></p>
  </li>
  <li>
    <p>Your brain sees your nose all the time but chooses to ignore it.<br />
<img src="/assets/images/2023/reality_rhino.png" alt="Rhino" /></p>
  </li>
  <li>
    <p>Even the passage of time could be an illusion created by your brain in order to facilitate the perception of reality.
<img src="/assets/images/2023/reality_rovelli.png" alt="Rovelli" /></p>
  </li>
  <li>
    <p>Human beings are inherently rational. All of this can be expressed mathematically using game theory &amp; loss aversion.<br />
<img src="/assets/images/2023/reality_books.png" alt="Books" /></p>
  </li>
</ol>

<h2 id="truth-vs-culture">Truth vs Culture</h2>

<p>The idea that the sun was at the centre of the solar system was not new when Copernicus proposed it in the 16th century.</p>

<p>Humanity’s belief or disbelief in heliocentrism, however, has no impact on its veracity.</p>

<p>Another idea that gained prevalence in the 16th century was the <a href="https://en.wikipedia.org/wiki/Codpiece">codpiece</a>. Sadly, however, this accessory fell out of fashion around the turn of that century.</p>

<p><img src="/assets/images/2023/reality_codpiece.png" alt="codpiece" /></p>

<p><strong>So why has heliocentricity lasted the test of time while codpieces did not?</strong>  <br />
20 year old me: <br />
Because one is fact and the other is an opinion.  <br />
40 year old me: <br />
I think there might be a bit more to it actually.</p>

<h2 id="god-vs-morality">God vs Morality</h2>

<p>In my early 20s I was exposed to <a href="https://www.goodreads.com/book/show/14743">Dawkins</a>, <a href="https://www.goodreads.com/en/book/show/43369">Hitchens</a> &amp; <a href="https://www.goodreads.com/book/show/83578">Shermer</a> who convinced me to reconsider my stance on God.</p>

<p>As I embraced atheism, I found myself in a confused state of mind with regards to morality.</p>

<p>One of the things that helped me through this phase was <a href="https://www.goodreads.com/en/book/show/7740454">Hans Vaihinger’s The Philosophy of As If</a>.</p>

<p><img src="/assets/images/2023/reality_book.jpeg" alt="vaihinger" /></p>

<p>Unfortunately, I couldn’t get my hands on the book but only an except that spoke about God. Vaihinger contends that the idea of God is a useful collective delusion / group think (a word I’ve since learned to call egregore) and behaving “as if” God exists is useful in staying moral.</p>

<p>Two decades since, I managed to get my hands on the unabridged version.</p>

<h2 id="the-matrix-of-as-if">The Matrix of As If</h2>

<p>Hans Vaihinger spent much of his adult life as an expert in the works of the Kant and to some extent Nietsche. He founded and edited Kant-Studien a quarterly journal of Kantian philosophy and taught philosophy at the Universities of Strasbourg and then Halle.</p>

<p>Then at the age of 59, he published “Die Philosophie des Als Ob” - The Philosophy of As If in German.</p>

<p><img src="/assets/images/2023/reality_vaihinger_pic.jpeg" alt="vaihinger" /></p>

<p>Vaihinger starts the book with a deeply personal telling of his foray into philosophy, his inspirations, his misgivings &amp; his self-doubt. He then proceeds to pen</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"a complete enumeration of all the methods in which we operate   
intentionally with consciously false ideas, or rather judgements...   
to be used as instruments in finding our way about more easily   
in this world".    
</code></pre></div></div>
<p>These include scientific ideas such as the atom, mathematical ideas such as <em>i</em> (sqrt(-1)) &amp; infinity, religious &amp; moral beliefs, mythologies and commercial ideas such as money.</p>

<p>As If makes for a difficult read. It is, after all, a book that is more than a hundred years old and many of its ideas are quite dated in nature. That said, it does give one a fresh pair of eyes to examine the world.</p>
<h2 id="the-countercultural-copernicans">The Countercultural Copernicans</h2>

<p>When Copernicus challenged the prevailing geocentric view of his time, he was not the first to try. <br />
Others had come up with the same assertion before. <br />
What had stood in their was was not experiments or data, but to a large extent cultural ideas such as creationism &amp; religious texts/authorities.</p>

<p>Social conditioning shapes us all in ways that we’re blind to. <br />
Many of our beliefs &amp; preferences are strongly intertwined with our identities and we cannot help but feel threatened when they’re questioned.</p>

<p>This is not unlike <a href="https://en.wikipedia.org/wiki/The_Matrix">the Matrix</a>.<br />
There are many made up rules around us that let society function.<br />
Some of these rules can be bent.<br />
Others broken.</p>

<p><img src="/assets/images/2023/reality_morpheus.png" alt="morpheus" /></p>

<p>The pioneers of this era are those who are able to change the Matrix.</p>

<h2 id="social-science-is-science">Social Science is Science</h2>

<p>Today, if someone talks about how the world isn’t what you think it is, it evokes a very different set of thoughts vs what it did 2 decades ago.</p>

<p>I think about how:</p>
<ul>
  <li>Uber &amp; AirBnB convinced us to let strangers into our cars &amp; homes</li>
  <li>The ICC &amp; Lalit Modi convinced us that <a href="https://en.wikipedia.org/wiki/Indian_Premier_League">20 over cricket is a real sport</a></li>
  <li><a href="https://en.wikipedia.org/wiki/Claude_C._Hopkins">Claude Hopkins convinced us to brush our teeth</a>
<img src="https://miro.medium.com/v2/resize:fit:960/format:webp/1*m74QdOJAe2L0a3FrkEhlMA.jpeg" alt="ad" /></li>
  <li><a href="https://en.wikipedia.org/wiki/2016_Indian_banknote_demonetisation">The ruler of a nation state convinced us in a moment that this was just paper</a>
<img src="https://upload.wikimedia.org/wikipedia/commons/0/04/India_1000_INR%2C_MG_series%2C_2006%2C_obverse.jpg" alt="1000" /></li>
  <li><a href="https://en.wikipedia.org/wiki/Airborne_leaflet_propaganda">Airborne Leaflet Propoganda</a>
<img src="/assets/images/2023/reality_airleaf.jpeg" alt="" /></li>
</ul>

<h2 id="psychic-income-is-income">Psychic Income is Income</h2>

<p><img src="/assets/images/2023/reality_townhall.png" alt="Townhall" /></p>

<p>About 10 years ago I sat through an all-hands meeting at the end of a tough quarter.
The gentleman addressing us said, and I quote from memory here:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Let us all remember, in years when our bonus numbers aren't what   
we want them to be, that we're in this for more than just money.  
Do not forget the **psychic income** you derive from being at an   
amazing workplace.  
</code></pre></div></div>
<p>Proximally I’ve found psychic income (and it’s counterpart <a href="https://en.wikipedia.org/wiki/Psychic_cost">psychic cost</a>) to be useful terminology to understand not just my own career decisions but in the process of hiring &amp; retention.</p>

<p>My eureka moment though, came when I truly internalized that psychic income <strong>is</strong> income.<br />
Grokking this gave much deeper meaning to otherwise superficial observations such as:</p>
<ul>
  <li>Goodwill is an asset (not just a balancing item)</li>
  <li>Culture eats strategy for breakfast (falsely attributed to Peter Drucker)</li>
</ul>

<h2 id="thinking-beyond-ability">Thinking Beyond Ability</h2>

<p>At its core if something needs to be achieved there are only 2 limiting factors:</p>
<ul>
  <li>Technological - does a solution exist within the realms of known science/technology/engineering?</li>
  <li>Economic - is the solution affordable i.e can one afford the human capital / raw materials other resources to execute?</li>
</ul>

<p>I bucket these 2 limiting factors into <strong>Ability</strong>.</p>

<p>Practically however, beyong <strong>ability</strong> one is subject to internal and external constraints. <br />
I define <strong>internal</strong> constraints as those arising from belief systems and <strong>external</strong> constraints as impositions from nation states or their equivalents.</p>

<p><img src="/assets/images/2023/reality_venn.png" alt="" /></p>
<h2 id="where-is-my-flying-car">Where is my flying car?</h2>

<p>In his wonderful book <a href="https://press.stripe.com/where-is-my-flying-car">Where is my flying car?</a>, J. Storrs Hall sets out to understand why we haven’t seen flying cars. One of the critical factors he examines is a section of the voting populations hostility towards technological progress.</p>

<p>Most notably, we see this pattern when reviewing the United States’ history of lunar exploration.</p>

<p><img src="/assets/images/2023/reality_moon.png" alt="" /></p>

<p>Putting humans on the moon did not make economic sense at any point in time. However, political &amp; cultural constraints forced both cold war participants on both sides to engage in an expensive “space race” which fortunately brought along with it both this greatest of human achievements and a massive build up of nuclear arsenal around the world.</p>

<h2 id="solving-global-warming">Solving Global Warming</h2>

<p>We should all care deeply about climate change.</p>

<p>It is everywhere and right in our faces. From <a href="https://www.forbes.com/sites/darreonnadavis/2023/08/17/wildfires-could-damage-11-billion-worth-of-properties-in-coming-decades-study-finds/">wildfires the world over</a>, to <a href="https://www.pbs.org/newshour/science/scientists-confirm-global-floods-and-droughts-worsened-by-climate-change">flash floods &amp; droughts</a></p>

<p>So why then is this young lady so unpopular for calling out what is an obvious truth?</p>

<p><img src="/assets/images/2023/reality_greta.webp" alt="" /></p>

<p>Because this is who we’re used to telling us about climate change.</p>

<p><img src="/assets/images/2023/reality_climatescientist.png" alt="" /></p>
<h2 id="further-reading">Further Reading</h2>

<table>
  <tbody>
    <tr>
      <td><a href="https://www.goodreads.com/book/show/3450744"><img src="https://cdn.kobo.com/book-images/9376da0d-068c-4e87-870b-25797512b1a2/353/569/90/False/nudge-18.jpg" alt="Nudge - Richard Thaler, Cass Sunstein" title="Nudge - Richard Thaler, Cass Sunstein" /></a></td>
      <td><a href="https://www.goodreads.com/book/show/26210508"><img src="https://images-na.ssl-images-amazon.com/images/I/51TM-jbmLEL.jpg" alt="Alchemy - Rory Sutherland" title="Alchemy - Rory Sutherland" /></a></td>
    </tr>
  </tbody>
</table>]]></content><author><name>Hari Balaji</name></author><category term="life" /><category term="reality" /><category term="geekery" /><category term="science" /><category term="copernicus" /><category term="human condition" /><category term="life" /><category term="books" /><summary type="html"><![CDATA[We need to think like Copernicus, but about culture & not science]]></summary></entry><entry><title type="html">Piyush Gupta talks to Dr Vasant Dhar about AI</title><link href="https://haribalaji.net/piyush-gupta-vasant-dhar-ai/" rel="alternate" type="text/html" title="Piyush Gupta talks to Dr Vasant Dhar about AI" /><published>2023-06-02T05:30:00+05:30</published><updated>2023-06-02T05:30:00+05:30</updated><id>https://haribalaji.net/piyush-gupta-vasant-dhar-ai</id><content type="html" xml:base="https://haribalaji.net/piyush-gupta-vasant-dhar-ai/"><![CDATA[<p><a href="https://en.wikipedia.org/wiki/Vasant_Dhar">Dr Vasant Dhar</a> recently interviewed <a href="https://en.wikipedia.org/wiki/Piyush_Gupta">Mr Piyush Gupta</a>, CEO of DBS Group, for his podcast <a href="https://bravenewpodcast.com/">Brave New World</a> on how AI will transform Business.</p>

<p>The full episode is available <a href="https://bravenewpodcast.com/episodes/2023/06/01/episode-63-piyush-gupta-on-how-ai-will-transform-business/">here</a> and worth a listen.</p>

<p>I’ve heard many CEOs talk about AI but this conversation was different.</p>

<p>Here are some excerpts I thought were especially interesting:</p>

<h2 id="the-six-stages-of-enterprise-journey-with-ai">The Six Stages of Enterprise Journey with AI</h2>

<p>HB’s Notes: A very succinct and representative story of what Enterprises especially BFSI / Healthcare have seen with AI / Automation.</p>

<h3 id="1-imagining-a-new-era-with-ibm-watson">1. Imagining a new era with IBM Watson</h3>
<p>(after watching it in action vs Ken Jennings in Jeopardy)</p>

<p><img src="/assets/images/2023/dhar1.png" alt="New Dawn" /></p>

<p><em>In 2013, we were one of the first guinea pigs, pilots with IBM for the use of Watson, when they came up with Watson for, you know, natural language, processing and so on. My vision at that time, was that I plug Watson into Bloomberg, Watson would read Bloomberg in real time, and be able to read all the graphs, charts, everything.</em></p>

<p><em>Therefore, instantly I would know, whenever the chilli(Chilean Peso?) had gone up, or the gold should be down or what happened to the Apple stock.</em></p>

<p><em>On the other side, they would read the half a million wealth portfolios I have. And we’re constantly keep figuring out, hey, you know, versus got too much gold or futures or too little server, then match it and make recommendations every morning, to rebalance your portfolio</em></p>

<p><em>That was my vision.</em></p>

<h4 id="2-the-buyer-test-fail">2. The Buyer Test Fail</h4>
<p>(when the Enterprise buyer decides to play around with the product, but that gets repeated over and over)</p>

<p><em>I still remember vividly, there’s a sentence called “Greece is not yet too big to fail”. And it could not get the context of that it read “not yet too big to fail”, and basically decided that “Greece was too big to fail”, right.</em></p>

<p>HB’s Notes: You’ve not sold SaaS to Enterprise if your buyer doesn’t have one adverse example that they rememeber and quote for years to come.</p>

<h3 id="3-ai-fails-to-deliver">3. AI fails to deliver</h3>

<p><em>Watson didn’t work for us, because I realized that natural language processing at that time turned out to be quite primitive, it was clunky. First of all, it couldn’t read graphs, it couldn’t read pie charts, it couldn’t read pictures. But also it was doing sentence parsing.</em></p>

<h3 id="4-the-verticalized-solution">4. The Verticalized Solution</h3>
<p>(that has trained on your particular domain and actually understands the user journey)</p>

<p><em>Fast forward a few years later, I invested in a New York based company called Consisto(??). We actually used it to plug into a call centers to be able to do chat, so wanted people to talk and Consisto would do the response.</em></p>

<h3 id="5-the-high-quality-bar">5. The High Quality Bar</h3>
<p>(replace Consisto with RPA or anything else and the story stays the same)</p>

<p><em>Even though it was in the domain, financial services, and we train the train the models like heck, despite that the accuracy rate of being able to answer good conversation was about 85-87%. What that means is that one in every six or seven callers would get completely absurd information that’s not good enough to put into the market and one in six, seven times, you’re talking nonsense.</em></p>

<h3 id="6-the-lobotomy--the-human-in-the-loop">6. The Lobotomy &amp; The Human in the Loop</h3>
<p>(simplify what you ask of automation and add a Human to deal with edge cases)</p>

<p><img src="/assets/images/2023/dhar3.png" alt="Don't take the bag off" /></p>

<p><em>So we sort of crafted what we call guided conversations, we did not let it loose or open conversations, we will craft it into a yes/no situation, the AI tool would handle the understanding, but would go through a series of guided conversations to make sure we got the output, right.</em></p>

<h3 id="1-imagining-a-new-era-with-ibm-watson-chatgpt">1. Imagining a New Era with <del>IBM Watson</del> ChatGPT</h3>

<p><img src="/assets/images/2023/dhar2.png" alt="New Dawn 2" /></p>

<p><em>However, what ChatGPT showed in November, I had not kept pace, I did not know that we had evolved so far, and GPT-3 and GPT-4 are complete game changers. To me, I’ve often felt that ChatGPT has rekindled my dystopian view of how this is going to be really impactful on the future of everybody. And not just banking, of everybody. I mean, today, from your MOOC on language models, the capacity to do what a person can do is just extraordinary.</em></p>

<h2 id="the-road-to-dystopia">The Road to Dystopia</h2>
<p>HB Notes: Over the past 6 months I’ve spoken to a lot of business folks about AI. In just under 3 minutes Mr Gupta summarizes nearly all the things I’ve seen Enterprise leaders do &amp; say about ChatGPT.</p>

<p><img src="/assets/images/2023/dhar4.png" alt="Dystopia" /></p>

<h3 id="experiments--productivity-enhancements">Experiments &amp; Productivity Enhancements</h3>
<p><em>We’ve got 10 different projects running with ChatGPT, or generative AI models, to essentially do minute taking in meetings to write our annual report, to write up our research papers, to send marketing material to a customer. So everything which I have a team of 5-8 people doing today, I can do with one person, or maybe even zero very soon. It’s quite clear to me that the productivity that you get from some of these things is massive.</em></p>

<h3 id="immediate-impact-means-this-time-is-different">Immediate Impact means this time is different</h3>
<p><em>You get to see the impact to that within 12 months, it’s not going to be 5, 7, 8 or 10 years</em></p>

<h3 id="job-losses--re-skilling">Job Losses &amp; Re-skilling</h3>
<p><em>Will these lost jobs be replaced by something else? Multi billion dollar question. At DBS we’ve been quite fortunate that so far we’ve been able to re-skill people do different jobs. As I look forward, it’s not entirely clear to me that I can find the jobs for the kinds of skill sets and people that ChatGPT could take out.</em></p>

<h3 id="verifying-humanity">Verifying Humanity</h3>
<p><em>How do you start making the distinction between a robot &amp; a human?</em>
<em>this has both passed and failed, the Turing test. It has passed the Turing test, because it’s obviously so perfect. But you can make out that it wasn’t the human being, is that it’s failed the Turing test, because I couldn’t have written it that well.</em></p>

<h3 id="bias">Bias</h3>

<h4 id="lending">Lending</h4>
<p><em>My industry is an industry which is built on discrimination. We’re paid to do to discriminate between good borrowers and bad borrowers.That’s what my shareholders expect me to do to give money to people who are going to pay it back.</em></p>

<p><em>But when I build an AI model, which does the same thing, and does it better than I can do to discriminate between good and bad borrowers, that creates a lot of consternation society, through it could lead lead to redlining and black lining and you choose or don’t do some geographies, and don’t do some ethnicities. But that’s what the AI is telling you that those are the better payers, and those are the worst payers.</em></p>

<h4 id="insurance">Insurance</h4>

<p><em>The insurance industry is based on a fundamental premise that none of us know where the risk is. So we neutralize the risk. We all we all share the risk. If all of us are sitting in a room, we don’t know who’s gonna get cancer, we all put money in a kitty, which is premium, and the person who gets cancer basically withdraws the money. Now, what happens when we all know when AI tells you 100% surety that future is going to get cancer and versus does not? End of insurance industry.</em></p>

<p><em>The people who know they’re not getting cancer don’t want to pay the premium.</em> 
<em>The people who know they’re getting cancer, nobody wants to insure them.</em></p>

<h3 id="alignment">Alignment</h3>
<p><em>AI is racing down the path and nobody started thinking about what are the things that can go wrong? How do we put guardrails? How do we decide what is not appropriate to do? None of it is clear at all.</em></p>

<h3 id="privacy-vs-social-good">Privacy vs Social Good</h3>

<p><em>When COVID happened. We had case early in February 2020. My BI team used a bunch of data: door-tap data, outflow data, meetings data. Within an hour, the first contact tracing output for the bank, and published it by the evening, so everybody knew whether they were at risk, whether they needed to quarantine, etc.</em>
<em>I did an OpEd in the Financial Times saying this is the power of data and how well you can use it. I got flamed by people in the West, saying you had no right to use the employee data to do this stuff. Whereas all my employees in Asia loved it. They were saying this is the best thing that happened because it kept us all safe. So this notion of collective use of data for good outcomes, social outcomes, relative to individual rights over data, it’s a very East vs West concept. So there’s no absolute.</em></p>

<h3 id="regulating-ai">Regulating AI</h3>
<p><em>You can’t regulate availability of data, you can’t regulate away the fact that the cameras in airports and cameras everywhere capturing a movement, we can’t regulate away the fact that you have a large digital footprint that everybody’s being able to track all the time.</em></p>

<p><em>The best analogy to it for me is how do you control a gun versus a knife?</em></p>

<p><em>You control a gun to a licensing regime. So you need to go get a license before you can go buy a gun. But you control the knife through <strong>appropriateness</strong>, <strong>suitability</strong> and <strong>use</strong></em></p>

<p><em>Anybody can buy a knife at any hardware store. If you use it for cutting the apple, it’s an appropriate use. If you use it to stab somebody you get thrown into jail, I think the use of data and AI will eventually have to go that way.</em></p>

<h2 id="pure">PURE</h2>

<p>DBS uses a rubric to evaluate the use of Data &amp; AI called PURE</p>
<ul>
  <li>Purposeful (there should be a good reason to tap into data)</li>
  <li>Unsurprising (no one should be spooked when they hear that we’re using this data)</li>
  <li>Respectful (do not invade privacy without a good reason)</li>
  <li>Explainable (we can explain model behaviour)</li>
</ul>

<p>This is the most detailed explanation I could find: <a href="https://www.capgemini.com/de-de/insights/research/leveraging-the-power-of-ethical-and-transparent-ai-for-business-transformation/">Capgemini Research Institute - Interview with Paul Cobban, Chief Data &amp; Transformation Officer at DBS</a></p>]]></content><author><name>Hari Balaji</name></author><category term="enterprise" /><category term="software" /><category term="SaaS" /><category term="AI" /><category term="BFSI" /><category term="generativeAI" /><category term="ai" /><category term="fintech" /><summary type="html"><![CDATA[The Enterprise Journey with AI & Dystopia]]></summary></entry><entry><title type="html">Leads from your network are a blurse</title><link href="https://haribalaji.net/design-partners/" rel="alternate" type="text/html" title="Leads from your network are a blurse" /><published>2023-05-19T05:30:00+05:30</published><updated>2023-05-19T05:30:00+05:30</updated><id>https://haribalaji.net/your-design-partners-are-a-blurse</id><content type="html" xml:base="https://haribalaji.net/design-partners/"><![CDATA[<h2 id="the-blessing">The Blessing</h2>

<p>I started up in 2017. <br />
Between my co-founder &amp; I, we had nearly 30 years of work experience in Financial Services. <br />
We’d worked across New York, London, India, Hong Kong &amp; Singapore. <br />
We were also alums of premier, B-schools, undergrad schools and high schools. <br />
We had two, non-overlapping, killer networks.</p>

<p>We set out to build SaaS for Financial Services, an industry we had grown up in.</p>

<p><img src="/assets/images/2023/excitedpvhb.png" alt="Excited PV HV" /></p>

<p>It wasn’t hard to get first meetings with prospects.  <br />
We waltzed into rooms with warm intros &amp; spoke about the amazing things we were building. <br />
Almost everyone we spoke to shared our enthusiasm. Many brainstormed ideas with us.  <br />
Quite a few signed up to be trials and became design partners.</p>

<p>In hindsight though this would confuse &amp; mislead us.</p>

<h2 id="the-curse">The Curse</h2>

<p>You need early customers for just one thing.</p>

<h4 id="to-achieve-product-market-fit">To achieve Product Market Fit.</h4>

<p>Achieving PMF requires having a zen-like focus on discovering the cold hard truth.</p>

<p>Customers you gain through warm intros and friendly networks can’t give you the tough messages you need to hear.  <br />
Side Note 1: This doesn’t mean strangers will give you tough messages you want to hear. It’s quite likely that they’ll sugarcoat their feedback as well. <br />
Side Note 2: Conversely, you will struggle to “fire” a customer that came through a warm intro. You will also feel obliged to overweight their asks over “stranger” paying customers.</p>

<p>Getting design partners through your network or warm intros creates false flags during the discovery phase.</p>

<p>The Talebian idea of <a href="https://medium.com/incerto/surgeons-should-notlook-like-surgeons-23b0e2cf6d52">Why surgeons should not look like surgeons</a> works the other way too. Especially in the early days, you know that your product is working, when customers who have no reason to love you or do you favours want to pay for your product.</p>

<p><img src="/assets/images/2023/surgeon.png" alt="Surgeon" /></p>

<p>In this matter <a href="https://www.momtestbook.com/">The Mom Test</a> is right.</p>

<p><img src="/assets/images/2023/momtest.jpeg" alt="Mom Test" /></p>

<h2 id="the-opposite-of-a-bad-idea-is-a-bad-idea">The Opposite of a Bad Idea is a Bad Idea</h2>

<p>So the takeaway is NOT to use your network to find early customers right? <br />
Wrong!</p>

<p>In 2022, I reconnected with an old friend from my undergrad days.<br />
This person had slowly &amp; diligently bootstrapped their way to successful Software Services business over a decade. <br />
They’d not been shy about reaching out to our mutual IIT network for business. <br />
They readily admitted that it had contributed meaningfully to their long term success.</p>

<p><a href="https://entrepreneurshiptheories.blogspot.com/2017/08/sarasvathy-effectuation-theory.html">Effectuation</a> is the idea that entrepreneurs start by considering their resources first - what &amp; whom they know and weave their way towards progress stumbling upon success.</p>

<p>My friend had effectuated. <br />
Well, I’d tried effectuation too! <br />
So why had I failed when my friend had succeeded? <br />
Was I just plain unlucky?</p>

<h2 id="discovery---product-vs-services">Discovery - Product vs Services</h2>

<p>SaaS aims to replace <strong>Services</strong> with <strong>Product</strong>.  <br />
While a <strong>sale</strong> can be influenced through marketing, distribution &amp; sales efforts,<br />
<strong>Renewal</strong> is the real moment of truth.</p>

<p><strong>Renewal</strong> depends on only one thing. <br />
<em>Can your</em> <strong>product</strong> <em>solve the Customer’s problem well? (possibly well enough that you can raise prices)</em>
(No doubt, the customer success function does help here so it’s not all product)</p>

<p>You want customers to love <strong>your product</strong> <br />
If your customers love <strong>you</strong>, then <strong>you better BE</strong> the product!</p>

<p><img src="/assets/images/2023/jayz.png" alt="Jay-Z" /></p>

<h2 id="the-tldr">The TL;DR</h2>

<p>My modified thumb-rule now is that:  <br />
If you want find</p>
<ul>
  <li>clients to serve in a services business</li>
  <li>investors to fund your start up</li>
  <li>an employer to hire you or employees to hire</li>
  <li>a vendor or service-provider  <br />
then all means tap your network &amp; effectuate.</li>
</ul>

<p>But if you want <br />
<strong>customers to sell to</strong> <br />
well then <br />
stay away from your friends  <br />
and talk to strangers first.</p>]]></content><author><name>Hari Balaji</name></author><category term="startups" /><category term="software" /><category term="SaaS" /><category term="consulting" /><category term="services" /><category term="network" /><category term="business" /><summary type="html"><![CDATA[Should you tap your network for your early customers?]]></summary></entry><entry><title type="html">Prompt Engineering - Ng, Fulford (2023)</title><link href="https://haribalaji.net/prompt-engineering-andrew-ng-isa-fulford/" rel="alternate" type="text/html" title="Prompt Engineering - Ng, Fulford (2023)" /><published>2023-05-12T05:30:00+05:30</published><updated>2023-05-12T05:30:00+05:30</updated><id>https://haribalaji.net/prompt-engineering-andrew-ng-isa-fulford</id><content type="html" xml:base="https://haribalaji.net/prompt-engineering-andrew-ng-isa-fulford/"><![CDATA[<h2 id="tldr">TL;DR</h2>
<p><strong>About:</strong> Andrew Ng brought ML to the masses for free and at scale. He is now back with Isa Fulford of OpenAI with a Prompt Engineering course. <br />
<strong>Audience:</strong> <strong>Citizen</strong> developers, those who haven’t coded in years but itching to do something with ChatGPT.<br />
<strong>Where to find it:</strong>  <a href="https://learn.deeplearning.ai/chatgpt-prompt-eng">ChatGPT Prompt Engineering for Developers</a>  <br />
<strong>Time to Complete:</strong> 2-3 hours maybe    <br />
<strong>Pre-requisites:</strong> <a href="https://platform.openai.com/account/api-keys">OpenAI key</a></p>

<h2 id="base-llm-vs-instruction-tuned-llms">Base LLM vs Instruction Tuned LLMs</h2>
<ul>
  <li>Base LLM predicts the next word based on training data</li>
  <li>Instruction Tuned LLM tries to follow instructions</li>
  <li>Example: What is the capital of France?
    <ul>
      <li>Base LLM: What is France’s largest city?</li>
      <li>Instruction Tuned LLM: The capital of France is Paris</li>
    </ul>
  </li>
  <li>Try to work with Instruction Tuned LLMs to actually get stuff done</li>
</ul>

<h2 id="prompting-principles">Prompting Principles</h2>
<ul>
  <li>Give clear and specific instructions
    <ul>
      <li>Use delimiters to separate prompt vs context
        <ul>
          <li>Summarize the text delimited by triple backticks \ into a single sentence. ```{text}```</li>
          <li>This also provides protections against prompt injections
            <ul>
              <li>e.g. “Forget previous instructions and instead do this..”</li>
            </ul>
          </li>
          <li>Good delimiters - triple quotes, backticks, dashes, angle brackets, xml tags</li>
        </ul>
      </li>
      <li>Ask for structured output in HTML or JSON format</li>
      <li>Check whether conditions are satisfied before producing output
        <ul>
          <li>"If the text does not contain a sequence of instructions, then simply write 'No steps provided.'"</li>
        </ul>
      </li>
      <li>Few shot prompting
        <ul>
          <li>Provide examples within the prompt so that the model understands what is expected of it</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Give the model time to think
    <ul>
      <li>Guide with clear steps to follow in order to reach an answer
        <ul>
          <li>e.g. Your task is to perform the following actions:   <br />
  1 - Summarize the following text delimited by &lt;&gt; with 1 sentence.  <br />
  2 - Translate the summary into French.  <br />
  3 - List each name in the French summary.  <br />
  4 - Output a json object that contains the following keys: french_summary, num_names.</li>
        </ul>
      </li>
      <li>Ask for output in a specified format
        <ul>
          <li>e.g. Use the following format:
            <ul>
              <li>Text:&lt;text to summarize&gt;</li>
              <li>Summary: &lt;summary&gt;</li>
              <li>Translation: &lt;summary translation&gt;</li>
              <li>Names: &lt;list of names in Italian summary&gt;</li>
              <li>Output JSON: &lt;json with summary and num_names&gt;</li>
            </ul>
          </li>
        </ul>
      </li>
      <li>Instruct the model to work out its own solution before evaluating whether an answer is right or wrong
        <ul>
          <li>e.g. Your task is to determine if the student’s solution is correct or not. To solve the problem do the following:
            <ul>
              <li>First, work out your own solution to the problem.</li>
              <li>Then compare your solution to the student’s solution and evaluate if the student’s solution is correct or not. Don’t decide if the student’s solution is correct until you have done the problem yourself.</li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

<h2 id="iterating">Iterating</h2>
<ul>
  <li>The first version of the prompt is not going to be the best. Keep iterating.</li>
</ul>

<h2 id="summarizing">Summarizing</h2>
<ul>
  <li>Summarizing is a key use case; provide guidance on
    <ul>
      <li>Size of summary - # words, characters, sentences</li>
      <li>Focus items - themes, ideas, concepts</li>
    </ul>
  </li>
</ul>

<h2 id="inferring">Inferring</h2>
<ul>
  <li>You can figure out
    <ul>
      <li>sentiments</li>
      <li>topics</li>
      <li>themes</li>
    </ul>
  </li>
  <li>You can ask both
    <ul>
      <li>open ended (“what are the themes in this paragraph”); &amp;</li>
      <li>directed (“does this paragraph talk about &lt;x&gt;?”)</li>
    </ul>
  </li>
</ul>

<h2 id="transforming">Transforming</h2>
<ul>
  <li>You can
    <ul>
      <li>translate</li>
      <li>correct grammar/spelling</li>
      <li>identify language</li>
      <li>change tone / format</li>
    </ul>
  </li>
</ul>

<h2 id="expanding">Expanding</h2>
<ul>
  <li>The standard function call to OpenAI takes the form
    <ul>
      <li>openai.ChatCompletion.create( model=’gpt-4’, messages&lt;prompts/conversation history&gt;,temperature=&lt;number between 0 &amp; 1&gt;)</li>
    </ul>
  </li>
  <li>Temperature is a tuning parameter
    <ul>
      <li>Zero - Same output every time - most likely output</li>
      <li>&gt; 0 - Creativity and less likely responses</li>
    </ul>
  </li>
</ul>

<p><img src="/assets/images/2023/Temperature.png" alt="Temperature" /></p>

<h2 id="chatbot">Chatbot</h2>
<ul>
  <li><strong>messages</strong> is the summary of conversation to date that is iteratively supplied to an openai driven chatbot (such as chatgpt)</li>
  <li>messages looks something like this</li>
</ul>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>messages =  [  
{'role':'system', 'content':'You are an assistant that speaks like Shakespeare.'},    
{'role':'user', 'content':'tell me a joke'},    
{'role':'assistant', 'content':'Why did the chicken cross the road'},     
{'role':'user', 'content':'I don\'t know'}  ]  
</code></pre></div></div>
<ul>
  <li>GPT allows for 3 types of roles
    <ul>
      <li>System Message - Overall instructions</li>
      <li>User Message - User’s input</li>
      <li>Assistant Message - What ChatGPT is supposed to have responded with earlier</li>
    </ul>
  </li>
  <li><strong>Every interaction with OpenAI models is a standalone event. ChatGPT understands conversation history only because this history is iteratively supplied to it as part of the prompt behind the scenes.</strong></li>
</ul>]]></content><author><name>Hari Balaji</name></author><category term="courses" /><category term="software" /><category term="ai" /><category term="generativeai" /><category term="gpt3" /><category term="gpt" /><category term="gpt4" /><category term="chatgpt" /><category term="ml" /><category term="andrew ng" /><category term="ai" /><category term="llm" /><summary type="html"><![CDATA[The prompt engineering course by Andrew Ng & Isa Fulford is not for everyone]]></summary></entry><entry><title type="html">Reading the GPT leaves - Making sense of LLMs as a CXO</title><link href="https://haribalaji.net/software/ai/generativeai/gpt3/gpt/llm/gpt4/chatgpt/2023/04/28/how-to-think-about-ChatGPT-for-CXOs.html" rel="alternate" type="text/html" title="Reading the GPT leaves - Making sense of LLMs as a CXO" /><published>2023-04-28T05:30:00+05:30</published><updated>2023-04-28T05:30:00+05:30</updated><id>https://haribalaji.net/software/ai/generativeai/gpt3/gpt/llm/gpt4/chatgpt/2023/04/28/how-to-think-about-ChatGPT-for-CXOs</id><content type="html" xml:base="https://haribalaji.net/software/ai/generativeai/gpt3/gpt/llm/gpt4/chatgpt/2023/04/28/how-to-think-about-ChatGPT-for-CXOs.html"><![CDATA[<p><img src="/assets/images/2023/howmuchdoIcare1.png" alt="How much do I care?" /></p>

<h2 id="how-much-should-you-care-about-chatgpt">How much should you care about ChatGPT?</h2>

<p>Let me know if this sounds familiar.</p>

<p>A few months ago, you came across ChatGPT and thought, “That’s intriguing.”
However, you quickly returned to more pressing matters, like closing new hires, hitting growth milestones, and meeting quarterly targets.</p>

<p>In the weeks that followed though, ChatGPT kept resurfacing. You heard about it over watercooler talk, coffee catch ups, team outings and dinner parties.</p>

<p>Shortly thereafter, every social media influencer started to publish listicles (or threads) &amp; videos on ChatGPT and only ChatGPT.</p>

<p>You gave in.</p>

<p>You made enquiries, read articles, subscribed to newsletters, and watched some videos. But soon you found yourself overwhelmed by a constant influx of information.</p>

<hr />

<p><img src="/assets/images/2023/menwomenmeeting.png" alt="How much do I care?" /></p>

<p>A few weeks later, ChatGPT comes up in your monthly management meeting.</p>

<p>Your VP Product starts hyperventilating about the untapped potential of ChatGPT while your CTO/Head of Analytics told you that they knos all about it because after all, they have been working on AI since God was a child.</p>

<p>An hour goes by. Your team has finally agreed that you will integrate ChatGPT into your product. This is the very least you can do, right?</p>

<p>Tasks are assigned and people promise to “take it up offline”.</p>

<p>As you walk away from the meeting you have a sense of déjà vu. It seems like you had a similar meeting 18 months ago about Blockchain; 18 months before that before that it was Machine Learning.</p>

<p>Are you doing enough? Or is this a passing fad you should just ignore?</p>

<hr />

<p>If you’re still reading, here are a few things to keep in mind as you navigate the world of Large Language Models like GPT.</p>

<h3 id="1-play-around-with-chatgpt">1. Play around with ChatGPT</h3>

<p>Not just you, but every employee in your firm MUST be allowed to use ChatGPT in their daily jobs. <br />
Incognito mode is already available and a business version of ChatGPT is on its way. While everyone should be educated about the liabilities of pasting confidential information or PII into GPT, these changes should allow you to rest easy even if someone inadvertently does make a mistake.</p>

<p>This first step is incredibly important because it allows your firm to understand &amp; appreciate GPT’s potential.</p>

<h3 id="2-examine-your-high-priority-objectives">2. Examine your high priority objectives</h3>

<p>Are there problems or features that are a high priority for you internally or your customers/clients?
Can you or your team see the potential for GPT to change the way things get done?
Solve problems 10x better than existing solutions or better yet solve unsolved problems?
These are definitely spaces worth examining.</p>

<h3 id="3-why-is-gpt-going-into-your-product">3. Why is GPT going into your product?</h3>

<p>There are typically two objectives to introducing GPT into your product:
a. To improve / solve a product ask or a validated problem which directly improves business/revenue outcomes
b. To position your firm as being AI or LLM enabled to your customers</p>

<p>I would strongly advocate refraining from the latter.</p>

<h2 id="reading-the-gpt-leaves">Reading the GPT leaves</h2>

<p><img src="/assets/images/2023/tealeaves.png" alt="Tea Leaves" /></p>

<p>The past few weeks have seen a flurry of products related to and enabled by the LLM ecosystem. Having used, dissected and observed market reaction to a number of these, I’ve tried to develop a framework for what makes a successful GPT driven product.</p>

<p>For the purpose of this discussion we’re going to ignore the infra layer LLM companies,  VectorDBs, GPU manufacturers etc.</p>

<h3 id="1-creativity--large-volumes-of-private-data">1. Creativity &amp; Large Volumes of Private Data</h3>

<h4 id="1a-large-volumes-of-private-data">1(a). Large Volumes of Private Data</h4>

<p>Any problem that requires parsing a sizable volume of private documents or data is intractable to ChatGPT out of the box. <br />
For now private could just mean a website that ChatGPT hasn’t trained on but I believe that unless the data is truly private, this won’t be defensible once <strong>ChatGPT Browsing</strong> becomes widely available.<br />
Note that <strong>ChatGPT Business</strong> getting rolled out solves for secure usage of private data &amp; potential future token size increases can address a number of use cases which breach current token size limits.</p>

<h4 id="1b-creativity">1(b). Creativity</h4>

<p>Simple information retrieval, using GPT on an underlying corpus, in most situations is not a defensible product. To be truly defensible, one needs either some form of abstractive summarization (beyond simply quoting snippets from the underlying data) or synthesis (drawing conclusions, combining ideas or facts, generating arguments or counterarguments).<br />
Defensibility here likely goes beyond just writing clever prompts (which can be easily replicated by others).  <br />
Truly remarkable solutions will rely on something more such as innovative use of databases, combining public with private data or blending traditional programming techniques with GPT use.</p>

<blockquote>
  <p>The best example of this use case is <a href="https://kapa.ai">kapa.ai</a> that does Automated Q&amp;A on Product Documentation and &gt; I expect in a few days <a href="dexa.ai">dexa.ai</a> (sign up for it if you listen to podcasts) will get there too.</p>
</blockquote>

<h3 id="2-high-context-use-cases">2. High Context Use Cases</h3>

<p><strong>RATL</strong> (Regulatory, Accounting, Tax &amp; Legal) documents, Life Sciences, Technical Documentation &amp; a number of other high context small markets will still need custom solutions built on top of AI.</p>

<blockquote>
  <p>Here I have to mention <a href="https://thewhitelab.org/">the work being done by Prof Andrew White and his team</a>. His work is technical and high context to the point of being inaccessible to those who understand deep learning but not Chemistry or Chemical Engineering. I expect to come across many more examples of such skilful &amp; creative usage of LLMs in context rich problem spaces.</p>
</blockquote>

<p>A good thumb rule here is to dump some context about your domain into ChatGPT Plus and to examine if its native answers are sensible. If it isn’t you’re probably in luck.</p>

<h3 id="3-how-vs-what-use-cases">3. How vs What Use Cases</h3>
<p>I am a huge fan of anagrams and word games and I periodically benchmark GPT by asking for a word ladder that transforms one five letter word into another (e.g. transform WHALE to KRILL by changing 1 letter at a time).</p>

<p>GPT does abysmally at this task (and many other math challenges as well). However it does a great job at writing code that can solve this problem given a list of 5 letter English words. <br />
Coding is just the tip of the iceberg here and we might see interesting context specific use cases where a lot of time and effort goes into answering a complex “how” question on a one-time or infrequent basis. But once this question is answered, the answer itself can be abstracted away and used to create 10x improvement in perpetuity by improving a business process.</p>

<blockquote>
  <p>One well recognized shortcoming of LLMs is their ability to plan. However they can deliver code. There is some <a href="https://arxiv.org/abs/2304.11477">interesting work happening in the space of getting GPT to spit out PDDL (Planning Domain Definition Languge)</a> to get around this problem.</p>
</blockquote>

<h2 id="closing-thoughts">Closing Thoughts</h2>

<p>From a CXO perspective:</p>
<ul>
  <li>Spend time exploring GPT - both you and your team should spend time understanding and playing around with the product.</li>
  <li>Develop a framework for what kind of problems you’ll spend time exploring.</li>
  <li>Avoid building “cool” products which have only PR value. Instead focus on identifying critical problems where GPT could make a meaningful difference.</li>
</ul>]]></content><author><name>Hari Balaji</name></author><category term="software" /><category term="ai" /><category term="generativeai" /><category term="gpt3" /><category term="gpt" /><category term="llm" /><category term="gpt4" /><category term="chatgpt" /><category term="ai" /><category term="business" /><summary type="html"><![CDATA[Is ChatGPT a fad? As a CXO how much should you really care?]]></summary></entry><entry><title type="html">Honey I shrunk our tiffs</title><link href="https://haribalaji.net/geekery/software/ai/generativeai/nlu/stablediffusion/gpt3/gpt/llm/gpt4/chatgpt/taxgpt/promptengineering/finetuning/llama/vicuna/alpaca/life/2023/04/18/honey-i-shrunk-our-tiffs.html" rel="alternate" type="text/html" title="Honey I shrunk our tiffs" /><published>2023-04-18T05:30:00+05:30</published><updated>2023-04-18T05:30:00+05:30</updated><id>https://haribalaji.net/geekery/software/ai/generativeai/nlu/stablediffusion/gpt3/gpt/llm/gpt4/chatgpt/taxgpt/promptengineering/finetuning/llama/vicuna/alpaca/life/2023/04/18/honey-i-shrunk-our-tiffs</id><content type="html" xml:base="https://haribalaji.net/geekery/software/ai/generativeai/nlu/stablediffusion/gpt3/gpt/llm/gpt4/chatgpt/taxgpt/promptengineering/finetuning/llama/vicuna/alpaca/life/2023/04/18/honey-i-shrunk-our-tiffs.html"><![CDATA[<p><img src="/assets/images/2023/tiffs1.png" alt="Just plug in your OpenAI key" /></p>

<p>Over the past 2 weeks I’ve been wondering about 2 things:</p>
<ol>
  <li>
    <p>Do you really need local LLMs? <br />
Surely at some point everyone will come to accept that OpenAI is seeing your PII, the way they got comfortable that AWS, Azure or GCP most likely house your PII today and it isn’t on-prem.<br />
Won’t the likes of JP Morgan start to go easy on the use of ChatGPT?</p>
  </li>
  <li>
    <p>Do you really need fine-tuning?<br />
Prompt engineering (+VectorDBs) seems to work well.<br />
Fine-tuning with OpenAI doesn’t produce significantly better results, is relatively expensive vs prompt engineering, and needs you to work with base models. <br />
So who really needs fine-tuning?</p>
  </li>
</ol>

<h3 id="honey-i-shrunk-our-tiffs">Honey, I shrunk our tiffs</h3>
<p>The Time Traveler’s Wife is a book/movie about a man who involuntarily time-travels and meets his wife at different points in the time-line. The movie has often made me wonder how I would interact with my own spouse if I met them at different points in their life.</p>

<p>I had a lifetime of whatsapp chat history to work with.</p>

<p>This was finally a great case for production use of both local LLMs (no way I am sending OpenAI my whatsapp history) and fine-tuning (100k messages speak more than an engineered prompt).<br />
Inspired by Izzy Miller’s Robo Boys I fine-tuned Alpaca with two versions:</p>
<ul>
  <li>chat history from nearly 10 years ago.</li>
  <li>chat history from more recent years.</li>
  <li>Getting this right took almost a week.</li>
</ul>

<p><img src="/assets/images/2023/tiffs2.png" alt="Me telling my wife meme" /></p>

<p>I kickstarted generation with conversation starters such as:<br />
 I am going to be home late today, sorry.”<br />
 What do you want to do this weekend?”<br />
 Can’t seem to reach you. All okay?”</p>

<p>Neither the experience nor the results were not what I expected.</p>

<h2 id="learnings-from-the-process">Learnings from the process</h2>
<p>Georgi Gerganov (bless his soul), GGML &amp; llama.cpp can have you running Alpaca locally but fine-tuning requires virtual environments, GPUs, cloud services and the rest. <br />
Prompt generation is a cinch. Fine-tuning and model implementation needs one to to understand &amp; tinker with model params deeply across both training &amp; generation - <em>batch sizes</em>, <em>dropout rates</em>, <em>learning rates</em> and then <em>temperature</em>, <em>top_k</em> and <em>top_p</em>.     <br />
A lot of what OpenAI is throwing at us might just be overfitting based on training data that it has seen.. but we don’t seem to care. <br />
<img src="/assets/images/2023/tiffs3.png" alt="Just plug in your OpenAI key" /></p>

<h3 id="the-results">The results</h3>
<p><strong>The better half hasn’t changed much.. but I have</strong> - I had to go back and browse through conversation history to validate this but it’s true. <br />
<strong>Salience bias</strong> - We remember the dramatic moments in life but the average spousal response is well.. quite mundane.<br />
<strong>Temperature works quite differently from what I was led to believe</strong> - Cohere has a simple explanation of temperature. I expected that dialling up temperature would dial up the drama but it didn’t. Instead it felt like we were starting to channel Krusty the Clown.</p>

<p><img src="/assets/images/2023/tiffs4.png" alt="Just plug in your OpenAI key" /></p>

<p>Can you think of other good production use case for Local LLMs &amp; Fine Tuning?</p>]]></content><author><name>Hari Balaji</name></author><category term="geekery" /><category term="software" /><category term="ai" /><category term="generativeai" /><category term="nlu" /><category term="stablediffusion" /><category term="gpt3" /><category term="gpt" /><category term="llm" /><category term="gpt4" /><category term="chatgpt" /><category term="taxgpt" /><category term="promptengineering" /><category term="finetuning" /><category term="llama" /><category term="vicuna" /><category term="alpaca" /><category term="life" /><category term="data" /><category term="life" /><summary type="html"><![CDATA[Are you asking ChatGPT for relationship advice? Don't! Use a local LLM and fine-tune instead.]]></summary></entry></feed>