9,922 karma · joined March 3, 2011
[ my public key: https://keybase.io/cweekly; my proof: https://keybase.io/cweekly/sigs/Fd4C1Wir19FzE9qMFIbpoXWl_bIcEDdGBemcaYpLcp4 ]
type eg "rg" then up or down arrow, and the history shown is filtered by that rg prefix.
*"semi" qualifier bc there's so little known for sure -- but it's at least plausible, and his extensive research doesn't contradict things that can be verified.
goes a long way for Opus and Fable.
A takeaway for me (drawn from what he wrote^1) is that a big increase in velocity can unlock the ability to incorporate things learned along the way into a JIT / as-you-go full redesign (for coherence) vs traditional approach (slower, incremental, features added closer to release can't influence overall design).
Also I'm really impressed by Graham's approach; treating all 3 of (monkey-patching, unit testing, observability / instrumenting / tracing live running apps) as facets of the same whole... it's just beautiful.
1. https://grahamdumpleton.me/posts/2026/08/introducing-wraptur...
It's signal in the noise (which noise includes both the annoying/distracting "mannered" claudisms in the post, and the inevitable complaints in the comments -- which nearly drowned the signal).
EDIT: Also thanks for the link to his index post! Graham's expertise and generosity and suitability as a library maintainer are evident, e.g.:
> Learning it by doing
> Reading about a library only gets you so far, so alongside the posts there is now a wrapture-workshops repository on GitHub containing 24 workshops you can work through to learn wrapture in an interactive workshop format. Each takes one thing you might want to do with wrapture and walks you through doing it in a live JupyterLab session, with the instructions in a side panel whose actions drive the session and check your work as you go. The early workshops track the blog posts, one per post, and the later ones go into areas the posts have not covered yet, such as using wrapture with pytest properly, converting an existing mock based test suite, async code, patching third party libraries, distributed tracing across two processes, and writing an instrumentation package of your own.
> You need nothing installed to try them.> "To tune your perception make sure to give yourself enough headspace to allow the feeling pre-drinking to temporarily burn into memory ready for later retrieval when you'll reflect back on your hydration actions of the past 2~5 hours. Then you either drink or not drink (usually you'll soft-force by picking whether to go up and fetch a full cup or do nothing (I.e., just keep doing whatever you're engrossed in right then) until next time you remember the idea of hydrating)."
My personal / family history is a real-world example of that evolution. My grandfather was a "computer", my father was a traditional "programmer" (lots of Perl), and I'm a SWE / frontend architect / budding "AI Engineer".
Hard boundaries there simply don't exist for most workflows, and I suspect if they did, it'd be at the expense of things ~nobody would want to give up.
Compared to component-based approaches, its template / DOM / HTTP-fragment contracts are harder to share, type-check, version, and compose.
Application behavior is distributed among:
- Markup attributes and DOM structure
- HTTP endpoints that return fragments rather than whole documents
- Swap rules and event hooks
- Form / query-string / hidden-field state
- Any supplemental JavaScript for widgets and client-only behavior
IME, htmx doesn't remove complexity, it just relocates it.Context: doing webdev for a living since 1998.
It explores precisely this topic: the emergence of unexpectedly rich, complex behaviors from very simple rules given feedback and sensitivity to initial conditions.
1. https://www.penguinrandomhouse.com/books/71851/deep-simplici...