Sign in

Ryan Atkinson

@ryanatkn.com
49 followers 6 following 138 posts

independent free software dev 🐢 github.com/ryanatkn 💤 www.ryanatkn.com

PostsRepliesMedia
Ryan Atkinson @ryanatkn.com · 23/07/2026
the benchmarks include tsv's internal ones (running a realworld corpus single-threaded) and then a fork of Oxc's official one that shows realistic CLI usage - github.com/oxc-project/... the latter I'd have to add Svelte to, seems worth it now that rsvelte can be compared too
github.com
GitHub - oxc-project/bench-formatter
Contribute to oxc-project/bench-formatter development by creating an account on GitHub.
100
Ryan Atkinson @ryanatkn.com · 23/07/2026
Looking great! rsvelte's compatibility makes me more comfortable with tsv being opinionated and focused on performance. I'm close to a release that's near production-ready, and would like to include rsvelte in tsv's benchmarks - I could share with you for review before publishing if you'd like.
101
Ryan Atkinson @ryanatkn.com · 11/07/2026
*POSIX
000
Ryan Atkinson @ryanatkn.com · 09/07/2026
React for modern components, Next.js for going hard and fast on the bigger picture Vue for an alternative community/programming model Svelte and SvelteKit for the whole experience Solid for signals Vite for uniting (over Rollup's optimal outputs, and esbuild's speed) Tailwind everywhere
110
Ryan Atkinson @ryanatkn.com · 07/07/2026
I'm no expert but my impression is that Firefox/Mozilla take security more seriously than your average software producer and a lot of talented people apply themselves to helping it, in the company and community. The image doesn't implicate the high-visibility Firefox, but the rest of the iceberg?
000
Ryan Atkinson @ryanatkn.com · 06/07/2026
comically and cosmically bad idea: build the civilization-wide autonomous robot fleet before The Great Software Hardening reaches diminishing returns media has provided us with sufficient lore for understanding the consequences of autofleets in a world where cavalier device security is the norm
charts from https://www.anthropic.com/news/mozilla-firefox-security and https://hacks.mozilla.org/2026/05/behind-the-scenes-hardening-firefox/ showing Firefox security vulnerabilities by month going from ~20 to 52 in Feb 2026 with Opus 4.6, corrected by Mozilla's post to 61, then 76 in March, then 423 in April with Mythos Preview

also relevant: "The Zero Days are Numbered" https://blog.mozilla.org/en/privacy-security/ai-security-zero-day-vulnerabilities/
110
Ryan Atkinson @ryanatkn.com · 04/07/2026
Also I should have mentioned svelte-docinfo was extracted from fuz_ui after developing over years without AI. The major boost AI provided was sophisticated analysis using the TS compiler (a large amount of coding labor), but the roots were hand-coded, organically grown - github.com/fuzdev/fuz_u...
github.com
extract `svelte-docinfo` by ryanatkn · Pull Request #107 · fuzdev/fuz_ui
see https://github.com/fuzdev/svelte-docinfo
010
Ryan Atkinson @ryanatkn.com · 04/07/2026
Oof I fixed a sloppy bug where subdir modules (src/lib/foo/*) were not detected from package.json#exports wildcards. v0.5.4 has the fix. I didn't notice before announcing bc only one of my projects with a docs website uses subdirs. It worked in fuz_ui but didn't survive extraction to svelte-docinfo
110
Ryan Atkinson @ryanatkn.com · 26/06/2026
I will also admit, right up until trying Claude Code, the hype around "2025 is the year of the agent" had me rolling my eyes, and I was wrong. I think skepticism is a vital perspective to maintain with these tools, but a closable loop has been visible for a long time. The speed of advancement tho..
100
Ryan Atkinson @ryanatkn.com · 26/06/2026
When Claude Code arrived I was quick to turn off editor autocomplete. I find it disruptive to my thinking to have keystrokes predicted, and wasteful - it's so expensive to do well that I bet most results still look confusingly poor compared to agents. www.youtube.com/watch?v=dFUl...
youtube.com
It's a Unix system
YouTube video by helgi27
110
Ryan Atkinson @ryanatkn.com · 26/06/2026
I've had a take since Sonnet 3.5, ~Aug 2024, that editor autocomplete has done more to mislead dev perception of AI capability than any other application of the tech. 3.5 could produce style-faithful, correct-enough, maintainable, niche code. Later models learned Unix, & agents optimized the loop.
120
Ryan Atkinson @ryanatkn.com · 26/06/2026
There's room to grow, of course. One remaining frequent+simple error I see Claude Code make is where it fails to write unread files. Such simple mistakes were common last year, infrequent now. And with a final note, I'm concluding this thread as a microsaga ends: Claude can reliably `cd`
000
Ryan Atkinson @ryanatkn.com · 26/06/2026
More from Opus 4.8: "verdict, spike, seam, fold in, fan out" I started this long thread in Sep 2025 framing it as "tricks" to using Claude Code. This no longer seems relevant - what felt like esoteric knowledge and clever tricks has by June 2026 become mostly-intuitive and broadly-predictable usage
100
Ryan Atkinson @ryanatkn.com · 19/06/2026
Today we see a flood of software that lacks all indicators of human care, and we also see many righteously upset people make unkind generalizations that erase all nuance. Not everyone using AI to make and share software is a slop merchant. One can make extremely high quality free software with AI.
000
Ryan Atkinson @ryanatkn.com · 19/06/2026
The majority of my projects were coded by hand over 7+ years, and I started using Claude Code heavily in late 2025. Posting tsv to reddit was an important learning experience -- when sharing my projects, I'm going to have to do extra work to not look like a vibe coder, and also grow a thicker skin.
100
Ryan Atkinson @ryanatkn.com · 19/06/2026
Some of my other projects would still exist but would not be as complete and or as high quality without AI tools, and I have painfully high standards. For example github.com/fuzdev/svelt... -- nothing else exists in the ecosystem that does what it does, because it took a ton of coding labor.
github.com
GitHub - fuzdev/svelte-docinfo: static analysis for TypeScript and Svelte
static analysis for TypeScript and Svelte. Contribute to fuzdev/svelte-docinfo development by creating an account on GitHub.
110
Ryan Atkinson @ryanatkn.com · 19/06/2026
I started using AI agents a little over a year ago, and now some of my projects are entirely AI generated, like tsv - github.com/fuzdev/tsv This project would not exist without AI doing the coding labor. And it's shaping up excellently; I'm proud to put my name on it despite the derogatory comments
github.com
GitHub - fuzdev/tsv: formatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rust
formatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rust - fuzdev/tsv
120
Ryan Atkinson @ryanatkn.com · 19/06/2026
I started publishing open source projects to GitHub in 2013, and since 2019 I've been publishing my stuff full-time, building in public without the hash tag. LLMs were trained on my code and I'm cool with it, and now use agents daily. I design and engineer, agents do much (not all) of the coding.
intheweights.com for ryanatkn, top 10% open source developer
110
Ryan Atkinson @ryanatkn.com · 18/06/2026
The jujutsu model has me curious but agentic coding has given me a newfound appreciation for the git staging area, as its friction pairs well with git-denied agents to resist vibe coding. jj could probably have superior tools for similar workflows, but no-staging isn't a selling point for me now.
110
Ryan Atkinson @ryanatkn.com · 15/06/2026
Yeah no formatting options is a locked decision, currently has 4 overrides from Prettier's defaults, these may change and discussions are open: useTabs: true printWidth: 100 singleQuote: true bracketSpacing: false My preference is for explicit punctuation and less ambiguity like around `{`.
000
Ryan Atkinson @ryanatkn.com · 15/06/2026
tsv also addresses numerous quirks in Prettier whereas oxfmt went for compatibility, this limits tsv's appeal but long-term gives it more freedom to innovate another goal is tsv is to produce optimal artifacts -- `tsv` will have everything but e.g. the parser and formatter can be used a la carte
110
Ryan Atkinson @ryanatkn.com · 15/06/2026
tsv is focused on Svelte+TS+CSS (can output Svelte's AST), oxc is a Biome-like generic language platform tsv won't support config options so filesystem state doesn't affect how it operates rsvelte started with a Svelte compiler, tsv's is deferred for now size-wise this means tsv is much smaller
130
Ryan Atkinson @ryanatkn.com · 15/06/2026
rsvelte uses oxc, tsv has its own parser today tsv is ~6% slower formatting TS and oxfmt bundles+delegates to Prettier, so tsv's wasm is 9x faster formatting Svelte & 13x for CSS, natively 12x/17x oxlint bridges to JS for ESLint plugins, and oxfmt is planning Prettier plugins - tsv won't for perf
120
Ryan Atkinson @ryanatkn.com · 15/06/2026
for formatting, 2-4x faster and 1/15 the size: tsv.fuz.dev/docs/benchma... Biome also doesn't expose its parser to JS - tsv can output a full Svelte-conformant AST, and can individually parse TypeScript/JS and CSS as well but tsv supports far fewer languages, and limited features today
tsv.fuz.dev
020
Ryan Atkinson @ryanatkn.com · 14/06/2026
tsv.fuz.dev/docs/playground demonstrates the in-browser usage of tsv's formatter and parser using fuz_code's new `CodeTextarea` component that uses the CSS Highlight API developer.mozilla.org/en-US/docs/W...
a code-highlighted textarea containing a Svelte component with a format button and a warning that the content is unformatted, with the parsed JSON AST below
000
Ryan Atkinson @ryanatkn.com · 14/06/2026
This first release took 7 months and ~1800 manual commits. Fixtures are all original - I used Prettier's only after it formatted my codebases and Svelte's, and avoided many bugs and quirks in the process. I used machine agents but I put considerable effort into the design choices and quality.
100
Ryan Atkinson @ryanatkn.com · 14/06/2026
I'll be announcing more of the Fuz projects soon. fuz_css and fuz_ui are probably most relevant to people interested in tsv -- feedback is welcome, unlike tsv they're not AI generated, I built them over 7 years and I think I'm near the point where they won't have continuous breaking changes
100
Ryan Atkinson @ryanatkn.com · 13/06/2026
I posted this yesterday but I walked back the decision for the expensive premium domain, and tsv is now grouped with my other projects at fuz.dev -- I deleted the post because I don't want it pointing to a domain that might get malware next year
fuz.dev
Fuz - friendly user zystem
100
Ryan Atkinson @ryanatkn.com · 13/06/2026
Announcing tsv - a formatter, parser, and future linter + more for Svelte + TypeScript/JS/HTML/CSS in Rust. - tailored to Svelte, no irrelevant bloat - emphasis on performance, no JS bridging - non-configurable, so hidden dir-specific state never changes behavior github.com/fuzdev/tsv tsv.fuz.dev
github.com
GitHub - fuzdev/tsv: formatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rust
formatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rust - fuzdev/tsv
4150
Ryan Atkinson @ryanatkn.com · 11/06/2026
Announcing svelte-docinfo, a library that extracts JSON describing TypeScript and Svelte modules. It's like sveld but uses the TypeScript compiler for increased fidelity. Feedback is very welcome! svelte-docinfo.fuz.dev github.com/fuzdev/svelt...
a diagram showing the module dependency graph of svelte-docinfo, with svelte.ts selected and its dependencies and dependents highlighteda three pane view with the svelte-docinfo modules list on the left, the source code in the middle, and the extracted JSON on the right
140
Ryan Atkinson @ryanatkn.com · 11/06/2026
Fable 5 seems more eager to make choices and implement without getting confirmation, my guess is because it's been tuned for longer running sessions. Mixed feelings about this. Its depth and taste and judgment are superb often and also jagged. I like how assertive with pushback but yielding it feels
100
Ryan Atkinson @ryanatkn.com · 10/06/2026
Fable just came out. Some things from Opus 4.8: "Good instincts. Over-anchored. Distill. Walking skeleton. Probe. Pinned. Stress-tested." I've had success with it following sequences of then, then, then. It pushes back like a pro. Still plenty of jaggedness. Ever-fatiguing to decision making.
100
Ryan Atkinson @ryanatkn.com · 05/06/2026
svelte.dev loads scripts from two domains, svelte.dev, and sveltejs.github.io I find this abnormally restrained, as someone who browses the web with a JS script blocker. The good vibes are not superficial feelings, they often result from material choices to reject dark and fraught patterns.
svelte.dev
Svelte
Web development for the rest of us
020
Ryan Atkinson @ryanatkn.com · 05/06/2026
the vibes? they are good
130
Ryan Atkinson @ryanatkn.com · 05/06/2026
not many projects get this level of quality and also aren't selling your data into the attention economy bsky.app/profile/ryan...
120
Ryan Atkinson @ryanatkn.com · 05/06/2026
Svelte is among the best-stewarded projects I've experienced, as a very-online open source tech observer over 15+ years The always-improving design is a treat. Async integration and remote functions are elegant, and recently {let/const, vite.config.ts eating svelte.config.js, and much nicer env. !!
2749
Ryan Atkinson @ryanatkn.com · 03/06/2026
hostile AI (will be|are already|have long been) effective liars, defensive AI can be an angel on your shoulder
100
Ryan Atkinson @ryanatkn.com · 29/05/2026
Some words/phrases that Opus 4.7 used a lot, some from me: load-bearing tighten locked carve out fork (as in decision) continuity prompt (it knows what a "cont prompt" is) Opus 4.8 was just released and numbers have again gone up (with noticeably improved token efficiency?). Feels abundant.
110
Ryan Atkinson @ryanatkn.com · 28/05/2026
a billion robots that can run around and be hacked, running software vibe coded by hacks
100
Ryan Atkinson @ryanatkn.com · 16/05/2026
Opus 4.7 - "Good prompt.", "load bearing". I like its more literal instruction following. Thoughtful expert tone, good pushback without asking. It uses colorful language, sometimes tersely metaphorical when describing complex ideas. Surprisingly bad at assuming character counts in short words.
100
Ryan Atkinson @ryanatkn.com · 05/04/2026
Opus 4.6 with Claude Code: - can refine complex plans iteratively with good taste - is good enough with `cd` (!!) - makes significantly fewer mistakes with test fixtures than Opus 4.5, far fewer than 4 (the task is precise creation of pattern-breaking inputs) - has me already taking it for granted
110
Ryan Atkinson @ryanatkn.com · 21/03/2026
conscientious Svelte: - does not track you with telemetry - yet makes web developers feel seen www.youtube.com/live/s1x2Wm6...
youtube.com
▲ Svelte on Vercel
YouTube video by Vercel
160
Ryan Atkinson @ryanatkn.com · 13/03/2026
Still saying it, I think Claude Code with Opus 4.5 was the tipping point where it can sufficiently refine its own output towards long-horizon design goals, documenting and implementing with acceptable confidence and quality. Markdown docs are a powerful substrate. 4.6 is ++ bsky.app/profile/ryan...
201
Ryan Atkinson @ryanatkn.com · 12/03/2026
it's the return of "The Return of 'Write Less, Do More'" www.youtube.com/watch?v=BzX4...
youtube.com
The Return of 'Write Less, Do More' by Rich Harris | JSCAMP 2019
YouTube video by JScamp
010
Ryan Atkinson @ryanatkn.com · 12/03/2026
I'm a biased Svelte user but damn Marko
110
Ryan Atkinson @ryanatkn.com · 12/03/2026
Even with powerful AI, tokens cost electricity/time/hardware/externalities and people will continue to care about how much money it costs to make things. Efficiencies=gains when automating. To coldly compare token counts with flawed data, from component-party.dev - gist.github.com/ryanatkn/1a2...
Terminal output comparing LLM token counts across 18 UI frameworks using component-party.dev code samples. 22 identical UI patterns tokenized with gpt-tokenizer (cl100k_base), baselined against Svelte 5 at 2,072 tokens. Marko is leanest at 1,611 tokens (-22%), followed by Aurelia 2 (-6%). Svelte 4 is nearly identical (+1%). Vue 3 sits at +19%, React at +33%, and Angular is the most verbose at 4,172 tokens (+101%). Four frameworks have missing sections filled via weighted median imputation. Results table shows token count, absolute delta, percentage difference, character count, median tokens per section, file count, and section coverage for each framework.
160
Ryan Atkinson @ryanatkn.com · 08/03/2026
My workflow today is manually typing git add/commit, leveraging staging for review. I'm not ready to let Claude Code write commits for me, though I can see how I'm bottlenecking the process, could let it push to the git hub and review there instead of locally in a git diff viewer for more automation
120
Ryan Atkinson @ryanatkn.com · 08/03/2026
Shortly after starting to use Claude Code last year, I turned off AI autocomplete in my editor, and I haven't looked back. With Opus 4.6 I'm tempted to work on some projects from a tablet. Fixtures continue to take a lot of manual effort and careful thought, but there's been some improvements here.
110
Ryan Atkinson @ryanatkn.com · 27/02/2026
Flight is one of my favorite LLM metaphors. When flying over terrain, you miss details, disconnected from whatever's going on below, but you move fast, skip obstacles like they're nothing, leveraging the 3rd dimension, gliding on air currents, fluid but detached, less inhibited but more distanced
000
Ryan Atkinson @ryanatkn.com · 22/02/2026
continual-learning.jpg postgres://localhost/mem
100