<?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>gpt-5-5 on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/gpt-5-5/</link>
    <description>Recent content in gpt-5-5 on S Anand</description>
    <generator>Hugo -- 0.156.0</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 28 May 2026 16:04:51 +0800</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/gpt-5-5/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ChatGPT is about FIDE 1600</title>
      <link>https://www.s-anand.net/blog/chatgpt-is-about-fide-1600/</link>
      <pubDate>Thu, 28 May 2026 16:04:51 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/chatgpt-is-about-fide-1600/</guid>
      <description>&lt;p&gt;I asked ChatGPT to play chess with &lt;a href=&#34;https://stockfishchess.org/&#34;&gt;Stockfish&lt;/a&gt;. Stockfish is a &amp;ldquo;strong open-source chess engine&amp;rdquo;. It has 8 levels of difficulty, which &lt;a href=&#34;https://share.google/aimode/yA9NvnPcsZ1TFtmna&#34;&gt;roughly maps to these FIDE levels&lt;/a&gt;:&lt;/p&gt;
&lt;section ai-disclosure=&#34;ai-generated&#34; data-ai-model=&#34;gemini-3.5-flash&#34; data-ai-provider=&#34;Google&#34;&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Stockfish&lt;/th&gt;
          &lt;th&gt;FIDE&lt;/th&gt;
          &lt;th&gt;Player Level &amp;amp; Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 1&lt;/td&gt;
          &lt;td&gt;~1000&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Beginner&lt;/strong&gt;: Constantly blunders, hangs pieces deliberately.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 2&lt;/td&gt;
          &lt;td&gt;~1100&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Advanced Beginner&lt;/strong&gt;: Fewer obvious tactical mistakes, plays completely aimlessly.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 3&lt;/td&gt;
          &lt;td&gt;~1200&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Early Intermediate&lt;/strong&gt;: Punishes very basic errors but regularly drops pieces.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 4&lt;/td&gt;
          &lt;td&gt;~1350&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Intermediate&lt;/strong&gt;: Plays standard opening moves; requires solid, blunder-free play to beat.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 5&lt;/td&gt;
          &lt;td&gt;~1450&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Advanced Intermediate&lt;/strong&gt;: Rarely hangs single pieces; you need positional advantages.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 6&lt;/td&gt;
          &lt;td&gt;~1650&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Strong Club Player&lt;/strong&gt;: Highly tactical. Aggressively exploits your mistakes.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 7&lt;/td&gt;
          &lt;td&gt;~1950&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Expert&lt;/strong&gt;: Exceptionally strong. Requires precise positional mastery and deep calculation.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 8&lt;/td&gt;
          &lt;td&gt;~2400&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;Grandmaster&lt;/strong&gt;: Invincible for most humans. Plays with ruthless perfection.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Full Engine&lt;/td&gt;
          &lt;td&gt;~3600&lt;/td&gt;
          &lt;td&gt;Our of human reach completely, &amp;ldquo;like a smart ant trying to debate physics with a human.&amp;rdquo;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;/section&gt;
&lt;p&gt;In the &lt;a href=&#34;https://chatgpt.com/share/6a17f88a-dd74-83ec-b6e6-b42fac198d9c&#34;&gt;first iteration&lt;/a&gt;, here were the results:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Stockfish&lt;/th&gt;
          &lt;th&gt;Result&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 0&lt;/td&gt;
          &lt;td&gt;Win&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 1&lt;/td&gt;
          &lt;td&gt;Win&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 2&lt;/td&gt;
          &lt;td&gt;Stalemate&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 3&lt;/td&gt;
          &lt;td&gt;Stalemate&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 4&lt;/td&gt;
          &lt;td&gt;Win&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 5&lt;/td&gt;
          &lt;td&gt;Loss&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Level 6&lt;/td&gt;
          &lt;td&gt;Loss&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&amp;hellip; etc.&lt;/td&gt;
          &lt;td&gt;Loss&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;When I asked ChatGPT how it played, it said something like &amp;ldquo;I wrote a Python program that plays chess using a fixed policy.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s crazy! So I told it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rather than use a fixed policy, get the move that Stockfish made, analyze it, and return your next move. See if you can win at level 6.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After a few attempts, it &lt;a href=&#34;https://chatgpt.com/share/6a17f740-0424-83ec-b298-5bf6056a3905&#34;&gt;won&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://lichess.org/l9vffWVr&#34;&gt;Here&amp;rsquo;s the game&lt;/a&gt;:&lt;/p&gt;
&lt;video controls=&#34;&#34; width=&#34;534&#34; height=&#34;542&#34; style=&#34;max-width: 100%; height: auto;&#34;&gt;
  &lt;source src=&#34;https://files.s-anand.net/images/2026-05-28-chatgpt-vs-stockfish-chess-game.webm&#34; type=&#34;video/webm&#34;&gt;&lt;a href=&#34;https://lichess.org/l9vffWVr&#34;&gt;ChatGPT vs Stockfish Level 6&lt;/a&gt;
&lt;/video&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-pgn&#34; data-lang=&#34;pgn&#34;&gt;[White &amp;#34;ChatGPT&amp;#34;]
[Black &amp;#34;Stockfish Skill Level 6&amp;#34;]
[Termination &amp;#34;White won by checkmate&amp;#34;]
[FinalFEN &amp;#34;4Q3/2qrkp2/4pN2/1pp1P3/7P/p1P3P1/P5K1/4R3 b - - 5 39&amp;#34;]

1. d4 e6 2. c4 Nf6 3. Nf3 Be7 4. g3 O-O 5. Bg2 a5
6. O-O c6 7. Qc2 d5 8. Rd1 Ne4 9. Nc3 Nxc3 10. bxc3 a4
11. e4 h6 12. Bf4 Re8 13. e5 b6 14. Nd2 Ba6 15. h4 Qc7
16. Be3 Bb7 17. f4 Na6 18. Rf1 Rad8 19. f5 Bf8 20. f6 Nb8
21. fxg7 Bxg7 22. Qd1 Nd7 23. Qg4 Nxe5 24. dxe5 c5
25. Bf4 Re7 26. Re1 Kf8 27. Qh5 a3 28. Bh6 dxc4 29. Nxc4 Bxg2
30. Kxg2 Rd3 31. Bxg7+ Kxg7 32. Rf4 Rd2+ 33. Nxd2 Rd7
34. Ne4 b5 35. Rg4+ Kf8 36. Rg8+ Kxg8 37. Nf6+ Kf8
38. Qh8+ Ke7 39. Qe8# 1-0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;So, guess ChatGPT (GPT-5.5, extended thinking) is at around 1600 FIDE level right now.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s impressive is that it wasn&amp;rsquo;t specifically trained on Chess. It&amp;rsquo;s just something it picked up on the way.&lt;/p&gt;
&lt;p&gt;If it starts beating level 8 (grandmaster), will we finally acknowledge AGI? (Me? I think &lt;a href=&#34;https://marginalrevolution.com/marginalrevolution/2025/04/o3-and-agi-is-april-16th-agi-day.html&#34;&gt;we achieved AGI on 16 Apr 2025&lt;/a&gt;.)&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 03 May 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-03-may-2026/</link>
      <pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-03-may-2026/</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/run-llama/liteparse&#34;&gt;LiteParse&lt;/a&gt; is a PDF to text library that you can run via &lt;code&gt;npx --package=@llamaindex/liteparse lit parse document.pdf&lt;/code&gt;. &lt;a href=&#34;https://simonwillison.net/2026/Apr/23/liteparse-for-the-web/&#34;&gt;Simon Willison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Always add indecisiveness, inaction, &amp;ldquo;other&amp;rdquo;, &amp;ldquo;not applicable&amp;rdquo;, etc. as an option to LLMs. They are trained for decisive responses and pattern matching, so we need to guide the the other way. &lt;a href=&#34;https://martinfowler.com/fragments/2026-04-14.html&#34;&gt;Martin Fowler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;GPT 5.5 is priced &lt;em&gt;twice&lt;/em&gt; that of GPT 5.4. No wonder my Codex usage is much higher than last month. &lt;a href=&#34;https://simonwillison.net/2026/Apr/23/gpt-5-5/#a-few-more-notes-on-gpt-5-5&#34;&gt;Simon Willison&lt;/a&gt;. I am better off sticking to &lt;code&gt;medium&lt;/code&gt; effort instead of the &lt;code&gt;xhigh&lt;/code&gt; I usually use - it may not be required. &lt;a href=&#34;https://developers.openai.com/api/docs/guides/latest-model&#34;&gt;OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&amp;hellip; the eigenquestion is the question where, if answered, it likely answers the subsequent questions as well.&amp;rdquo; &lt;a href=&#34;https://coda.io/@shishir/eigenquestions-the-art-of-framing-problems/eigenquestions-3&#34;&gt;Shishir Mehrotra &amp;amp; Matt Hudson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Claude Code stores the logged in OAuth token at &lt;code&gt;~/.claude/.credentials.json&lt;/code&gt;. We can use that to fetch &lt;code&gt;https://api.anthropic.com/api/oauth/usage&lt;/code&gt; and retrieve Claude usage and reset times. &lt;code&gt;uvx ccusage&lt;/code&gt; does this automatically, but I prefer my own script.&lt;/li&gt;
&lt;li&gt;Ontology matters in the AI era. But some stuff matters more, and some less. &lt;!-- https://claude.ai/chat/2f6fdf7e-9d32-4c45-ac8d-603d029aed5b --&gt;
&lt;ul&gt;
&lt;li&gt;🟢 MORE: Definitions: what &amp;ldquo;customer&amp;rdquo; means&lt;/li&gt;
&lt;li&gt;🟢 MORE: Constraints: e.g. &amp;ldquo;don&amp;rsquo;t reclassify loans&amp;rdquo;&lt;/li&gt;
&lt;li&gt;🟢 MORE: Interactions: how to verify, coordinate, delegate, &amp;hellip;&lt;/li&gt;
&lt;li&gt;🔴 LESS: Creating ontologies: agents can do that.&lt;/li&gt;
&lt;li&gt;🔴 LESS: Completeness and rigor: agents tolerate uncertainty.&lt;/li&gt;
&lt;li&gt;🔴 LESS: Proprietary: agents can reverse-engineer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;There are several industries / markets that MBA case studies rarely cover (&lt;a href=&#34;https://chatgpt.com/share/69efcf7a-6bf0-83ea-86dd-36e115e7540c&#34;&gt;ChatGPT&lt;/a&gt;): Kirana stores; Care (child care, elder care, domestic work); Faith (finance, food, media, education); Remittances; Gambling (lottery, sports betting, gacha); Scams &amp;amp; organized fraud; Counterfeiting; &amp;hellip; &lt;!-- https://chatgpt.com/c/69efa7bb-f918-83ea-9bc5-e3f7231c75da + https://gemini.google.com/app/dc5ac9f4a4f44cf0 --&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 26 Apr 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-26-apr-2026/</link>
      <pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-26-apr-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;mdq&lt;/code&gt; is pretty useful to extract Markdown sections. For example &lt;code&gt;cat *.md | mdq &#39;# Title&#39;&lt;/code&gt; extracts all sections where the header contains &amp;lsquo;Title&amp;rsquo; (case-insensitive).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developers.cloudflare.com/browser-run/&#34;&gt;CloudFlare Browser Run&lt;/a&gt; is, roughly, a browser as a service. &lt;a href=&#34;https://developers.cloudflare.com/browser-run/pricing/&#34;&gt;Pricing&lt;/a&gt;: 10 hours free per month, then 9c per hour. I had Codex run a small &lt;a href=&#34;https://github.com/sanand0/research/tree/main/cloudflare-browser-run&#34;&gt;research&lt;/a&gt; to explore it, and it seems simple to set it up and use it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openai.com/index/introducing-gpt-5-5/&#34;&gt;GPT 5.5&lt;/a&gt; seems to be especially better than GPT 5.4 and running for long, with tool calls, without losing focus. That&amp;rsquo;s something OpenAI models are good at anyway, so this takes it a step further. &lt;a href=&#34;https://chatgpt.com/share/69eaccb0-b9e0-8399-be3f-6bd73906d0ec&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I added &lt;a href=&#34;https://developers.openai.com/api/docs/models/gpt-image-2&#34;&gt;gpt-image-2&lt;/a&gt; to my &lt;a href=&#34;https://sanand0.github.io/llmartstyle/&#34;&gt;LLM Art Style gallery&lt;/a&gt;. It is notably better with text accuracy. For example, on &lt;a href=&#34;https://sanand0.github.io/llmartstyle/?category=text&#34;&gt;Rock - Paper - Scissors - Lizard - Spock&lt;/a&gt; it consistently lists all 10 rules, which Nano Banana 2 does not.&lt;/li&gt;
&lt;li&gt;World leaders do keep us entertained. &lt;!-- https://gemini.google.com/app/240186d320b283d8 --&gt;
&lt;ul&gt;
&lt;li&gt;Saparmurat Niyazov (Turkmenistan) renamed the months of the year and days of the week after himself and his mother. He built a towering, gold-plated statue of himself in the capital that rotated so it would always face the sun. He also banned lip-syncing at concerts, outlawed gold teeth, and banished dogs from the capital because he found their smell unappealing.&lt;/li&gt;
&lt;li&gt;Idi Amin (Uganda) declared himself the &amp;ldquo;Uncrowned King of Scotland&amp;rdquo; and sent baffling, unsolicited telegrams to world leaders - advising Richard Nixon to recover from Watergate, or offering food aid to a struggling Britain.&lt;/li&gt;
&lt;li&gt;François &amp;ldquo;Papa Doc&amp;rdquo; Duvalier (Haiti) reportedly ordered all black dogs in Haiti to be put to death and claimed his personal Vodou curse was responsible for the assassination of John F. Kennedy.&lt;/li&gt;
&lt;li&gt;Francisco Macías Nguema (Equatorial Guinea) banned the word &amp;ldquo;intellectual&amp;rdquo;, banned the use of lubricants in the power plant (claiming his magic would keep it running, which promptly broke the generators), and stored the nation&amp;rsquo;s remaining foreign currency under his bed.&lt;/li&gt;
&lt;li&gt;Kim Jong-il (North Korea) claimed he invented the hamburger (calling it &amp;ldquo;double bread with meat&amp;rdquo;) and shot 11 holes-in-one his first time playing golf.&lt;/li&gt;
&lt;li&gt;Donald Trump (United States) used late-night tweets to announce major policy shifts and fire his own cabinet members. He altered an official government hurricane map with a Sharpie to match a previous erroneous statement, and publicly mused during a press briefing about the injection of household disinfectants as a medical treatment.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Git repositories inside git repositories (without using sub-modules) don&amp;rsquo;t seem to work well. I need this because I have mono-repos for research and I want to use git in a sub-folder to iterate, then commit just the final version to the parent folder. Looks like I need to remove the child &lt;code&gt;.git/&lt;/code&gt; (e.g. rename to &lt;code&gt;.git.bak/&lt;/code&gt;, which I&amp;rsquo;ve added to my &lt;code&gt;~/.config/git/ignore&lt;/code&gt;) for this to work. &lt;a href=&#34;https://gemini.google.com/share/1a89ad8cf6da&#34;&gt;Gemini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To run a script in the background (without logs) and detach / disown it, use &lt;code&gt;nohup your-script &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp; disown&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Running &lt;code&gt;/insights&lt;/code&gt; on Claude Code helped me add these two instructions to my &lt;a href=&#34;https://github.com/sanand0/scripts/blob/main/agents/code/SKILL.md&#34;&gt;code skill&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;Test web pages with screenshots (for layout, overlaps, contrast) AND CDP (for interactions, navigation) before finalizing&lt;/li&gt;
&lt;li&gt;Prefer icon libraries over unicode/emoji icons.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Sending an entire PDF/PPTX to Gemini costs ~40% of sending PDF/PPTX + images. The quality is fine for small files, but for large files adding images reduces error rate from ~5% to 0.5%.&lt;/li&gt;
&lt;li&gt;Pandoc Markdown to Word DOCX supports sidebar comments. You can use this Markdown: Here is &lt;code&gt;[comment in sidebar]{.comment-start id=&amp;quot;c1&amp;quot; author=&amp;quot;Anand&amp;quot; date=&amp;quot;2026-01-01T12:00:00Z&amp;quot;}commented text[]{.comment-end id=&amp;quot;c1&amp;quot;} inline.&lt;/code&gt; &lt;a href=&#34;https://gemini.google.com/share/430e7556ad69&#34;&gt;Gemini&lt;/a&gt;. In fact, Pandoc supports lots of other things, like: &lt;!-- https://gemini.google.com/app/0fe9e7b12650f7f2 --&gt;
&lt;ul&gt;
&lt;li&gt;Custom styles via block &lt;code&gt;::: {custom-style=&amp;quot;Custom Style Name&amp;quot;}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Track changes via &lt;code&gt;[inserted text]{.insertion author=&amp;quot;Name&amp;quot; date=&amp;quot;2026-04-20T12:00:00Z&amp;quot;}&lt;/code&gt; and &lt;code&gt;[deleted text]{.deletion author=&amp;quot;Name&amp;quot;}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Page breaks via &lt;code&gt;\newpage&lt;/code&gt; (a LaTeX command that Pandoc supports in Markdown)&lt;/li&gt;
&lt;li&gt;CSS styles via &lt;code&gt;![Alt Text](image.png){width=&amp;quot;5.5in&amp;quot; height=&amp;quot;3in&amp;quot;}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://offpunk.net/&#34;&gt;Offpunk&lt;/a&gt; is a CLI offline-first browser. Interesting idea, but installation is a problem.
After &lt;code&gt;sudo apt uninstall offpunk&lt;/code&gt; running &lt;code&gt;offpunk&lt;/code&gt; failed with &lt;code&gt;ImportError: lxml.html.clean module is now a separate project lxml_html_clean.&lt;/code&gt;
After a &lt;code&gt;git clone&lt;/code&gt; it reported &lt;code&gt;HTML document detected. Please install python-bs4 and python-readability&lt;/code&gt;.
These are easy to fix, but I wasn&amp;rsquo;t inclined.&lt;/li&gt;
&lt;li&gt;Creating an authenticated &lt;a href=&#34;https://developers.openai.com/api/docs/mcp&#34;&gt;MCP Server for ChatGPT&lt;/a&gt; is complex. It requires OpenID Connect (for which library support is weak and requires a provider like Auth0), dynamic client registration (which is hard to implement though Auth0 supports it), and after half a day of experiments, I still couldn&amp;rsquo;t connect. An easier option is to run temporary tunnels with &lt;code&gt;cloudflared&lt;/code&gt; or &lt;code&gt;ngrok&lt;/code&gt; or &lt;code&gt;localtunnel&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
