Reader

Latest posts from blogs I follow

2996 entries
60 pages

Custom Content for Everyone(opens in new tab)

A huge theater of purple steel rigging builds castles, starships and temples for one viewer in the only seat, while a tiny studio off to the side holds up a single boxed game/images/custom-content-for-everyone.webp/images/custom-content-for-everyone.webp People are starting to think about 1-3 ...

(opens in new tab)

I updated my static search fallback to use the no-AI version of DuckDuckGo (sigh). I don’t use Pagefind anymore because I built my own Zig wasm index, but the no-JS fallback remains the same DuckDuckGo form. For searching the rest ...

AGI Prediction Update (2025-2028)(opens in new tab)

A giant made of a worker's emails and records kneels and offers him small copies of himself/images/agi-prediction-update.webp/images/agi-prediction-update.webp I said, I think in 2023, that we’d have AGI between 2025 and 2028/blog/why-well-have-agi-by-2028, with 2027 being the most likely year. I...

(opens in new tab)

TetraLogical have released an Accessible Components Library. “For every component, we’ve documented the applicable success criteria from the Web Content Accessibility Guidelines (WCAG) 2.2, at levels A, AA, and AAA. We’ve also added our own recommendations for things WCAG doesn’t ...

LaTeX renderer(opens in new tab)

Tool: LaTeX renderer Inspired by Paul Ford and Aboard Foundary's new web app Tiny Little Office, which provides a suite of web app content editors (a Word Processor, Outliner, Presentation Builder, Spreadsheet, Calculator, Drawing Tool, Diagram Maker, Animator, Calendar, and ...

Tree Appreciator(opens in new tab)

Tool: Tree Appreciator Another game experiment with Claude. This one used the default Claude iPhone app (chat mode, not Claude Code mode), where I prompted Claude Opus 5.5 Max with: Build a three js game called "Tree appreciator" - it ...

frozendict built-in(opens in new tab)

Learn how to use the new frozendict built-in to create and manipulate immutable dictionaries. Python 3.15 introduced a new built-in data type: the frozendict. A frozendict is an immutable dictionary that can be created with the built-in of the same ...

A curl audit by Aisle(opens in new tab)

Over the last year or so, multiple engineers at Aisle have spent a lot of time and energy while pointing their AI powered tooling at the curl source code. This has resulted in no less than thirty-five published curl vulnerabilities ...

#500: Episode 500!(opens in new tab)

Topics covered in this episode: A quick chat with Brian looking back Extras Joke Watch on YouTube About the show Brian #1: A quick chat with Brian looking back Nick #2: Jev and the Case for Boring ML Vincent Warmerdam ...

(opens in new tab)

Origami (Weird Web October) by Dan Q is really cool! When I saw the open source repo my first reaction was: liar! Where’s the JavaScript? It’s all inline in index.html and remarkably simple (not the maths). The Unlicense ‘license’ Dan ...

A UAF turned RCE(opens in new tab)

In the curl 8.23.0 release we shipped a fix for one of the worst vulnerabilities in curl in a long time. We grade it severity HIGH. It is known as CVE-2026-92392 with the title HTTP/2 upload Use-After-Free. This post explains ...

curl 8.23.0(opens in new tab)

Release presentation Numbers the 277th release4 changes42 days (total: 10,929)281 bugfixes (total: 14,770)476 commits (total: 40,084)0 new public libcurl function (total: 100)0 new curl_easy_setopt() option (total: 312)0 new curl command line option (total: 278)84 contributors, 58 new (total: 3,844)45 authors, ...

llm-gemini 0.35(opens in new tab)

Release: llm-gemini 0.35 I added support to llm-gemini for the new Gemini 4 Argon model, made available today via the Gemini API and for customers of their $100/month subscription plan. Here are the low, medium and high pelicans. As expected, ...

Archived Tweets(opens in new tab)

I finally got around to importing my whole historical Twitter archive (just my own original tweets, not replies or retweets) into this WordPress site as a proper Custom Post Type: https://chriscoyier.net/tweets I haven’t added it to the navigation or anything ...

Quoting Geoffrey Huntley(opens in new tab)

If the agent isn't using my diagnostics library, I could introspect and update AGENTS.md, but there's still a delta, and it'll drift. Instead, I write a pre-commit hook that checks the git diff for direct calls to observability modules that ...

sentinel built-in(opens in new tab)

Learn how to use the sentinel built-in from Python 3.15 for placeholder values. Python 3.15 introduced the new sentinel built-in. The sentinel built-in can be used to create placeholder values: NOTHING = sentinel("NOTHING") A placeholder created by sentinel is the ...