<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>slides on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/slides/</link>
    <description>Recent content in slides on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 18 Jun 2026 14:23:18 +0530</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/slides/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Using browser tabs as slides</title>
      <link>https://www.s-anand.net/blog/using-browser-tabs-as-slides/</link>
      <pubDate>Sat, 14 Feb 2026 17:12:20 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/using-browser-tabs-as-slides/</guid>
      <description>&lt;p&gt;My last two presentations used browser tabs as slides.&lt;/p&gt;
&lt;p&gt;For my talk last week titled &lt;a href=&#34;https://sanand0.github.io/talks/2026-02-11-amat-dt-day/&#34;&gt;Your &lt;em&gt;Chotu&lt;/em&gt; Is Smarter Than You Think&lt;/a&gt;, I planned to show a series of examples. I loaded them all in a browser window as tabs like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://www.s-anand.net/blog/llm-escapades-in-a-toilet/&#34;&gt;How I use AI to navigate toilets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/698c125b-c4b0-800c-8006-9c92a24c4e9e&#34;&gt;How I use AI for food recommendation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/698c1290-dc08-800c-8011-88c021e25c3c&#34;&gt;How I use AI for book suggestions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sanand0.github.io/datastories/gdpval/&#34;&gt;What else I can use AI for&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once loaded, I can press Ctrl+PgDn to move to the next - just like I&amp;rsquo;d press the right arrow key in a slide deck. I can also use the mouse to click on the tab if I want to jump around.&lt;/p&gt;
&lt;p&gt;But there&amp;rsquo;s &lt;em&gt;one&lt;/em&gt; advantage I missed from slides. I can add title slides, section dividers, etc.&lt;/p&gt;
&lt;p&gt;Since web pages are so versatile, I vibe-coded a &lt;a href=&#34;https://tools.s-anand.net/slide/&#34;&gt;slide tool&lt;/a&gt; by &lt;a href=&#34;https://github.com/sanand0/tools/pull/97&#34;&gt;roughly saying&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Give me a single page &amp;ldquo;slide&amp;rdquo; tool&lt;/li&gt;
&lt;li&gt;Let me edit the title, subtitle, fonts, colors, backgrounds, etc. via a (barely visible) button on the top right&lt;/li&gt;
&lt;li&gt;Store this in the URL so I can bookmark and share it&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(&lt;strong&gt;Note&lt;/strong&gt;: I had 5 min on 4% battery and my laptop couldn&amp;rsquo;t connect to the Internet. This was voice vibe-coded on the web and the PR accepted without review.)&lt;/p&gt;
&lt;p&gt;That let me create a &lt;em&gt;far&lt;/em&gt; richer presentation.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://tools.s-anand.net/slide/#title=I+use+AI+like+an+intern&amp;amp;subtitle=A+%22chotu%22.+Plumber.+Waiter.+Secretary.+Banker.&amp;amp;font=Montserrat&amp;amp;scale=6.3&amp;amp;fgColor=%23ffffff&amp;amp;bgColor=%231a1a2e&amp;amp;bgSearch=https%3A%2F%2Fimages.unsplash.com%2Fphoto-1760978632114-0939f0d60045%3Fq%3D80%26w%3D1528%26auto%3Dformat%26fit%3Dcrop%26ixlib%3Drb-4.1.0%26ixid%3DM3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%253D%253D&#34;&gt;🟢 &lt;strong&gt;SLIDE&lt;/strong&gt; I use AI like an intern&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.s-anand.net/blog/llm-escapades-in-a-toilet/&#34;&gt;Like a plumber, to navigate toilets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/698c125b-c4b0-800c-8006-9c92a24c4e9e&#34;&gt;Like a waiter, for food recommendation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/share/698c1290-dc08-800c-8011-88c021e25c3c&#34;&gt;Like a secretary, for book suggestions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://tools.s-anand.net/slide/#title=Use+_paid_+AI&amp;amp;subtitle=Buy+_any_+PAID+subscription+to+ChatGPT%2C+Gemini%2C+or+Claude+and+keep+it+in+your+phone.&amp;amp;font=Montserrat&amp;amp;scale=6.3&amp;amp;fgColor=%23ffffff&amp;amp;bgColor=%231a1a2e&amp;amp;bgSearch=https%3A%2F%2Fimages.pexels.com%2Fphotos%2F2387819%2Fpexels-photo-2387819.jpeg&#34;&gt;🟢 &lt;strong&gt;SLIDE&lt;/strong&gt; Use Paid AI. ANY Paid AI is the best ROI you get&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sanand0.github.io/datastories/gdpval/&#34;&gt;You can hire AI for many services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://tools.s-anand.net/slide/#title=Over-use+it.%5C%0AUnder-use+is+riskier%21&amp;amp;subtitle=You+_will_+lose+skills.+Like+long+division+and+hunting.%5C%0ALearn+new+ones.+Have+50+chats+%2F+day.&amp;amp;font=Montserrat&amp;amp;scale=6.3&amp;amp;fgColor=%23ffffff&amp;amp;bgColor=%231a1a2e&amp;amp;bgSearch=https%3A%2F%2Fimages.unsplash.com%2Fphoto-1760978632114-0939f0d60045%3Fq%3D80%26w%3D1528%26auto%3Dformat%26fit%3Dcrop%26ixlib%3Drb-4.1.0%26ixid%3DM3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%253D%253D&#34;&gt;🟢 &lt;strong&gt;SLIDE&lt;/strong&gt; Under-using AI is more dangerous than over-using&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;hellip; and so on.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt=&#34;Here&amp;rsquo;s what the full presentation looked like&#34; loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-02-14-slide-tool.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;slides&amp;rdquo; allow me to add structure and remind the audience and me about the key points.&lt;/p&gt;
&lt;p&gt;For all the bad press PowerPoint receives, I don&amp;rsquo;t think presentations are a bad format. But today, there are so many more ways of presenting that using slideshow software seems a bit outdated.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;UPDATE 18 Jun 2026&lt;/strong&gt;: My talks in the last few months use this technique almost without exception.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Using Gemini to create slides</title>
      <link>https://www.s-anand.net/blog/using-gemini-to-create-slides/</link>
      <pubDate>Mon, 26 Jan 2026 16:24:03 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/using-gemini-to-create-slides/</guid>
      <description>&lt;p&gt;On Friday, our data &amp;amp; analytics client-facing teams connected &lt;a href=&#34;https://gemini.google.com/&#34;&gt;Gemini&lt;/a&gt; to their &lt;a href=&#34;https://drive.google.com/&#34;&gt;Drive&lt;/a&gt; and &lt;a href=&#34;https://mail.google.com/&#34;&gt;Email&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;a href=&#34;https://gemini.google.com/&#34;&gt;Gemini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Make sure you see a &amp;ldquo;Pro&amp;rdquo; icon on the top right. (Some already had access. Some enabled it by clicking stuff.)&lt;/li&gt;
&lt;li&gt;Go to Settings &amp;amp; help &amp;gt; Connected apps. Turn on &amp;ldquo;Google Workspace&amp;rdquo; and approve access.&lt;/li&gt;
&lt;li&gt;Select &amp;ldquo;Pro&amp;rdquo; as the model (instead of &amp;ldquo;Fast&amp;rdquo; or &amp;ldquo;Thinking&amp;rdquo;).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Then they ran this a prompt like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Go through my Google Drive and find out what are the recent sales proposals we&amp;rsquo;ve picthed or new clients we&amp;rsquo;ve won.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;⭐ Gemini searches &lt;strong&gt;all&lt;/strong&gt; your files (even shared ones) and emails (even attachments) and shares a summary.&lt;/p&gt;
&lt;p&gt;They tried using it to gather material to respond to client requests (potentially attaching documents):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Share all relevant material to respond to (details of topic) from my Google Drive / Email.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;⭐ Gemini is as smart as a good business analyst at scanning files and gathering material.&lt;/p&gt;
&lt;p&gt;They went further, and prompted it to convert it to a slide deck:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Convert this into a beautiful slide deck, McKinsey style.
Make the slides content rich, i.e. clear and self-explanatory with enough detail to help the audience understand without a narrator.
Use iconography, typography, stock images, etc. as appropriate.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;⭐ Gemini can create reasonably good slide drafts that you can export to Google Slides and edit.&lt;/p&gt;
&lt;p&gt;In 30 minutes, several people had created beautiful slide decks with no support! So now they can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a first version, show it to analysts and say &amp;ldquo;Build something like this. But change &amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Create half a dozen drafts and pick what they like&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But what excites me more is when we:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create and share the deck overnight. Lightning-fast turnaround with no support!&lt;/li&gt;
&lt;li&gt;Create the deck &lt;em&gt;during&lt;/em&gt; a client meeting. It&amp;rsquo;s like we came prepared reading clients&amp;rsquo; thoughts!&lt;/li&gt;
&lt;li&gt;Create &lt;em&gt;with&lt;/em&gt; the friendly client something &lt;em&gt;they&lt;/em&gt; are happy to take to their bosses!&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Voice Chat to Slides: My New AI-Powered Workflow</title>
      <link>https://www.s-anand.net/blog/voice-chat-to-slides-my-new-ai-powered-workflow/</link>
      <pubDate>Thu, 27 Mar 2025 16:34:53 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/voice-chat-to-slides-my-new-ai-powered-workflow/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Voice Chat to Slides: My New AI-Powered Workflow&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/calvin-2.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s my new workflow for creating slide decks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ChatGPT interviews me and creates Markdown slides.&lt;/li&gt;
&lt;li&gt;I use Marp to convert Markdown to slides.&lt;/li&gt;
&lt;li&gt;LLMs create supporting images.&lt;/li&gt;
&lt;li&gt;I deploy on GitHub Pages.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;… and here are 2 decks created this way.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;https://sanand0.github.io/llmhallucinations/&#34;&gt;Visualizing LLM Hallucinations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://sanand0.github.io/llms-in-education/&#34;&gt;LLMs in Education&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let&amp;rsquo;s look at how I built the second example, step by step.&lt;/p&gt;
&lt;h3 id=&#34;chatgpt-interviews-me-and-creates-markdown-slides&#34;&gt;ChatGPT interviews me and creates Markdown slides&lt;/h3&gt;
&lt;p&gt;While walking 75 minutes from home to IIT Madras to deliver &lt;a href=&#34;https://sanand0.github.io/llms-in-education/&#34;&gt;this talk&lt;/a&gt;, I had ChatGPT interview me in &lt;a href=&#34;https://help.openai.com/en/articles/8400625-voice-mode-faq&#34;&gt;standard voice mode&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Why an interview?&lt;/strong&gt; It&amp;rsquo;s easier when someone asks questions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Why voice?&lt;/strong&gt; It&amp;rsquo;s hard to type while walking. Otherwise, I prefer typing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Why not advanced voice mode?&lt;/strong&gt; I want to use a reasoning model like &lt;a href=&#34;https://chatgpt.com/?model=o3-mini-high&#34;&gt;O3 Mini High&lt;/a&gt; for better responses, not the GPT-4o-realtime model that advanced voice mode uses.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://chatgpt.com/share/67e36f57-01c4-800c-b4fc-5c8b302403f4&#34;&gt;Here&amp;rsquo;s the conversation I had with ChatGPT&lt;/a&gt;. I began by speaking (not typing):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I want to create an insightful deck in Markdown on how I have been using LLMs in education.The audience will be technologists and educators. The slide contents must have information that is useful and surprising to them.&lt;/p&gt;
&lt;p&gt;The slides are formatted in Markdown with each slide title being a level 2 Markdown header and the contents of the slides being crisp bullet points that support the title. The titles are McKinsey style action titles. Just by reading the titles, the audience will understand the message that I am trying to convey.&lt;/p&gt;
&lt;p&gt;In this conversation, I&amp;rsquo;d like you to interview me, asking me questions one by one, and taking my inputs to craft this presentation. I&amp;rsquo;d also like you to review the inputs and the slide content you create to make sure that it is insightful, useful, non-obvious, and very clear and simple for the audience. Interact with me to improve the deck.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s begin.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(Unsurprisingly, I talk a lot more than I type.)&lt;/p&gt;
&lt;p&gt;There were 3 kinds of interactions I had with ChatGPT:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Content&lt;/strong&gt;. I explained each slide. For example:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Yeah, let&amp;rsquo;s move on to the next topic, which is where we had the students learn prompt engineering as part of the course. One of the questions was convincing an LLM to say yes, even though …&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Correction&lt;/strong&gt;. After ChatGPT read aloud a slide, I corrected it. For example:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Content-wise, it&amp;rsquo;s spot-on. Style-wise, it&amp;rsquo;s almost spot-on. It&amp;rsquo;s far more verbose. Can you retain the exact same style, but shorten the number of words considerably?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;These feel generic. I&amp;rsquo;d like stuff that comes across as insightful, non-obvious, and specific.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Collation&lt;/strong&gt;. I had ChatGPT put slides in order. For example:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Put all the slides together in sequence. Make sure you don&amp;rsquo;t miss anything.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Move the opening questions as the second slide. Move the final takeaways, which is currently the last slide, to just before the final set of questions.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At the end of the interview, I had all the content for the slides.&lt;/p&gt;
&lt;h3 id=&#34;marp-converts-markdown-to-slides&#34;&gt;Marp converts Markdown to slides&lt;/h3&gt;
&lt;p&gt;I use &lt;a href=&#34;https://marp.app/&#34;&gt;Marp&lt;/a&gt;, a JavaScript tool that turns Markdown into slides&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Why Markdown?&lt;/strong&gt; It&amp;rsquo;s natural for programmers &lt;strong&gt;and&lt;/strong&gt; LLMs. ChatGPT renders rich text in Markdown.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Why not RevealJS?&lt;/strong&gt; Despite a &lt;a href=&#34;https://revealjs.com/markdown/&#34;&gt;Markdown plugin&lt;/a&gt;, RevealJS is built for HTML. Marp is built for Markdown.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I created a &lt;a href=&#34;https://tools.s-anand.net/page2md/&#34;&gt;bookmarklet&lt;/a&gt; that copies text as Markdown. Using this, I converted the ChatGPT slide transcript to Markdown, saving it as &lt;a href=&#34;https://github.com/sanand0/llms-in-education/blob/main/README.md&#34;&gt;README.md&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&#34;https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode&#34;&gt;Marp for VS Code plugin&lt;/a&gt; makes it easy to preview the slides when you adding YAML frontmatter like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;marp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Visualizing LLM Hallucinations&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;https://sanand0.github.io/llmhallucinations/&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;theme&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;gaia&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;backgroundColor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;white&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;llms-create-supporting-images&#34;&gt;LLMs create supporting images&lt;/h3&gt;
&lt;p&gt;I use ChatGPT or Gemini to create images that support the slides. For example &lt;a href=&#34;https://sanand0.github.io/llmhallucinations/#2&#34;&gt;this slide&lt;/a&gt; includes an image of a robot psychologist generated by Gemini&amp;rsquo;s ImageGen 3:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Robopsychologist&#34; loading=&#34;lazy&#34; src=&#34;https://raw.githubusercontent.com/sanand0/llmhallucinations/refs/heads/main/img/robo-psychologist.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;Today, with native image generation in &lt;a href=&#34;https://developers.googleblog.com/en/experiment-with-gemini-20-flash-native-image-generation/&#34;&gt;Gemini 2.0 Flash&lt;/a&gt; and &lt;a href=&#34;https://openai.com/index/introducing-4o-image-generation/&#34;&gt;GPT 4o&lt;/a&gt;, I&amp;rsquo;d likely use those. They have much better character control.&lt;/p&gt;
&lt;h3 id=&#34;deploying-on-github-pages&#34;&gt;Deploying on GitHub Pages&lt;/h3&gt;
&lt;p&gt;I use &lt;a href=&#34;https://github.com/sanand0/llms-in-education/blob/main/.github/workflows/deploy.yml&#34;&gt;GitHub Actions&lt;/a&gt; to render the slides and deploy them on GitHub Pages. Here&amp;rsquo;s what the key steps look like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;steps&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Checkout repository&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;uses&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;actions/checkout@v4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Setup Node.js&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;uses&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;actions/setup-node@v4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;with&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;node-version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;22&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Generate HTML with Marp&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;npx -y @marp-team/marp-cli@latest README.md -o index.html&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Setup GitHub Pages&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;uses&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;actions/configure-pages@v4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Upload artifact&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;uses&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;actions/upload-pages-artifact@v3&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;with&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;      &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;path&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;.&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Deploy to GitHub Pages&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;deployment&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;uses&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;actions/deploy-pages@v4&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;whats-next&#34;&gt;What&amp;rsquo;s next?&lt;/h3&gt;
&lt;p&gt;I plan to make 3 improvements to this workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Adding images directly with voice prompts.&lt;/li&gt;
&lt;li&gt;Adding diagrams (e.g., Mermaid).&lt;/li&gt;
&lt;li&gt;Creating a custom GPT that auto-deploys slides on GitHub when I say &amp;ldquo;Publish these slides.&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If both of these work, I&amp;rsquo;ll be able to create &lt;strong&gt;and publish&lt;/strong&gt; an entire slide deck just by rambling to ChatGPT for an hour.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 23 Jun 2024</title>
      <link>https://www.s-anand.net/blog/things-i-learned-23-jun-2024/</link>
      <pubDate>Sun, 23 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-23-jun-2024/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://lumalabs.ai/dream-machine/&#34;&gt;Luma Labs Dream Machine&lt;/a&gt; generated videos. It&amp;rsquo;s free and is of reasonable quality. Update: 6 Jun 2025. Costs $10/month&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/Zjh-819/LLMDataHub&#34;&gt;LLM DataHub&lt;/a&gt; has LLM training datasets, regularly updated&lt;/li&gt;
&lt;li&gt;From Dan Becker on running a workshop
&lt;ul&gt;
&lt;li&gt;Answer questions at the end, not in parallel in a chat, to avoid distraction&lt;/li&gt;
&lt;li&gt;Have fewer words in slides when presenting. It&amp;rsquo;s less distracting&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Morgan Housel Shane Parrish podcast
&lt;ul&gt;
&lt;li&gt;Risk is what stops you from achieving YOUR goals. What&amp;rsquo;s risky for me may not be risky for you&lt;/li&gt;
&lt;li&gt;The lesson from compounding is that you want to optimize for duration, not return. That&amp;rsquo;s what does the heavy lifting. Survival, consistency, long term - these matter. The performance does NOT matter.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
