<?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>yt-dlp on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/yt-dlp/</link>
    <description>Recent content in yt-dlp on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 28 Sep 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/yt-dlp/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Things I Learned - 28 Sep 2025</title>
      <link>https://www.s-anand.net/blog/things-i-learned-28-sep-2025/</link>
      <pubDate>Sun, 28 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-28-sep-2025/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/rushter/selectolax&#34;&gt;&lt;code&gt;selectolax&lt;/code&gt;&lt;/a&gt; is a fast, easy-to-use, modern HTML5 parser with CSS selectors. A good replacement for &lt;code&gt;lxml.html&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The most effective way to convert a blob (e.g. file input) to a data URL on the browser seems to be via the &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/API/FileReader&#34;&gt;FileReader&lt;/a&gt; API.
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;blobToDataURL&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;blob&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;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;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;Promise&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;rej&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#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;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;r&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FileReader&lt;/span&gt;&lt;span class=&#34;p&#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;nx&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;onload&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;res&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#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;nx&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;onerror&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;rej&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#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;nx&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;readAsDataURL&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;p&#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;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Tool calls in OpenAI support files and images. &lt;a href=&#34;https://x.com/OpenAIDevs/status/1971618905941856495?t=1fJFyLyYQXlbMMquShLMOQ&#34;&gt;OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;⭐ &amp;ldquo;Task parity is not the same thing as job parity There is a lot of complexity as many different tasks are bundled into jobs, and many jobs contribute to processes inside an organization The jagged frontier of AI ability means doing tasks well doesn&amp;rsquo;t translate to doing jobs well.&amp;rdquo; &lt;a href=&#34;https://x.com/emollick/status/1971643202332733683?t=SqZLjGdInJf4DRb5zcMPqQ&#34;&gt;Ethan Mollick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Adding &lt;code&gt;// @ts-check&lt;/code&gt; to a JavaScript file and documenting types via JSDoc might be the simplest way to migrate phase-wise from JS to Typescript.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;envsubst &amp;lt; file.txt&lt;/code&gt; replaces &lt;code&gt;file.txt&lt;/code&gt; with the environment variable, e.g. &lt;code&gt;$HOME&lt;/code&gt; is replaced by the &lt;code&gt;HOME&lt;/code&gt; environment variable. Clean shell-level templating.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/github/copilot-cli&#34;&gt;GitHub Copilot CLI&lt;/a&gt; is out. &lt;code&gt;npx -y @github/copilot&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.amazon.in/ORGANIC-PLANT-Primium-Quality-Vermicompost/dp/B0B59QXGC4&#34;&gt;Compost&lt;/a&gt; is the cheapest thing per ton that I can buy on Amazon India. I can buy 1 ton of compost for Rs 13,500. &lt;a href=&#34;https://chatgpt.com/s/t_68d5e3ef9e4081919e1ecd6582e6197c&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;yt-dlp&lt;/code&gt; requires Deno from now on. &lt;a href=&#34;https://github.com/yt-dlp/yt-dlp/issues/14404&#34;&gt;#14404&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;In meetings, make cameras optional by default &amp;ndash; and judge engagement by contributions, not video &amp;ndash; because a 4-week field experiment found camera-on increased fatigue and reduced voice, especially for women and newcomers. Camera on early for trust building is useful. &lt;a href=&#34;https://pubmed.ncbi.nlm.nih.gov/34423999/&#34;&gt;PubMed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/bahdotsh/wrkflw&#34;&gt;&lt;code&gt;wrkflw&lt;/code&gt;&lt;/a&gt; is a quick and light way to test GitHub actions before publishing. It runs GitHub actions locally.&lt;/li&gt;
&lt;li&gt;GPT-5-Codex is available as an API and on LLM. &lt;a href=&#34;https://simonwillison.net/2025/Sep/23/gpt-5-codex/&#34;&gt;Simon Willison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;⭐ I&amp;rsquo;m habit engineering, i.e. discovering and stacking habits on to existing ones. For example:
&lt;ul&gt;
&lt;li&gt;ChatGPT suggested increasing observability based on code reviews. I&amp;rsquo;m including it in my &lt;a href=&#34;https://github.com/sanand0/sanand0/tree/main/week&#34;&gt;weekly codecast&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;ChatGPT suggested defining closures inmeetings. I&amp;rsquo;mn now discussing objectives at meeting starts and effectiveness at the end.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Since Anaconda &lt;a href=&#34;https://www.anaconda.com/pricing&#34;&gt;cannot be used for free&lt;/a&gt; by organizations with 200+ people, Straive&amp;rsquo;s received legal notices from Anaconda. Since laptops are under central IT administration, they went ahead and deleted all Anaconda instances. Installing &lt;a href=&#34;https://www.anaconda.com/docs/getting-started/miniconda/main&#34;&gt;miniconda&lt;/a&gt; for use with &lt;a href=&#34;https://conda-forge.org/&#34;&gt;conda-forge&lt;/a&gt; requires admin access that most developers do not have, however. That leads to an interesting &amp;ldquo;No Python&amp;rdquo; situation. This is where &lt;a href=&#34;https://github.com/astral-sh/uv&#34;&gt;&lt;code&gt;uv&lt;/code&gt;&lt;/a&gt; becomes the knight in shining armor.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.perceptron.inc/blog/introducing-isaac-0-1&#34;&gt;Perceptron&lt;/a&gt; is SOTA LLM for object bounding boxes. Just 2B parameters.&lt;/li&gt;
&lt;li&gt;Gall&amp;rsquo;s &amp;ldquo;law&amp;rdquo; says that complex systems that work evolved from simple systems that worked. But a complex system designed from scratch won&amp;rsquo;t ever work. This holds in uncertain environments. But where formal theory or regulations exists, it doesn&amp;rsquo;t. &lt;a href=&#34;https://chatgpt.com/share/68d2c367-d674-800c-9c1c-51fcacfa5c6d&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.visidata.org/&#34;&gt;&lt;code&gt;uvx --with visidata vd&lt;/code&gt;&lt;/a&gt; gives you a command-line Excel editor to edit / convert CSV, Excel, JSON, SQLite, directories, etc.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uvx markitdown https://example.com/&lt;/code&gt; fetches &lt;code&gt;example.com&lt;/code&gt; as Markdown. I learnt this when I told Codex it could use &lt;code&gt;uvx markitdown&lt;/code&gt; to convert PDFs and it figured this part out by itself.&lt;/li&gt;
&lt;li&gt;The Dropbox connector for ChatGPT is the little flaky &amp;ndash; at least on Android. It could not identify a file that was clearly there in Dropbox and I had to upload it manually.&lt;/li&gt;
&lt;li&gt;ChatGPT&amp;rsquo;s output is too dense for me. I added this to my custom instructions: &amp;ldquo;Write in simple language. Explain non-obvious terms intuitively.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;yt-dlp&lt;/code&gt; has a &lt;code&gt;--download-sections&lt;/code&gt; option that downloads specific YouTube time ranges. For example &lt;code&gt;--download-sections &amp;quot;*00:01:00-00:03:00&amp;quot;&lt;/code&gt; downloads &lt;em&gt;roughly&lt;/em&gt; (not exactly) from 1 min to 3 min. Note the &lt;code&gt;*&lt;/code&gt; at the beginning.&lt;/li&gt;
&lt;li&gt;My Lenovo laptop&amp;rsquo;s touchpad started scrolling instead of moving when I moved my finger. Many things could have caused it, but the solution was to click (not tap) the top middle of the trackpad. &lt;a href=&#34;https://chatgpt.com/share/68cfc8ff-e7fc-800c-b8bf-474d41332cd1&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&#34;https://github.com/lalithaar/indian-exams-database&#34;&gt;India Entrance Exam database&lt;/a&gt; is a dataset collating Indian entrance exams.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 21 Sep 2025</title>
      <link>https://www.s-anand.net/blog/things-i-learned-21-sep-2025/</link>
      <pubDate>Sun, 21 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-21-sep-2025/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When editing an image, ChatGPT&amp;rsquo;s non-thinking mode does a &lt;em&gt;much&lt;/em&gt; better job of preserving the original image features than the thinking mode. When editing my photo, I found that the thinking mode creates images that looks quite different than me. A surprising effect of overthinking.&lt;/li&gt;
&lt;li&gt;⭐ When evaluating model accuracy, compare with human accuracy rather than perfect accuracy. SMEs rarely agree among themselves, so it&amp;rsquo;s unlikely that they will agree with an LLM. Instead, measure how often the LLM agrees with the majority of SMEs and how often it disagrees with all SMEs. This gives a more realistic measure of accuracy. &lt;a href=&#34;https://aclanthology.org/2025.acl-short.20.pdf&#34;&gt;LLMs instead of Human Judges?&lt;/a&gt; and &lt;a href=&#34;https://arxiv.org/pdf/2306.05685&#34;&gt;Judging LLM-as-a-Judge&lt;/a&gt;. &lt;a href=&#34;https://chatgpt.com/share/68cfc068-0c5c-800c-b961-81e6a061b05f&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I understand at least one mechanism of how costs are inflated in large organizations. Even people who want to keep costs low find that the process of tracking expenses, submitting receipts, answering questions around approval, adds transaction cost. So, rather than going for a $10 plus top up mechanism, I would rather go for and ask people to take a $500 top up. Better ask for more and waste than have to ask again.&lt;/li&gt;
&lt;li&gt;YouTube downloaders: &lt;a href=&#34;https://github.com/yt-dlp/yt-dlp&#34;&gt;yt-dlp&lt;/a&gt; for the CLI, &lt;a href=&#34;https://stacher.io/&#34;&gt;Stacher&lt;/a&gt; for Windows/Mac/Linux, &lt;a href=&#34;https://cobalt.tools/&#34;&gt;Cobalt&lt;/a&gt; for a web-based app. &lt;a href=&#34;https://windowsread.me/p/best-youtube-downloaders&#34;&gt;Ref&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;VS Code a bunch of features I discovered:
&lt;ul&gt;
&lt;li&gt;It can run a terminal in its own new window for over a year (via Ctrl+P &amp;gt; Terminal: Move Terminal into New Window). Now, &lt;kbd&gt;Ctrl + Alt + Shift + `&lt;/kbd&gt; does this directly.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://code.visualstudio.com/docs/terminal/shell-integration#_intellisense-preview&#34;&gt;Terminal Intellisense&lt;/a&gt; shows completion suggestions in the UI. Very helpful. Ctrl+Space triggers the menu completion.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;⭐ &amp;ldquo;We find that the per-step error rate itself rises as the task progresses&amp;rdquo;, i.e. once a conversation goes the wrong way, it&amp;rsquo;s really hard to correct it. &lt;a href=&#34;https://arxiv.org/html/2509.09677&#34;&gt;The Illusion of Diminishing Returns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.google.com/search?q=japonaise&#34;&gt;Japonaise Cake&lt;/a&gt; is the name of the pastry that I had as a child and grew up longing for. I have spent several weeks searching for it in the roadside bakeries at Bangalore and Chennai but only &lt;a href=&#34;https://cakebee.in/products/japonaise-cake&#34;&gt;one bakery&lt;/a&gt; seems to have it.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;systemd&lt;/code&gt; is the modern way to run scheduled jobs, instead of &lt;code&gt;cron&lt;/code&gt;. It&amp;rsquo;s far more complex. But it can catch up on missed runs via a &lt;code&gt;Persistent&lt;/code&gt; option. &lt;a href=&#34;https://documentation.suse.com/smart/systems-management/html/systemd-working-with-timers/index.html&#34;&gt;Working with systemd timers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;⭐ Vice-chancellors of universities resist AI in education because (a) their faculty does not know AI and (b) AI is unreliable. But they are interested in (a) large-scale AI-evaluation and (b) AI-enabling entire campus.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://tldr.sh/&#34;&gt;tldr.sh&lt;/a&gt; offers concise man pages, e.g. &lt;code&gt;uvx tldr jq&lt;/code&gt;. &lt;a href=&#34;http://cheat.sh/&#34;&gt;cheat.sh&lt;/a&gt; offers detailed examples, e.g. &lt;code&gt;curl cheat.sh/jq&lt;/code&gt; or &lt;code&gt;curl cheat.sh/:help&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/Genivia/ugrep&#34;&gt;&lt;code&gt;ugrep&lt;/code&gt;&lt;/a&gt; is a fast drop-in replacement for &lt;code&gt;grep&lt;/code&gt;. It supports fuzzy search with a customizable Levenshtein distance. Also &lt;code&gt;ug -Q&lt;/code&gt; shows an interactive TUI searches like VS Code&amp;rsquo;s &amp;ldquo;Search in Files&amp;rdquo; feature. Very intuitive.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://dagger.io/&#34;&gt;Dagger&lt;/a&gt; lets you write CI/CD workflows in Python. I tried running it but after 7m of pulling large Docker containers, I gave up. Too heavy.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://dotslash-cli.com/&#34;&gt;dotslash&lt;/a&gt; lets you write scripts that downloads GitHub releases, caches, and runs them. Requires writing scripts. I prefer &lt;a href=&#34;https://mise.jdx.dev/&#34;&gt;&lt;code&gt;mise&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;ChatGPT has a quota for searches. I saw this phrase in the reasoning traces: &amp;ldquo;I&amp;rsquo;ll avoid overloading on citations since we only have a few calls left.&amp;rdquo; It doesn&amp;rsquo;t seem to be in ChatGPT&amp;rsquo;s &lt;a href=&#34;https://github.com/elder-plinius/CL4R1T4S/blob/476a209169e8cf0c7cad97c7ccf4c5afb2248067/OPENAI/ChatGPT5-08-07-2025.mkd&#34;&gt;system prompt&lt;/a&gt; from last month, so it&amp;rsquo;s either part of the tool response or a new prompt.&lt;/li&gt;
&lt;li&gt;Depending on the underlying chips that a model uses, the floating point multiplications may differ and model quality can vary. So Claude 4 Opus running on Anthropic&amp;rsquo;s GPUs can produce different results from when running on Google&amp;rsquo;s GPUs or Amazon&amp;rsquo;s GPUs.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 22 Dec 2024</title>
      <link>https://www.s-anand.net/blog/things-i-learned-22-dec-2024/</link>
      <pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-22-dec-2024/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What to use for hosting: &lt;a href=&#34;https://chatgpt.com/share/676663cd-2560-800c-b53c-2c51ef41be69&#34;&gt;ChatGPT&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Pages: Static websites, medium files&lt;/li&gt;
&lt;li&gt;Cloudflare Pages: Static websites, global delivery&lt;/li&gt;
&lt;li&gt;Vercel: Frontend frameworks (e.g. Next.js) with high DX and ISR, small files&lt;/li&gt;
&lt;li&gt;Netlify: JAMstack projects, minimal back-end, moderate files&lt;/li&gt;
&lt;li&gt;Glitch: Small static projects&lt;/li&gt;
&lt;li&gt;Render: Full-stack apps requiring databases and server-side compute&lt;/li&gt;
&lt;li&gt;Firebase Hosting: Small sites, limited large files&lt;/li&gt;
&lt;li&gt;Archive.org: Public archival, large files&lt;/li&gt;
&lt;li&gt;Google Drive: File sharing, large files&lt;/li&gt;
&lt;li&gt;Dropbox: File sharing, moderate files&lt;/li&gt;
&lt;li&gt;Cloudflare R2: Static assets, large file delivery&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Anthropic defines agents. &lt;a href=&#34;https://www.anthropic.com/research/building-effective-agents&#34;&gt;Building effective agents&lt;/a&gt; + &lt;a href=&#34;https://github.com/anthropics/anthropic-cookbook/tree/main/patterns/agents&#34;&gt;Cookbook&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Augmented LLMs&lt;/strong&gt; are LLMs enhanced with augmentations such as retrieval, tools, and memory.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workflows&lt;/strong&gt; are systems where LLMs and tools are orchestrated through &lt;strong&gt;predefined&lt;/strong&gt; code paths.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prompt chaining&lt;/strong&gt;: Pipe each LLM output to the next LLM. A-&amp;gt;B-&amp;gt;C-&amp;gt;Z. E.g. Write report, then translate. Extract results, then verify them. Successively ask follow-up questions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routing&lt;/strong&gt;: One LLMs decides which other LLM to call next. A-&amp;gt;B|C|D-&amp;gt;Z. E.g. Evaluate complexity, then pick the right model. Classify request time, then pick the right prompt.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parallelize: Sectioning&lt;/strong&gt; (and &lt;strong&gt;Orchestrator-workers&lt;/strong&gt;): Break tasks into independent subtasks, then aggregate. A-&amp;gt;B+C+D-&amp;gt;Z. E.g. Evaluate contracts against different clauses in parallel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parallelize: Voting&lt;/strong&gt;: Run same task multiple times, then vote. A-&amp;gt;B+B+B-&amp;gt;Z. E.g. Review code for prompt injection using different prompts. Evaluate content safety with different thresholds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evaluator-optimizer&lt;/strong&gt;: One model checks another in a loop. A-&amp;gt;B-&amp;gt;A-&amp;gt;B-&amp;gt;&amp;hellip;-&amp;gt;Z. E.g. Literary translation. Self-healing code. Policy violation checks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Human-in-the-loop Checkpoints&lt;/strong&gt;: The workflow explicitly requests human review at certain stages. A-&amp;gt;B-&amp;gt;(Human)-&amp;gt;C-&amp;gt;Z. E.g. Sensitive content review. High-stakes decision making. Ambiguous tasks.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agents&lt;/strong&gt; are LLMs that dynamically direct their own processes and tool usage, consulting tools or the user as needed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;To download YouTube subtitles, use: &lt;code&gt;yt-dlp -q --skip-download --convert-subs srt --write-sub --sub-langs &amp;quot;en&amp;quot; --write-auto-sub --print &amp;quot;requested_subtitles.en.url&amp;quot; &amp;quot;$url&amp;quot;&lt;/code&gt; &lt;a href=&#34;https://simonwillison.net/2024/Dec/19/q-and-qv-zsh-functions/#atom-everything&#34;&gt;Simon Willison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;o1-preview diagnoses better than doctors. &lt;a href=&#34;https://arxiv.org/pdf/2412.10849&#34;&gt;Harvard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenAI&amp;rsquo;s release of ephemeral tokens via sessions (valid for 1 minute) are a useful way of exposing apps for public demos. Currently it works only for the Realtime API, though.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2407.09025&#34;&gt;SpreadsheetLLM&lt;/a&gt; is a way of encoding spreadsheets in an LLM friendly format. It&amp;rsquo;s good for 1K+ rows. For lower, Markdown &amp;gt; XML &amp;gt; HTML. However, &lt;a href=&#34;https://arxiv.org/abs/2305.13062v4&#34;&gt;Table Meets LLM&lt;/a&gt; suggests that HTML &amp;gt; XML &amp;gt; Markdown, so this is unclear.&lt;/li&gt;
&lt;li&gt;#HARD prompt. Ask video generators like SORA to generate text in videos. It is of average quality.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://platform.openai.com/docs/models#gpt-4o-realtime&#34;&gt;GPT 4o Mini Realtime&lt;/a&gt; was released. A realtime conversation will cost ~50c/hr. About 36c for input, 72c for output. (I extrapolated from the 6c/min audio input cost for GPT 4o Realtime when it was $100/MTok. GPT 4o Mini Realtime is $10/MTok input and $20/MTok output.)&lt;/li&gt;
&lt;li&gt;This is an interesting way to understand software. &lt;code&gt;Generate a Mermaid sequence diagram showing interactions based on this code.&lt;/code&gt; &lt;a href=&#34;https://llmfoundry.straive.com/history#?t=1734434521298204&#34;&gt;Ref&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The King James Bible and all Harry Potters, each, are about $1M tokens (rounded off).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pypi.org/project/markdown2/&#34;&gt;markdown2&lt;/a&gt; is the new de facto Markdown library for Python.&lt;/li&gt;
&lt;li&gt;Claude 3.5 Sonnet is &lt;em&gt;way&lt;/em&gt; ahead of competition on the &lt;a href=&#34;https://web.lmarena.ai/leaderboard&#34;&gt;LMSYS Webdev Arena&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.raspberrypi.com/news/introducing-raspberry-pi-5/&#34;&gt;Raspberry Pi 5&lt;/a&gt; has a faster CPU, more RAM and GPU, 4K support, multiple USB 3 ports&lt;/li&gt;
&lt;li&gt;Government websites like the official press releases cannot be crawled from outside India. Hence the need for server farms in India!&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
