Ryan Atkinson

Ryan Atkinson

@ryanatkn.com

independent free software dev 🐢 Rust, TypeScript, Svelte, Postgres

56 followers11 following157 posts

The fuz.dev projects have moved from MIT to 0BSD, similar but without the attribution requirement. Copy the code freely, that's what it's there for. The first 6 years were me, but starting last year it's increasingly guided Claude, which means it belongs to everyone else, no strings attached.

fuz.devFuz - friendly user zystem

Fuz is infra and dev tools, and that's why I chose 0BSD. I do plan on licensing certain apps of mine with the AGPL to protect users, but I also think it's ethical for some services to host adversarial users without giving them the backend source, so my infra code is unencumbered.

This world is full of people who opportunistically harm others, and hosting a service is a two-way street - I believe users should have far more rights than typically given today, but not absolute rights to every host's code. In some cases I believe prioritizing the host is pro-human on balance.

tsv 0.6 is out, near-production-ready formatters/parsers for TypeScript/JS, CSS, and Svelte - 2.2x faster than oxfmt for TS single-threaded, 3.6x CSS - wasm builds for browsers (oxfmt ships none) - CLI formatting is 3x faster than rsvelte-fmt - vscode/openvsx extension tsv.fuz.dev/docs/benchma...

tsv.fuz.devbenchmarks - tsv.fuz.devPrecise language tools for TypeScript/JS, CSS, and Svelte in Rust: a formatter that closely follows Prettier and a drop-in for Svelte's parser.

The format style is hardcoded to Prettier + Svelte's config which uses trailingComma:none ... save tokens! Svelte formatting also respects version 5's HTML-diverging whitespace trimming rules, making common warty cases readable (a bigger motivation for starting this project than I'd like to admit)

tsv 0.6 is out, near-production-ready formatters/parsers for TypeScript/JS, CSS, and Svelte - 2.2x faster than oxfmt for TS single-threaded, 3.6x CSS - wasm builds for browsers (oxfmt ships none) - CLI formatting is 3x faster than rsvelte-fmt - vscode/openvsx extension tsv.fuz.dev/docs/benchma...

tsv.fuz.devbenchmarks - tsv.fuz.devPrecise language tools for TypeScript/JS, CSS, and Svelte in Rust: a formatter that closely follows Prettier and a drop-in for Svelte's parser.
View full thread

tsv 0.6 is out, near-production-ready formatters/parsers for TypeScript/JS, CSS, and Svelte - 2.2x faster than oxfmt for TS single-threaded, 3.6x CSS - wasm builds for browsers (oxfmt ships none) - CLI formatting is 3x faster than rsvelte-fmt - vscode/openvsx extension tsv.fuz.dev/docs/benchma...

tsv.fuz.devbenchmarks - tsv.fuz.devPrecise language tools for TypeScript/JS, CSS, and Svelte in Rust: a formatter that closely follows Prettier and a drop-in for Svelte's parser.
View full thread

tsv turns 1 year old at the end of the month. I originally published with a squashed history, but it now includes 47 commits condensing the pre-release history. It's my first serious LLM-generated project, and the benchmarks appear to justify the effort. I'll blog about it soon.

The project is still rough in spots, but it also fixes numerous bugs in the reference tools. The repo documents many bugs and quirks observed in Prettier, prettier-plugin-svelte, acorn-typescript, and Svelte's parser. I submitted some fixes this year, and there's a lot more I want to contribute.

some reasons to use svelte over r**ct, from krausest.github.io/js-framework... 35-40% faster runtime overall using 3/5 the memory creating/clearing 1k rows 2x faster at 15-20% the base bundle size and 150ms cheaper to initially paint - 70ms vs 220ms - 9+ frames users lose every time they visit

krausest.github.ioJavaScript Framework Benchmark — Interactive ResultsExplore JavaScript framework benchmark results. Compare execution time, memory use and bundle size across keyed and non-keyed implementations.

I love Deno and I'm sad to see it abandoned. I'll keep using it and benchmarking it against Node and Bun, but also, we can do better, including better than pre-Node-follower-Deno. The team did so much good work for the Web, TypeScript, JS, and Rust. You can feel how much they cared. On to the next.

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.

View full thread

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..

View full thread

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

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?

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

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.

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.

This is hella cool...and I would've never thought I could be in the weights (and it knows I'm a svelte guy) 🤯 intheweights.com/p/paoloricci...

View full thread

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.

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.

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.

This is hella cool...and I would've never thought I could be in the weights (and it knows I'm a svelte guy) 🤯 intheweights.com/p/paoloricci...

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.comGitHub - fuzdev/tsv: formatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rustformatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rust - fuzdev/tsv

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.comGitHub - fuzdev/svelte-docinfo: static analysis for TypeScript and Sveltestatic analysis for TypeScript and Svelte. Contribute to fuzdev/svelte-docinfo development by creating an account on GitHub.

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.

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.comGitHub - fuzdev/tsv: formatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rustformatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rust - fuzdev/tsv
View full thread

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.

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.comGitHub - fuzdev/tsv: formatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rustformatter, parser, and future linter + more for TypeScript, Svelte, and CSS, written in Rust - fuzdev/tsv

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

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. !!

View full thread

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. !!