But we're very far from a browser here, so that's not that impressive. Writing a basic renderer is really not that hard, and matches the effort and low LoC from that experiment. This is similar to countless graphical toolkits that have been written since the 70s.
I know Servo has a "no AI contribution" policy, but I still would be more impressed by a Servo fork that gets missing APIs implemented by an AI, with WPT tests passing etc. It's a lot less marketable I guess. Go add something like WebTransport for instance, it's a recent API so the spec should be properly written and there's a good test suite.
The fact that it compiles is better the the cursor dude. "It Compiles" is a very low bar to working software.
I actually wrote a whole app that used XSLT back 25 years ago, even backed by an XML database! Super hip (tech stack wasn't my choice).
XSLT is bad tech and you shouldn't use it. The modern equivalent is React+JSON which implements many of the same ideas in a much better way. And I say that as someone who isn't a big React fan but who has used both. It's not a coincidence that this example is for a 1999-era static blog; it's about the limit of what you can do with this tech.
The core idea of XSLT is to provide a functional transform from an app-specific model to a view, where both are expressed in XML. It does that by asking you to supply templates that match patterns in the original data structure. This idea has some deep flaws:
1. The syntax and generic data model used to express your app's own model has to be XML, but XML is descended from a line of technologies intended to express views. XML-based languages are a competent enough way to express a view which is why React invented JSX, but they are less natural for expressing data structures. Modern apps use JSON for expressing data structures which is also far from ideal but it's still an improvement over XML.
2. Transforms from data to view can be arbitrarily complex. React uses a regular imperative programming language with some additional rules to make it "functional-ish", XSLT gives you XPath and what is basically an XML syntax for something a bit like Haskell. Expressing complex transforms is very awkward in this language. Something as simple as a for loop over a list - very easy in JS - requires you to think in pure functional terms in XSLT.
3. Modularity? Debugging? Nope. It's Web Tech, what do you expect? If you make a syntax error you might get a parse error if you're lucky, if you make a logic error you get to sit down with a pen and paper to work out what might be going wrong. Because it's a functional transform rather than a programming language there isn't even really printf style logging. And IIRC there's no such thing as XSLT libraries.
4. There is no solution for interactivity. Mutating the model might yield retransformation depending on implementation (I don't know for modern browsers, I think I mostly tested on IE6 back in the day). If it does, it'll be a retransform of the entire document that blows away any changes to the DOM. But if you want actual app-level state in UI components that efficiently re-render, then you're just out of luck, you have to mutate the generated HTML DOM directly as if XSLT didn't exist at all.
5. There is no functioning protocol for controlling server-side rendering or not (in practice most XSLT based apps give up on browser rendering pretty quickly). Soooooo the original motivation of exposing the app's data structures directly allowing machine-readable access to data, does not actually apply in practice, because there's no systematic way to ask the server to give you the raw XML. Sure a tiny number of servers might actually serve you something different if you use an Accept header with text/xml up front, but even when XSLT was hip apps that did that in the wild were unicorn poop. People claimed they saw one once, but I never actually tracked down a real server that did it.
This blog demo could have been implemented using Preact and the results would be better. The view logic would be much easier to read and write. The underlying data would be a JSON file, or perhaps a combination of JSON and Markdown, i.e. syntaxes designed for the convenient expression of data and marked up text. The browser would still take care of rendering, and the server could easily do the render work up front to make things snappy by avoiding extra roundtrips. The advantage would be that debugging, modularity and retransformation for interactivity all work well.
My thoughts:
1) It's fragile. As xml is so dynamic small changes in the data can mean your transform doesn't work or worse that it does run but doesn't transform to the correct thing anymore
2) Hard to actually make xslt work. Like there are no decent debugging tools the best you'll get is a site you can plug in data and it will auto run the transformation. The devex here is really really poor which is why I'm baffled anyone would build this. As you say it's a transform language so you can't really step through it you just have to run it and see
3) Very hard to test properly. The amount of times something small would change in the data and then the transforms wouldn't work was awful. The "unit testing" we done was produce a bunch of XML and then run the transforms and check the XML. Like I couldn't actually test parts of the transform as I was going
4) Most importantly was maintenance. XSLT seemed to be a write only language as in hardly anyone as able to pickup someone elses transform and figure it out.
The people who liked it normally only used it for toy applications.
Total culture shock for me, as in Europe the default for children is rectal ingestion (which is probably a culture shock as well for Americans). Any how, with pills it is much easier to avoid overdose.
Never met a non autistic child who would spit or drool out calpol. I'd take the stuff myself as an adult it tastes brilliant.
> Total culture shock for me, as in Europe the default for children is rectal ingestion (which is probably a culture shock as well for Americans)
Huh are you talking about new born babies or something? I've been to a few different EU countries and you can buy liquid stuff for kids in the chemists. (Spain, france, germany, italy) source me as a child getting the stuff when I was sick abroad and the local doc sold my parents basically some off brand calpol.
So if you're going to off yourself you'd have to stock pile or roam around shops picking up.
There is a not insignificant number of suicides where people just say fck it I'll just kill myself but they don't want to go out to any real bother to do it i.e. they don't pre-plan it it's just spur of the moment. A bottle of kill yo self pills is pretty easy. Cupboard, swallow, drink down some water, die. But having to go out and buy a bunch over a few days or like drive around in your car just buying as many as you can. Like you'd have to look it up to check you're going to buy enough.
Back when that law came in when they didn't reduce the total amount you could buy at one time so if you went in and bought like 10 packs at the supermarket then the person at the till would be like ok this person's going to kill themselves so again that would require a bit of balls from the would be kill yo selfer.
I think you can buy a bottle of like 100 x 500mg for like $20 in the USA. That's like over 2 weeks swigging at the max amount. Like you don't need that many, 3-4 days is enough shouldn't be taking that much of the stuff.
Perhaps in some of the "trendy" "bro-culture" startups you'd have a more difficult time as an older developer but even in those places, the level of experience and skills older devs bring can be extremely valuable.
But say you were laid off in your 40's, now what? Well, there are so many bigger, less volatile companies out there with solid pay that are desperate for senior people with experience. There's also consulting for those who have spent a career building up a network of contacts. You can still leverage those old contacts for future opportunities as well.
Governmental work and such is also a place where age is not a concern. Here I agree you might not make as much money but employment is always available to developers who are skilled, experienced and flexible.
Not throwing any shade just don't want to be suggesting stuff you've already tried.
And then apparently the same dish, every day... definitely a very scientific approach.
Many people have lived very long over the years without resorting to that many pills.