• 6 Posts
  • 230 Comments
Joined 5 years ago
cake
Cake day: May 31st, 2020

help-circle


  • We have a concept of word inflection, which can be used to replace a lot of words that English would use to denote something being a question, ownership markers, causes and effects etc.

    I don’t speak Finnish, but I believe a good example for such an inflection is how in English you can glue an -s to words to make them plural. In some other languages, you say “many word” instead, because they don’t have such an inflection.














  • Yeah, leaving moral reservations aside, it’s especially annoying to me, because it’s being pushed with complete disregard whether it actually helps me.

    I’ve been working in a programming language for the past two years, in which I’m well-trained. Better than the statistical average that LLMs blurt out, at the very least. So, I’ll often end up correcting whatever it generates, rather than just typing out the same directly. In particular, I also find it much easier to think while typing, rather than while reviewing code, so I need pauses to think anyways. And I also just find it disrupts my concentration when the autocompletion-style LLMs keep flickering their suggestions at me.

    Similarly, flavor images. So much of management is fucking excited about generative AI, because they can type shit like “wombat hanging off of a line of code” and then it slops out an image, which they can slap into their presentation and pretend it has meaning.
    I don’t like those images. The AI-generated ones look terrible to me, but I did not either like them before they were AI-generated. It’s just pointless imagery, why are you showing me this?
    Obviously, management can disagree with my stance, many people do, but if they want me to present shit, they need to respect that my presentation style just does not include flavor images, no matter what flavor image generator we pay for.


  • It is, yeah, but you can also use it to host a static webpage: https://codeberg.page/
    Personally, I use it together with mdBook, so I write my texts in Markdown and then get a webpage with search and such. There’s lots of “static site generators” out there which do something similar.

    It’s a little tech-y for what you’re hoping to do, but you could make use of the code tooling for collaboration. People could open issues, if they just want to make a suggestion, or they could create a pull request with a concrete change.




  • Well, part of the problem is that web apps themselves are kind of alien on the web. The web is generally document-based. Web apps take the document format and try to turn it into something it’s not.
    There’s a way to not do the JavaScript, but it doesn’t fix things being document-based and it can be argued that it makes other things worse in some respects.

    I’m talking about WebAssembly. Basically, you can write your web app in HTML+CSS+Rust and then the Rust part is compiled to WebAssembly, which then takes the role that JavaScript would normally take. It does not have to be Rust, lots of languages can be compiled to WebAssembly, but Rust has the most mature ecosystem for that, as far as I’m aware.

    In principle, it is also possible to use WebAssembly to render directly to a pixel buffer, but that’s really rather heavyweight and not terribly responsive, so not generally done, unless you implement a game¹ or similar.
    Alright, so back to the document mangling approach. There’s various frameworks available for Rust. I’ve used Leptos so far. There’s also Dioxus and Yew and probably others.

    Advantages:

    • Don’t have to write JS.
    • Can write Rust. Rust has some concepts that mesh really well with frontend dev, like the Result and Option types for error handling, which you can pass directly to your rendering stack and it can show either the data or the error (or nothing).
    • Can use the same language in backend and frontend and therefore also get compile-time checks that the two work together.

    Disadvantages:

    • The ecosystem is young. You will find barely a fraction of the component libraries as you can find for JS.
    • Rust also has concepts which don’t mesh well with frontend dev, like the whole memory management concept. Those frameworks bypass that or make use of it in clever ways, but things can be a bit peculiar or overly complex at times.
    • WebAssembly is sent to the browser in one big blob, because it’s a compiled program. This means you get somewhat of a loading time when first loading the web app. There’s ways to mitigate that with “hydration” strategies, but yeah, still a thing.
    • While JS is often minimized/uglified and therefore not readable anyways, WebAssembly makes that even more of a reality, because it is essentially assembly code that’s sent to the browser. It does still call the same APIs under the hood as JS does, so content blocking shouldn’t be affected, but yeah, can’t try to understand the code itself. This can also make debugging during development somewhat more painful.
    • Well, and it’s also yet another web standard that browsers have to support. It doesn’t make browsers simpler in the sense that suckless would like.

    I’ve listed a lot of disadvantages, so just to point out that, yes, to me, the advantages are absolutely worth it. But I can totally understand, if others see that differently.

    ¹) See, for example, Bevy and this UI example in particular.