ryansolid

Joined 7 years ago

Karma
534
Submissions
182
Member since
Feb 4
JavaScript performance enthusiast and fine-grained reactivity super fan. Works on Marko at eBay. Author of the SolidJS. .
View on Hacker News

Recent submissions

Comment · 2 months ago
No release announcement has the time to explain how things work. I actually think in hindsight what Rich did by including a video in the Runes announcement worked well. I will have a livestream tomorrow.
Comment · 2 months ago
Comment · 2 months ago
Like a cold. Sometimes people call an illness a condition. A condition that can happen to you.

We have frameworks essentially living in a completely synchronous world--like a 2D plane--and they can't tell that there is another dimension out there except for when something inserts itself into its view out of nowhere. The protocol that we arrive at to deal with async is convoluted, because it is a state that is basically inflicted on the framework. That's what we sought to remedy.

Comment · 2 months ago
I did write the post. This is better.
Comment · 2 months ago
I'm not sure you would, but I actually did this exercise a bit on stream after my last article. To try to show people what I was talking about. I actually ahve a really good example of this on some unreleased stuff that I can't talk about because its too future facing. After I write the final article I will share the other 2 versions.
Comment · 2 months ago
It's when you go top to bottom reworking parts of an article. Often later changes can impact earlier prose, so often I end up doing editing in several passes. That being said AI decided that term. It's actually more accurate to the actual process than what I originally wrote.
Comment · 2 months ago
Because it's important. You don't want to read my raw writing. Try to read my HackMD and you see what you'd get. It's always taken me a lot of work to release my medium and dev.to articles. Grammarly working hard, and multiple human editors. It scales with how many people I think will read it. A release announcement is important. It needs to be clear and it needs to convey the most information in a very short span. You don't have the privledge to meander in this sort of thing. And meandering is exactly what I'd do if left on my own.
Comment · 2 months ago
Yeah and I always found that really unfortunate. The truth is the JS Framework Benchmark hasn't really moved more that fractions of a percentage since we first hit the mark 7 years ago. Sure many frameworks have been on their way to catch up or have matched us since, especially in the last 2 years when they started adopting our architecture. But nothing is moving the dial. We might not be the fastest on there today but I view now as a line to hold, not as a place where any measurable gains can be made.

We can throw up a JS Framework Benchmark.. I obviously tested it a bunch locally, but mostly as a regression test. I also used Octane's new benchmark suite. Same sort of conclusions though. Everyone basically doing the same thing, some with compilers and some with more manual wiring (I haven't gone in and made PRs to update those to add that to Solid implementations in theirs), to the point this isn't a contention point. It was when everyone was as slow as React. But now everyone is more or less as fast as Solid.

Bundle size there is a regression though. Its natural cost of this feature. Async everywhere, means async doesn't tree shake. Hello World went from 4.7kb to 9.8kb simply because we can't tree shake it. I'm ok with that given what we deliver. Not everyone will be I'm sure. Svelte has also grown in size similarly over the same time. Basically leaving only minimalist solutions in that ~5kb range.. ie Preact + Signals etc..

But it also isn't really an announcement headline. So it is where we are at. I guess the takeaway. Still fast, still incredibly small considering what it does.

Comment · 2 months ago
The challenge with this is we released too much at once. I really had a hard time with this announcement because I couldn't fit a full tour in less than a 6 article series. So how do I summarize?

I picked up on the async headlines and the infrastructure pieces. We talked a lot more about the new reactivity in the beta release. The plan from here as indicated in the article is a series of followups explaining parts of Solid 2.0 in more detail.

The key takeaways are: 1. We've solved declarative async, race conditions/complexity are reduced by the structure of your code.

2. We've collapsed the metaframework layer. Every Solid project out of the box is as capable as a metaframework based on the features you want to use. You can just start a simple client app and go from there.

The result is we are setting the stage that both Humans and AI can do things a single way and fall into the "Pit of Success" by the shape of the solution and the guarantees of the model.

Comment · 2 months ago
I like my wording for `miss` better but I like the AI ending much better. This was just in a small two sentence response. I find over the course of an article the impact is much greater.
Comment · 2 months ago
To be fair the writing has been on the wall for years for those paying attention. I never believed in Metaframeworks and it was this sort of awkward truth we had to deal with because the technology wasn't where it needed to be.

SolidStart 2.0 has a very important role of moving current projects into the future. Better tooling was key and it was that rewrite work that allowed me to hoist relevant parts into the core. Now every Solid project benefits from no FOUC in dev, preloading tag emission during SSR streaming etc...

I think this is inevitable collapse with AI. We want to look for our tools in a single place. It doesn't have to differentiate between React and Next when React is the one actually providing the features.

Aside, what sort of blog post content are you looking for?

Comment · 2 months ago
Before:

Anyone who has spoken to me knows I talk in run-on sentences. I never complete a thought without interrupting myself. And I write the way I talk. I used to heavily edit that out of my writing, but now AI uses the proper punctuation and fills in where I miss words. It's like what I hear in my head but better. Because it is grammatically sound.

After:

Anyone who's spoken to me knows I talk in run-on sentences. I never complete a thought without interrupting myself. And I write the way I talk. I used to spend whole editing passes beating that out of my drafts. Now AI handles the punctuation and fills in the words I skip. It's what I hear in my head, but grammatically sound.

The result is almost always terser, more clear, and to the point. And usually all it takes is one more pass over to adjust anything I wouldn't say. In this case I kept the after verbatim just to illustrate my point.

Comment · 2 months ago
It was human written, fed to AI, human adjusted, re-fed, and around again — for days, with dozens of reviewers in between. (GPT 5.6 Sol doing the AI half of the lifting, for what it's worth.) So "nobody even looked at it" is the one criticism I can rule out. Everybody looked at it.

But you aren't wrong. The marketting heavy parts are where the tone shows. And honestly those are the parts I write worst. Exactly why I lean on AI there. When I ran before/after comparisons past reviewers, the polished versions kept winning. Maybe that's the norm creeping into how all of us write now. I notice it in my own sentences too. The words I choose. But given the choice between slightly synthetic and authentically clumsy, I tested both and shipped the one that read better.

Comment · 1 year ago
Yeah it is an interesting one. There is definitely a slowdown due to the amount of wrapping that happens. These sort of libraries tend to put component in component in component etc.. so there is a lot of prop iteration, Object.keys calls in Object.keys calls etc which when used with proxies can add up a bit. The tricky part is no one actually knows how slow these libraries are in say React. My suspicion they are slow there as well but maybe not as stark of a difference because of how fast Solid to begin with comparatively.

People who use Solid tend to measure stuff like this where as those who use React might have already reconciled themselves to performance issues.

Comment · 1 year ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton