Minetest logo

IRC log for #minetest, 2023-12-12

| Channels | #minetest index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:02 sparky4 joined #minetest
00:44 khimaros_ joined #minetest
01:25 smk joined #minetest
02:25 skeletronix2 joined #minetest
03:18 YuGiOhJCJ joined #minetest
03:22 sid0 joined #minetest
04:14 sys4 joined #minetest
04:16 calculon joined #minetest
05:00 MTDiscord joined #minetest
05:04 sometalgoo joined #minetest
05:09 dabbill_ joined #minetest
05:32 sometalgoo joined #minetest
05:49 est31 joined #minetest
05:59 sys4 joined #minetest
05:59 YuGiOhJCJ joined #minetest
06:12 diceLibrarian2 joined #minetest
06:26 rdrg109 joined #minetest
07:18 TomTom joined #minetest
07:30 xer69 joined #minetest
07:31 xer69 Is OSX 10.14.6 still supported? I tried downloading 5.8.0 but it crashes when I try to open it, something about 'libjsoncpp.25.dylib'
07:36 vampi joined #minetest
07:38 calcul0n_ joined #minetest
07:40 meldrian joined #minetest
07:40 meldrian joined #minetest
08:29 mrkubax10 joined #minetest
09:28 Leopold joined #minetest
09:50 qqq joined #minetest
10:20 appguru joined #minetest
11:05 sfan5 not sure, we don't have anyone to test the builds before release
11:08 s20 joined #minetest
11:58 s20 joined #minetest
13:06 appguru joined #minetest
13:13 definitelya joined #minetest
14:22 gxt joined #minetest
14:25 sys4 joined #minetest
14:30 Niklp joined #minetest
15:32 s20 joined #minetest
16:36 mrkubax10 joined #minetest
16:36 mrkubax10 joined #minetest
16:49 jaca122 joined #minetest
18:15 Talkless joined #minetest
18:27 CRISPR joined #minetest
18:39 sparky4 joined #minetest
18:47 MTDiscord <jordan4ibanez> We should have minetest/minetest-rust as a blank rust project to see who bites it as a test
18:47 ROllerozxa https://github.com/minetest-rust
18:47 MTDiscord <jordan4ibanez> No not that one, I mean, an official one
18:48 MTDiscord <jordan4ibanez> Also that one is ded
18:51 celeron55 i'm not saying it's a good idea, but if it existed it would have to have at least some written goals, and a roadmap would be a nice bonus. the reason for this is that such a thing would be bound to have other changes in it than just being a plain port from C++ to Rust
18:53 mrkubax10 you can say that that project is little... *rusty* (because it wasn't updated for long time)
18:53 celeron55 (i'm of course open to reading a proposal which contains a list of goals, and seeing the reactions from people to such a thing wouldn't hurt)
18:54 MTDiscord <jordan4ibanez> "A complete redesign of minetest from the ground up with focus on memory safety, performant execution, and modularity" goals 0.0-prototype: 1.) A basic solid infrastructure to build upon 2.) Solid libraries to build upon. 3.) NO unsafe
18:55 MTDiscord <jordan4ibanez> We start very basic because this project is still words on an irc & discord
18:55 CRISPR joined #minetest
18:56 MTDiscord <luatic> I don't really think we have any experienced Rust devs willing to commit to such an "official" project yet.
18:56 celeron55 what about the lua api? does minetest to you mean "lua api compatible"? what about network? what about disk? should it have the same settings? it needs to be defined quite thoroughly what stays the same and what differsa
18:56 celeron55 -a
18:57 linus joined #minetest
18:57 doseijin joined #minetest
18:58 MTDiscord <jordan4ibanez> Well I'm not even a C++ dev but because of the GLTF PR now I am apparently
18:58 celeron55 using rust all the way throughout it would give some benefits in sandboxing server-sent code. i don't think there's a rust lua port though, and luajit is another story, you can't jit safely (safely as rust considers it)
18:59 MTDiscord <jordan4ibanez> Yes there is a safe luajit library actually, I built crafter in rust with it
18:59 MTDiscord <jordan4ibanez> Let me go find it
18:59 MTDiscord <paradust> luajit itself is hardly safe
19:00 MTDiscord <paradust> lua to wasm transpiler would be nice
19:00 mrkubax10 WASM is becoming some sort of universal virtual machine
19:00 MTDiscord <jordan4ibanez> https://crates.io/crates/mlua/
19:01 MTDiscord <paradust> there's a strong need for a universal vm with native performance and sandboxing
19:02 MTDiscord <paradust> wasm is the closest thing we got
19:03 mrkubax10 native performance is debatable because it's still VM but overall true
19:03 MTDiscord <jordan4ibanez> Now I'm going to show you this, but keep in mind this was hardcoded specifically for my needs and can be made more dynamic than this https://github.com/jordan4ibanez/Crafter-Rust/blob/master/src/lua/lua_intake_api.rs#L68
19:04 MTDiscord <jordan4ibanez> You can also peak/grab/mod the luajit vm as it's running as needed
19:11 appguru joined #minetest
19:12 MTDiscord <jordan4ibanez> Now also also, keep in mind that we actually don't have to use lua because there are quite a few script languages available
19:13 MTDiscord <jordan4ibanez> We can even go as far as to dynamically link/load compiled rust mods
19:18 ___nick___ joined #minetest
19:20 Thelie joined #minetest
19:25 ___nick___ joined #minetest
19:27 MTDiscord <jordan4ibanez> - what about the lua api? does minetest to you mean "lua api compatible"? minetest means a game dev environment with a scripting language and blocks https://github.com/rust-unofficial/awesome-rust#scripting https://github.com/swc-project/swc swc is stuck on nightly atm  - what about network? There are quite a few networking libraries https://github.com/rust-unofficial/awesome-rust#network-programming  - what about disk?  On the
19:27 MTDiscord awesome rust page we have Logging libs, and A LOT of database libraries to choose from - should it have the same settings?  I honestly don't think so. I think that these settings will evolve over the lifetime (heh heh) of the development, with a focus on not hardcoding crucial elements this would become a phoenix out of the ashes
19:29 ___nick___ joined #minetest
19:29 jonadab "Experienced rust devs" don't really exist yet.  Rust is too new to have experienced developers.
19:30 jonadab It barely has any _proficient_ developers yet.  Although it does seem to be gaining.
19:31 MTDiscord <luatic> jonadab: That depends on your definition of "experienced". Rust has been around for more than a decade now.
19:32 jonadab Ok, yes, but for the first several years it was too new to have any substantial number of developers at all.  It's only been in the last five or six years that significant numbers of developers have started to use it.
19:33 jonadab Its uptake curve has been more than linear though.
19:33 jonadab So that is changing over time.
19:34 jonadab Note that the central core of people who _created_ the language, don't really count; they're too busy to do most other projects.
19:40 sofar joined #minetest
19:43 TheSilentLink joined #minetest
19:46 MTDiscord <jordan4ibanez> I wish that other core devs would break the seriousness and either just completely poop on rust or express their approval so we can grapple with how the core dev team feels about rust
19:50 v-rob joined #minetest
19:56 muurkha jonadab: Rust had thousands of developers five years ago, and its core developers certainly do count
19:57 muurkha wasm can't really support JIT
19:57 muurkha in its current form
20:06 rubenwardy Rust is cool but there's no chance of Minetest switching to rust at this stage. It would be a huge amount of effort
20:07 Desour joined #minetest
20:12 muurkha you can probably generalize that to just about any existing piece of software
20:12 muurkha as https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ says:
20:13 muurkha "They [waited three years between releases] by making the single worst strategic mistake that any software company can make: / Tey decided to rewrite the code from scratch."
20:13 muurkha *They
20:15 MTDiscord <jordan4ibanez> Yeah I think it's much harder at the moment. Memory safety is an ultra-extreme majority of the current issues. That's probably why there are currently 3,529 unmerged closed commits
20:15 muurkha oh, the potential benefit of Rust isn't that you spend less time fixing segfaults, mostly
20:16 muurkha it's that you can more easily get scalability across an 8-core or 16-core or 64-core CPU
20:16 MTDiscord <jordan4ibanez> That's a majority of our current problem, touch a brick and the wall not only collapses, it turns out it was made out of nitroglycerin and just explodes
20:18 MTDiscord <warr1024> Rewrites are actually perfectly fine as long as you don't rewrite the actual code 😏
20:19 MTDiscord <warr1024> I've done quite a few "rewrites" where you start the project over from scratch and then about 5% of the way in, you reach that point where you've fixed the real problems and you can just copy in all the rest of the old code into its new places and it works fine.
20:20 MTDiscord <warr1024> You could get away with it if the languages are directly analogous, so rewriting MT in Rust would be pretty hard, but in C++ it'd be fine.
20:23 jonadab I'm not sure I see the _point_ of rewriting in C++.
20:23 jonadab But yes, the correct way to rewrite a codebase is to refactor it a piece at a time.
20:24 MTDiscord <jordan4ibanez> It's only hard because you must simply break it down into stages, a big picture outlook is not a good idea. The current state is like someone that broke their leg and we just used 5 rolls of duct tape so they can walk to the nearest hospital
20:24 jonadab A "piece" can be a function, or it can be a data structure that many functions use, or it can be some other interaction .
20:25 jonadab C is admittedly a harder language to work in than a lot of more modern ones.
20:29 amfl2 joined #minetest
20:33 MTDiscord <jordan4ibanez> muurkha I think my favorite part of that article which is also probably around the same time that irrlicht was first created is: netscape was also written in C++
20:45 muurkha jonadab: dunno.  it does take more effort to get stuff working in C than in JS or Python or whatever
20:45 muurkha but that doesn't seem to pay off in an overwhelming project-scale advantage
20:45 muurkha if we're talking about Golang I think the case is a little clearer
20:46 muurkha my guess is that because C is less flexible it is easier to modify because it's easier to tell what the effects of your modification will be
21:26 imi joined #minetest
21:39 jonadab My biggest annoyances with C are 1) it's a pain to learn and 2) your code has no choice but to micromanage stuff like data structures and memory allocation.
21:40 jonadab 1) is less important, because there are a lot of people who already know the language.  It's mostly caused by the standard library functions being named things like xnstrncmpli(), which makes it gratuitously hard to figure out what function you need to research to accomplish a thing.
21:42 muurkha it's a small, simple language that is pretty easy to learn, but #2 seems to just be saying that it's a low-level language, which is true
21:42 ShadowBot https://github.com/minetest/minetest/issues/2 -- Burned wood
21:43 muurkha xnstrncmpli is not a standard library function; all the standard library functions (at least until recent versions) are unique in the first 6 characters
21:44 muurkha because until I think C99 that was all that was guaranteed to be significant, due to limitations of old mainframe linkers
21:45 jonadab I did not know that about C standard library function names.
21:45 jonadab That explains why they're so cryptic.
21:45 muurkha yes.  also its designers didn't know how to touch-type
21:46 muurkha what makes it gratuitously hard to figure out what function you need is the lack of standard data structures.  but that's mostly a problem when you're first picking up an unfamiliar library
21:46 jonadab I suppose somebody somewhere has made  a list of which functions to use for each thing you might want to accomplish, written in plain English; but I have never found it.  I think most programmers learn by looking at existing code, which is problematic because C has some old highly-deprecated standard library functions that should not be used.
21:47 muurkha if I type `man -k compare` I get output reading in part
21:47 muurkha strcasecmp (3)       - compare two strings ignoring case
21:47 muurkha strcmp (3)           - compare two strings
21:47 muurkha strcoll (3)          - compare two strings using the current locale
21:47 muurkha strncasecmp (3)      - compare two strings ignoring case
21:47 muurkha strncmp (3)          - compare two strings
21:47 muurkha strverscmp (3)       - compare two version strings
21:47 muurkha was kicked by ShadowBot: Message flood detected. Use a pastebin like paste.ubuntu.com.
21:47 jonadab And yes, pretty much all data structures in C are "this is an array of integers, but if you play your cards right you can get the compiler to pretend it's something else."
21:47 MTDiscord <jordan4ibanez> char* word = "hi there";
21:47 muurkha joined #minetest
21:47 muurkha oops!
21:48 muurkha anyway you get the idea
21:48 MTDiscord <jordan4ibanez> C is the wild west, you can have your entire program logic encoded into a char* then have a compiler run it as interpreted
21:48 MTDiscord <jordan4ibanez> Did I just describe lua?
21:49 muurkha anyway most of this stuff is about writing new code, not modifying old code
21:49 jonadab lua has its *own* problems.
21:49 MTDiscord <jordan4ibanez> Lua is making them YOUR problem now >:D
21:50 muurkha I don't want to oversell C's maintainability but it doesn't seem to be as bad as you might think from the napalm exploding wall problem
21:50 muurkha jordan4ibanez: you can do that in any programming language?
21:50 jonadab YOu can write bad code in any language, yes.
21:51 muurkha I mean that's pretty much the definition of Turing-completeness
21:51 MTDiscord <jordan4ibanez> Of course not, but when you have a million C strings like we do and all of a sudden there's a random non \0 terminated string you will never find out why
21:51 MTDiscord <jordan4ibanez> joadab: Who told you about my bad coding policy?
21:51 muurkha I take issue with this apparent idea that making your logic data-driven necessarily makes it worse
21:52 muurkha very often putting your program logic into data structures makes the program better
21:52 MTDiscord <jordan4ibanez> No, I'm not talking about logic driven data, I'm talking about working with raw pointers like we're cavemen on an old ibm mainframe
21:52 jonadab And yes, a proper string data type is one of the things I miss in C.  Although associative arrays (like e.g. Perl's hashes) are the *big* ticket data structure IMO.
21:52 muurkha you might be interested in reading https://nullprogram.com/blog/2023/09/30/
21:53 muurkha writing a hash table in C is not such a huge magilla
21:53 muurkha it's the kind of thing you can do as a coding exercise during a job interview
21:53 MTDiscord <jordan4ibanez> Your code is only smart and clever until it's not, memory safety as optional can lead to things like this https://youtu.be/I86d0QhaW0s?feature=shared in which I really which I had a unique pointer but it's lua
21:54 jonadab Of course you *can* write it in C.  Perl is written in C.  It's Turing complete, you can write anything in it.  That's missing the point.
21:54 jonadab C doesn't have baked-in syntax and compile-time safety checks for such data structures.
21:54 jonadab Well, it sort of has baked-in syntax for strings, but.
21:54 muurkha yeah, just, bad strings.
21:54 jonadab Yes.
21:55 jonadab Strings that, if they might change in length, your code has to manually handle memory allocation for that, and also keep track of how much space is currently allocated, and ...
21:56 MTDiscord <jordan4ibanez> {   char* hello = "hello, world"; } Memory leak
21:56 muurkha that's not a memory leak
21:56 jonadab It's possible to design a language that allows the programmer to do low-level things, without *forcing* the programmer to *constantly* micromanage a ton of low-level things when it isn't necessary.
21:56 muurkha jonadab: sure, but in some contexts that's not a big problem.  in the contexts where it is you can use stralloc oor
21:56 MTDiscord <jordan4ibanez> where is my pointer freed? This is not a unique pointer, and if you're counting the program closing as a free that's a problem
21:57 muurkha *stralloc or APR
21:57 muurkha jordan4ibanez: that pointer points to statically allocated, read-only memory
21:57 jonadab Doesn't the compiler use the same memory address for the constant string every time that function runs?
21:57 muurkha yes
21:57 muurkha so it doesn't need to be freed
21:58 jonadab Memory leaks can be a thing in C, but they require more tom-foolery than that.
21:58 MTDiscord <jordan4ibanez> Well okay fine fine {   char* str = new char[5]; } semantics, semantics
21:58 muurkha it's probably unsurprising that the people who are least enthusiastic about C are the ones who have fundamental misconceptions about it :)
21:58 muurkha jordan4ibanez: that's not even C
21:59 MTDiscord <jordan4ibanez> C, C++, C is just procedural C++ at this point
21:59 muurkha nope, they're totally different languages
21:59 e1z0 joined #minetest
21:59 MTDiscord <jordan4ibanez> It's like C++ if you wanted to have a good cry after having vscode open
21:59 jonadab For varying values of "totally"
21:59 muurkha C++ lacks most of C's good points
22:00 jonadab C and C++ are *distinct* languages, but they have quite a lot in common.
22:00 Desour C is to C++ like lying on the floor is to driving a one-wheel bike
22:00 muurkha ...which doesn't prevent C++ from being the only viable language choice in some environments, but I digress
22:00 muurkha hahaha
22:00 Desour (bad comparison)
22:01 celeron55 C is a cross-platform macroassembler
22:01 celeron55 C++ is a high level language
22:01 celeron55 8)
22:01 jonadab C++ inherits a lot of C's weaknesses, and adds some issues of its own.  Also, its way of being object-oriented is fundamentally terrible.
22:01 muurkha C++ is a cross-platform macroassembler that thinks it's a high level language
22:01 MTDiscord <jordan4ibanez> So you're saying we should use Rust?
22:02 muurkha Rust is pretty nice
22:02 Desour jordan4ibanez: so I guess this is why you get issues with [png leaks x) https://www.youtube.com/watch?v=H80vlVfVZHQ
22:02 celeron55 well, C++ mostly supports C, so it just adds stuff really. it's the programmer's choice how much of the C stuff and the added stuff they use
22:02 muurkha but it certainly isn't a small, simple language like C
22:02 celeron55 as a result, C++ isn't really even a single language. what kind of language it is depends on how you use it
22:02 muurkha celeron55: you're talking about writing new code, but maintenance is the real key
22:02 jonadab Do we have enough Rust programmers, and a reasonable path to phase it in a bit at a time so the rewrite doesn't have to happen all at once from one release to the next?
22:02 MTDiscord <jordan4ibanez> Yes hahaha, it's crazy. 32 GB of ram and I watch it all go away slowly
22:03 jonadab I have nothing especially against Rust, but I don't know how practicable moving to it would be at the moment.
22:03 jonadab For reasons that don't involve flaws in the language iteself.
22:04 v-rob joined #minetest
22:04 muurkha celeron55: when you're maintaining someone else's code you don't get to choose which of C++'s numerous footguns they loaded
22:04 Desour Rust is too easy. it removes the fun and stockholm syndrome
22:04 muurkha I wouldn't describe Rust as "easy"
22:04 MTDiscord <jordan4ibanez> I think it's the equivalent to trying to race a citroen 2cv (c++ maintain) against a buggati eb 110 (rust dev)
22:05 jonadab If we wanted easy, we'd write everything in Perl.  Ahem.
22:05 muurkha rather, it frontloads the pain
22:05 celeron55 i've been trying to learn some rust, but i have very little time for that, an MT rewrite is out of scope for me. but if some crazy people are doing such a rewrite and for some reason ask me for opinions about the design, i'm not a total dummy in that subject
22:05 Desour (but on a serious note, rewriting in rust would take up too many development resources, resources that we need elsewhere)
22:05 celeron55 muurkha: of course as a maintainer you're not the one who chooses the language
22:05 jonadab (The performance might even be ok, as long as everyone agrees to install ten times as much RAM.)
22:05 muurkha celeron55: true!
22:05 MTDiscord <jordan4ibanez> Well if the project suddenly appears in the minetest github group thing I'll shift into 10th gear real quick
22:06 muurkha celeron55: but you get to choose which projects too work oon
22:06 muurkha Desour: once your Rust code compiles it is a lot more likely to work than Lua or C code
22:06 celeron55 muurkha: well, depends
22:06 MTDiscord <jordan4ibanez> In rust we have 128 bits so the world can be 32 bit in all directions
22:06 jonadab Yes, but you can only maintain code that has been written.
22:06 muurkha but getting to that point can be immense pain
22:07 MTDiscord <jordan4ibanez> Or maybe that's 128 -> 64 bit, I forgot how we cache positions
22:07 muurkha jordan4ibanez: you can use 128-bit data types in C too
22:07 MTDiscord <jordan4ibanez> I C what you mean but good luck converting minetest to that
22:07 MTDiscord <jordan4ibanez> framework, infrastructure, buzzwords,
22:08 celeron55 if you use excessively large data types for everything, you end up using lots of memory. low memory usage doesn't come for free
22:08 jonadab Speaking of bit size, when are MT coords going to be 64-bit?
22:08 * jonadab hides.
22:08 muurkha Desour: I don't think there's anybody choosing what "development resources" to assign to things in Minetest
22:08 Desour 128 bit integers aren't as fast on my cpu as 64 integers, fyi jordan4ibanez.
22:09 MTDiscord <jordan4ibanez> So that would be 128 bits 32 bytes taking up 2 ram cells next to eachother hmm, that's pretty smart
22:09 celeron55 also if you use big data types, you end up filling the cpu cache early and cause cache misses, and those make everything super slow. again one reason to use as small data types as possible
22:10 MTDiscord <jordan4ibanez> So what if we have a hardcoded type so people can make the game as big or smol as desired? This is a horrible idea but it is an idea
22:10 celeron55 once you get a cache miss, it doesn't matter how fast a cpu you have
22:10 muurkha Desour: like, if erle is writing a camera mod, and you tell him "don't write a camera mod, fixing mobs_redo is more important", you might discourage him from writing the camera mod but you probably won't get him to work on fixing mobs_redo
22:10 Desour muurkha: what I meant is that doing the transformation would take months or years. and if we do it partly, development becomes really hard in that period. we'd also have to fix bugs and whatnot that we introduce. instead of all that we could also work on practical features
22:11 MTDiscord <jordan4ibanez> mt32 (not roland) mt64 mt128 maybe, but probably not, we can probably just go with 64 bit cap and raise it up, but also not hardcode it, we can instead use usize so it's automated
22:11 muurkha it might be possible to rewrite parts of Irrlicht or MT in Rust without making development really hard
22:11 MTDiscord <jordan4ibanez> Absolutely not
22:12 MTDiscord <jordan4ibanez> The entirety of irrlicht is an unsafe block
22:12 celeron55 there's not a single written and signed agreement within the entire official MT development or maintenance people. everyone can literally do whatever they want. it's just that if someone wants to use official technical resources (like the organization repos on github, or the domain), it's going to take either convincing me or doing a majority vote within core devs. that's all there is
22:12 muurkha I mean you'd need a Rust compiler installed to build
22:12 muurkha but otherwise I think the impact is probably pretty small.  the benefit, too, though :)
22:13 MTDiscord <jordan4ibanez> Okay fine
22:13 MTDiscord <jordan4ibanez> I want to be the first core dev on the rust branch
22:13 MTDiscord <jordan4ibanez> "branch" is a subjective word. "campsite" is probably better at this point
22:15 celeron55 the rust version is probably best started as a personal repo by someone, and if it goes well, then it can be moved and made official. surviving in the wild outside of the official organization is a fairly good test in terms of whether people dedicated to the particular cause are easy enough to come by
22:15 muurkha yes
22:15 MTDiscord <jordan4ibanez> Time to get started then
22:16 YuGiOhJCJ joined #minetest
22:17 celeron55 and, it's also about being able to assign roles based on merit
22:19 celeron55 when assigning a role to someone just based on them wanting the role, it generally doesn't work out. but when you assign a role based on what they actually did, that works much better - then you match a role with someone capable of fulfilling that role, and it even works as public recognition of what they've achieved
22:19 v-rob It seems halfway funny to me that people think that Rust is some sort of silver bullet that will fix every problem that C++ has
22:20 v-rob I'm no expert, but Rust looks just as bloated and over-feature-filled as C++.  At least it has memory safety though.
22:21 celeron55 it's almost as different as it can be, while still fulfilling essentially the same role
22:22 celeron55 maybe like minetest vs. minecraft (ok maybe i'm stretching it)
22:22 MTDiscord <jordan4ibanez> No no that sounds about right
22:23 v-rob Oh, they're absolutely different.  I'm just not convinced if "different" means "overwhelmingly better" in this case
22:24 v-rob In safety, yes.  In overall usability and maintainability of code written in the language?  *shrug*
22:26 v-rob Of course, I may be somewhat biased as someone who likes C++ for entirely inexplicable reasons.
22:27 v-rob One thing's for sure: if anyone tried to undertake rewriting Minetest in Rust, they'd have to make sure that there are stable and mature Rust libraries to replace the C++ ones we use
22:29 Desour_ joined #minetest
22:29 sparky4 joined #minetest
22:30 muurkha v-rob: Rust is pretty bloated, yeah, but much less error-prone
22:32 muurkha I feel like it's better at higher-order programming, but recent C++ has improved a lot there, and Rust's lifetime inference makes HOP harder in Rust than in things like ML (even MLKit, which also uses lifetime inference)
22:33 muurkha in a lot of cases you don't need to replace C++ libraries with Rust libraries; you can just call the C++ libraries from Rust.  not, say, most of Boost, but things like Irrlicht
22:46 celeron55 minetest wouldn't really benefit from rust's package ecosystem as a larger project like this can relatively easily manage dependencies and build systems on its own
22:47 celeron55 for smaller projects and new projects it makes a difference though
22:54 muurkha maybe.  Rust without Cargo is a substantially poorer language
22:58 celeron55 rust would go absolutely nowhere if it didn't have cargo
22:58 celeron55 and crates.io
22:58 celeron55 those set it apart just as much as the actual language features do
22:59 celeron55 frankly it's easy to compete with C++ in build systems and packaging, but it is what it is
23:03 muurkha error, tautology detected
23:03 muurkha Gricean violation
23:06 celeron55 not sure what you mean but i'm going to sleep now
23:07 rubenwardy <celeron55> minetest wouldn't really benefit from rust's package ecosystem as a larger project like this can relatively easily manage dependencies and build systems on its own
23:07 rubenwardy yet we use vcpkg and system package managers
23:07 rubenwardy we probably wouldn't NIH so much if C++ came with a functional package system
23:08 celeron55 it sounds easy until you realize you kind of don't want to produce statically linked binaries for linux distros
23:08 celeron55 and android will probably still require android studio
23:08 celeron55 and so on
23:08 celeron55 it would help, but some of this is quite the perma-disaster
23:08 rubenwardy android studio would hypothetically support this C++ package manager
23:08 rubenwardy it supports cmake
23:09 YuGiOhJCJ joined #minetest
23:09 celeron55 i'm hoping C++ eventually gets there
23:09 rubenwardy as for Linux, perhaps there would be integration with linux distros. So it would use dyamic binaries. But imo dynamic libraries are a source of a lot of pain on Linux, user applications like minetest might as well bundle most of them
23:09 celeron55 but it might be too late already by then
23:10 celeron55 does anyone have opinion about c++20 modules? if they were perfectly implemented by all compilers and platforms, would it help, or are we looking to see what the next C++ version contains?
23:11 rubenwardy is there an automated way to switch to them?
23:11 muurkha celeron55: it was sort of a joke
23:11 rubenwardy are modules interoperable with headers?
23:11 muurkha sleep well
23:12 rubenwardy sleep well though
23:12 muurkha it's not too far from the truth to consider Debian's apt and dpkg as a usable package system for C libraries
23:12 Desour_ I haven't used modules yet, but we definitely want them for build speed
23:12 rubenwardy I tried to use C++20 modules in like 2021, compiler support wasn't there yet. Gave up on C++ (mostly) for personal stuff soon afterwards
23:13 muurkha what are you using instead, rubenwardy?
23:13 rubenwardy Godot, with GDScript but will probably use C# for larger projects
23:13 rubenwardy I still use C++ for embedded
23:14 Desour_ using a different game engine... traitor! get the pitchforks!
23:14 muurkha Godot is pretty nice from what I've seen
23:14 rubenwardy I occasionally want to make non-blocky games
23:15 rubenwardy shocking
23:15 muurkha my wife used it in a game jam with her boyfriend and his girlfriend a couple years back
23:15 muurkha they were one of the few teams to ship a playable game
23:15 rubenwardy ah cool
23:15 rubenwardy I wrote about it here: https://blog.rubenwardy.com/2023/07/14/make-games-not-game-engines/
23:16 muurkha I like making engines, don't hold it against me
23:16 rubenwardy that's fine, that's fun too!
23:19 muurkha haha, "not as much of a problem with Godot, as it has zero bugs"
23:23 rubenwardy Anyone remember that really old bug that spawned hands everywhere? It think it was something to do with static data being lost. Can't find the issue / screenshots right now
23:25 sfan5 I can vaguely recall that
23:25 Desour_ oh, you mean the feature where tnt teared off your hand?
23:27 MTDiscord <rollerozxa> rubenwardy: like, registering the hand item as a node and then have it get splattered on every biome without a dust node?
23:27 rubenwardy I think it was something to do with dropped items. Loads of hands just appeared in the world
23:31 Mantar this justs in: minetest supports hands-free gaming
23:32 panwolfram joined #minetest

| Channels | #minetest index | Today | | Google Search | Plaintext