Top all-time · #499
Simon Willison
Personal blog · til.simonwillison.net · on HN as simonwprogrammingai
Simon Willison's personal blog at til.simonwillison.net covers programming and ai. Since 2020, 115 different Hacker News readers have linked it 419 times, most often “Simon Willison's cool categorised TIL page”. It is still writing: the last post was on 2026-10-06, and you can follow it by feed.
Sometimes recommended · 7 of 33 sampled comments recommend it?
Why HN links it
HN readers link Simon Willison's TIL site for short, practical notes on tools such as SQLite, llama.cpp, Caddy and Mastodon. One commenter calls the blog stellar.
- Recommended for · 7 comments
- One commenter calls the TILs an extremely useful set of small learnings; a bash trick really useful; instructions less verbose.
Summarised by Claude from a sample of 33 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Simon Willison's cool categorised TIL page8 people · 17 mentions · first linked 2020-05-02
- A simple Python implementation of the ReAct pattern for LLMs8 people · 14 mentions · first linked 2023-03-17
- Running LLaMA 7B on a 64GB M2 MacBook Pro with Llama.cpp7 people · 9 mentions · first linked 2023-03-11
- One-liner for running queries against CSV files with SQLite6 people · 7 mentions · first linked 2022-06-21
- Some Notes on How Deno KV Works on Local Machine4 people · 8 mentions · first linked 2023-04-29
- Summarizing Hacker News Discussion Themes with Claude and LLM4 people · 7 mentions · first linked 2023-09-10
- Using Codex CLI with GPT-OSS:120B on an Nvidia DGX Spark via Tailscale4 people · 5 mentions · first linked 2025-11-07
- Using llama-cpp-Python grammars to generate JSON4 people · 5 mentions · first linked 2023-09-17
- Querying the GitHub archive with the ClickHouse playground3 people · 5 mentions · first linked 2023-01-01
- How to read Hacker News threads with most recent comments first3 people · 4 mentions · first linked 2023-03-12
What Hacker News says?
The standard argument here is that the maintainers of the core technology are likely to do a better job of hosting it because they have deeper understanding of how it all works. There's also the trick Deno has been trying, where they can use their control of the core open source project to build features that uniquely benefit their cloud hosting: https://til.simonwillison.net/deno/deno-kv#user-content-the-...
Comment linking /deno/deno-kv
on “Anthropic acquires Bun”Submitted One-liner for running queries against CSV files with SQLite as a story · 747 points
HN discussionI got gpt-4.5-preview to summarize this discussion thread so far (at 324 comments): hn-summary.sh 43197872 -m gpt-4.5-preview Using this script: https://til.simonwillison.net/llms/claude-hacker-news-themes... Here's the result: https://gist.github.com/simonw/5e9f5e94ac8840f698c280293d399... It took 25797 input tokens and 1225 input tokens, for a total cost (calculated using https://tools.simonwillison.net/llm-prices…
Comment linking /llms/claude-hacker-news-themes
on “GPT-4.5”Submitted Escaping strings in Bash using !:q as a story · 482 points
HN discussionI use GitHub Issues threads for this and it works amazingly well. Any task I'm working on has a GitHub issue - in a public repo for my open source work, or a private repo for other tasks (including personal research). As I figure things out, I add comments. These might have copy pasted fragments of code, links to things I found useful, quoted chunks of text, screenshots or references to other issues. I often end up…
Comment linking /github-actions/daily-planner
on “Use a work journal”Submitted Extracting Objects Recursively with Jq as a story · 268 points
HN discussionI wrote up some notes on a recent experience I had writing tests with Copilot here: https://til.simonwillison.net/gpt3/writing-test-with-copilot Once you get the hang of how to prompt it (mainly through clever use of comments) it can be a HUGE time saver.
Comment linking /gpt3/writing-test-with-copilot
on “Kite is saying farewell and open-sourcing its code”Submitted Problems once solved by a metaclass can be solved by __init_subclass__ as a story · 211 points
HN discussionMost LLMs have tool patterns trained into them now, which are then managed for you by the API that the developers run on top of the models. But... you don't have to use that at all. You can use pure prompting with ANY good LLM to get your own custom version of tool calling: Any time you want to run a calculation, reply with: {{CALCULATOR: 3 + 5 + 6}} Then STOP. I will reply with the result. Before LLMs had tool call…
Comment linking /llms/python-react-pattern
on “You should write an agent”Submitted Finding CSV files that start with a BOM using ripgrep as a story · 119 points
HN discussionI pasted in a concept image (created by ChatGPT images here https://chatgpt.com/share/6ac16336-c288-83e8-9f28-084d184363... ) and prompted: > Use your blender local skill to create a blender model of this faverge egg The blender local skill is this one: https://github.com/simonw/gpt-6-astra-blender-pelican-bicycl... - which I described here: https://til.simonwillison.net/llms/blender-coding-agents-mac...
Comment linking /llms/blender-coding-agents-macos
on “Claude Haiku 5.5”Submitted Annotated explanation of David Beazley's dataklasses as a story · 108 points
HN discussionUpdated my Hacker News summary script to use Claude 3 Opus, first described here: https://til.simonwillison.net/llms/claude-hacker-news-themes #!/bin/bash # Validate that the argument is an integer if [[ ! $1 =~ ^[0-9]+$ ]]; then echo "Please provide a valid integer as the argument." exit 1 fi # Make API call, parse and summarize the discussion curl -s "https://hn.algolia.com/api/v1/items/$1" | \ jq -r 'recurse(.chi…
Comment linking /llms/claude-hacker-news-themes
on “Claude 3 model family”Submitted Styling an HTML dialog modal to take the full height of the viewport as a story · 75 points
HN discussionHere are a bunch of things I use LLMs for relating to code. - Running micro-benchmarks (using Python in Code Interpreter) - if I have a question about which of two approaches is faster I often use this pattern: https://simonwillison.net/2023/Apr/12/code-interpreter/ - Building small ad-hoc one-off tools. Many of the examples in https://simonwillison.net/2024/Oct/21/claude-artifacts/ fit that bill, and I have a bunch…
Comment linking /gpt3/chatgpt-applescript
on “Things we learned about LLMs in 2024”Submitted Struct Endianness in Python as a story · 75 points
HN discussionHere's a Gemini 2.5 provided summary of this Hacker News thread as of the moment when it had 269 comments: https://gist.github.com/simonw/3efa62d917370c5038b7acc24b7c7... I ran this command to create it: curl -s "https://hn.algolia.com/api/v1/items/43473489" | \ jq -r 'recurse(.children[]) | .author + ": " + .text' | \ llm -m "gemini-2.5-pro-exp-03-25" -s \ 'Summarize the themes of the opinions expressed here. For e…
Comment linking /llms/claude-hacker-news-themes
on “Gemini 2.5”Submitted Back dating Git commits based on file modification dates as a story · 69 points
HN discussionI used o3-mini to summarize this thread so far. Here's the result: https://gist.github.com/simonw/09e5922be0cbb85894cf05e6d75ae... For 18,936 input, 2,905 output it cost 3.3612 cents. Here's the script I used to do it: https://til.simonwillison.net/llms/claude-hacker-news-themes...
Comment linking /llms/claude-hacker-news-themes
on “OpenAI O3-Mini”Submitted Compiling and running sqlite3-rsync from a branch as a story · 63 points
HN discussionRight, that's mentioned in my article: https://til.simonwillison.net/deno/deno-kv#user-content-upda...
Comment linking /deno/deno-kv
on “The DuckDB Local UI”Submitted Freezing Requirements with Pip-Tools as a story · 55 points
HN discussionReminiscent of what Deno are doing with their Deno K/V feature, which works in the open source project using SQLite but gets a big upgrade if you use it with Deno Deploy: https://til.simonwillison.net/deno/deno-kv I'm OK with this. Commercial open source projects need a business model. I get why this can be controversial, but the ecosystem needs to find ways to fund future development and I'm willing to compromise o…
Comment linking /deno/deno-kv
on “The DuckDB Local UI”Submitted Building and deploying a custom site using GitHub Actions and GitHub Pages as a story · 54 points
HN discussionI'm basing this on Github's activity archive as queried through Clickhouse - which is much harder to fake than git commits: https://play.clickhouse.com/play?user=play#U0VMRUNUCiAgY3JlY... See the writeup here: https://til.simonwillison.net/clickhouse/github-explorer
Comment linking /clickhouse/github-explorer
on “Xzbot: Notes, honeypot, and exploit demo for the xz backdoor”Submitted Annotated code for a demo of WebSocket chat in Deno Deploy as a story · 51 points
HN discussionI'm fascinated by "sips" which has a full JavaScript interpreter built into it for rendering images using an entirely undocumented (as far as I can tell) Canvas-like API: https://til.simonwillison.net/macos/sips
Comment linking /macos/sips
on “Useful built-in macOS command-line utilities”Submitted Upgrading Homebrew and avoiding the "failed to verify attestation" error as a story · 50 points
HN discussionI used Tailscale the other week to solve a problem where a government website was blocking me from scraping it from GitHub Actions... so I ran an exit node on an Apple TV on my homework and configure the GitHub Actions worker to use that instead. Worked great! https://til.simonwillison.net/tailscale/tailscale-github-act...
Comment linking /tailscale/tailscale-github-actions
on “Tailscale is pretty useful”Submitted Running Ethernet over existing coaxial cable as a story · 45 points
HN discussion