• 0 Posts
  • 17 Comments
Joined 5Y ago
cake
Cake day: May 31, 2020

help-circle
rss

Yeah, Bethesda loves to ruin their game worlds with weirdly repetitive additions. Morrowind constantly spawns assassins on you, Oblivion does the Oblivion gates, Skyrim has the dragons. In the latter two, I think, it’s best to just not start the main quest, which prevents the Oblivion gates and dragons from appearing, at least if you replay the game.


I’ve found that when you cook with lots of fresh veggies, you can mostly just dump them in and it tastes good. Again, you do want a bit of salt, but as everyone else said, you can hand out a salt shaker.


Yeah, I doubt WebAssembly when executed in a browser will become multi-threaded anytime soon, since JavaScript is single-threaded just as well. If you need multiple threads, you need to use web workers. Haven’t done anything with those yet, but I’d assume them to be usable from WebAssembly as well, since the whole JavaScript API seems to be accessible.

Well, and in Rust, I’m pretty sure the runtime that’s typically used for async stuff (tokio) will produce a compile error, if you try to enable the ā€œmulti-threadā€ feature flag on the WebAssembly target.
But yeah, might be more of a problem with other languages.


LibreOffice has a way to switch to a sidebar UI. I always preferred that, because of what you describe…


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.


Damn, seems you’re right. For folks reading along: That’s not how that word usually works in German, but I guess, it is how it works in German legalese…


Yeah, Wikipedia tells me the longest word that was actually in use is Grundstücks­verkehrs­genehmigungs­zuständigkeitsübertragungs­verordnung. It was a decree from 2003 until 2007.

Basically:

  • ā€œGrundstückā€ is a plot of land.
  • ā€œVerkehrā€ is traffic ā€œtradeā€ in this context.
  • ā€œGenehmigungā€ is approval.
  • ā€œZustƤndigkeitā€ is responsibility.
  • ā€œĆœbertragungā€ is transfer.
  • ā€œVerordnungā€ is decree.

So, it decreed that the responsibility of approving traffic on trade of private plots of land should be transferred (to a different government body).



!principia@sopuli.xyz was developed as a commercial title a few years back. I believe, @ROllerozxa@sopuli.xyz contacted the devs to get it open-sourced.


Company-internal service where the users would write their desired configuration into an Excel file. Then they push that into a Git repo, which triggers a deployment of the service with the configuration read from all the Excel files.


They’re not saying to create Linux-exclusive games. Just games that run on Linux without WINE/Proton.


Yeah, and you can just subscribe to the astronomy communities that are on other instances.


we would like to officially announce that this will be the [last] version labeled Alpha. We have already updated the versioning scheme (this version being 0.27.0) and we will progressively stop using the Alpha label altogether up to the next release, which will be Release 28.

Excellent. Whenever I told people about 0 A.D., I felt like I should add that it’s not actually an Alpha, especially with their webpage saying in various places basically ā€œno, don’t look at us yet, we’re not ready yetā€.

If they continue adding content, I do think that’s awesome, but what’s there is already plenty solid.


Yeah, math conventions and programming conventions don’t always align. As in, basically never…


As a computer scientist, same, but it’s called PI.

It’s the computer that does the thing with the digits, not me. šŸ™ƒ


Thanks, bot. I did just wonder what linking to it with that syntax would do. :)


Oh hi, have you considered joining the best Lemmy community, !dcss@lemmy.ml? šŸ™ƒ

If you’re into zombies and post-apocalyptic survival, CDDA always looks like a blast to play: https://cataclysmdda.org