Time Nick Message 14:31 sfan5 >try to do simple thing 14:31 sfan5 >it's only available in c++20 14:31 sfan5 pain 14:33 [MTMatrix] time to update 15:06 celeron55 it's funny how every C++ version implements features that people then consider essential. that means C++ was broken until then, and every time it rolls on 15:07 nrz C++ is a turtle. When you see at the speed rust,go and java rollout version features, they must change something. 15:08 nrz the most important feature to make C++ really revive in terms of dev community is having proper packaging/modules support, like any language has natively now 15:11 celeron55 i often say about rust that rust could have been C++ with a built in packaging system and it would have been already halfway there. the borrow/lifetime system is almost just icing on the cake 15:41 nrz yeah the lifetime is comprehensible and strenght in the language but also nightmare sometimes 😄 15:43 celeron55 it makes proof of concepts more work to make. the code really only compiles once it's almost finished. you spend more time writing code before getting to iterate on it 15:44 celeron55 but the benefit is, maintenance is much easier, you have almost zero risk breaking things in weird ways 15:45 celeron55 you can try to reach it with very strict C++ coding, but C++ will never actually prevent you. it's always up to a code review in the end 15:46 celeron55 and with C++ you have to absolutely comb through the code in that review 15:47 celeron55 with rust you're mostly looking for unsafe{} blocks and if there are none, you're pretty much memory safe and can just check the high level logic is sound 15:48 celeron55 again, this has no relevance at the beginning of a project, but a very high relevance once the project is being maintained 16:02 nrz in rust you need code review, because memory safe doesn't mean your feature is properly designed/not bugued 16:03 celeron55 still less work to review though 16:04 celeron55 anyway, it almost doesn't make sense to think about it in isolation. the packaging system and the open source community is a big part of it 16:04 celeron55 the language is designed to support both of them 16:10 MTDiscord If you want to convert this game to rust I'm on board 16:14 celeron55 it would also entail switching to different libraries 16:14 celeron55 it would be an absolutely silly amount of work 16:14 [MTMatrix] and maybe rust+lua to be harder 16:14 celeron55 of course, looking 10 years into the future, C++ might not be as "popular" as it has been for the past 10 years 16:14 MTDiscord Nah rust+lua is pretty easy 16:15 celeron55 but also, looking 10 years into the future, nothing has to be started today 16:16 MTDiscord If you just, so happen to, possibly, even accidentally perhaps, to make a minetest-rust repo on github, I might accidentally commit a few PRs into it. By coincidence of course 16:17 celeron55 if C++ gets an official build system and package ecosystem, it might stay relevant decades into the future. it could even increase in popularity 16:18 celeron55 by starting a rust project right now, one will tap into a ridiculous hours of free developer time as many C++ developers are looking to learn rust, and they need to do projects to learn it 16:18 celeron55 that's a resource that shouldn't be underestimated 16:19 celeron55 also other than C++ programmers, i think there are some C#, java, go and whatever else also, and those are even bigger communities to take from 16:20 celeron55 the learnconomics (yes, i just invented a word) of rust are good 16:22 MTDiscord From my excitement throwing myself into the c++ 20 standard: No compiler even supports modules correctly and I tried for ~2 days, so the build system/package ecosystem might not be coming anytime this decade 16:23 nrz C++ commitee is old conservatives which doesn't understand anything to the developer market then.... 16:23 celeron55 modules aren't ingrained into the C++ community in such a way that they would make people excited to implement them 16:24 celeron55 people don't think on that level 16:24 MTDiscord Oh people are VERY excited for modules. Basically completely evaporates headers! 16:24 celeron55 people think of header, source and object files, like 50 years ago 16:25 MTDiscord Building back up from the ground, next to the old house, you can see where you shouldn't have hardcoded/implemented certain things, and fix bugs where they are kind of "the brick supporting the wall" 16:26 celeron55 C++20 was published in 2020, which is 3 years ago. it worries me if compilers still don't implement the standard correctly. are you sure you're using recent compiler versions? 16:27 MTDiscord I was using literally the latest version I could get my hands on 16:27 celeron55 it might of course take 3 years for the compilers to implement the standard properly, and then 3 years for those compiler versions to end up in linux distros 16:27 celeron55 so, 6 years in total then 16:28 celeron55 rust differs from C++ in that the compiler essentially is the standard. if it doesn't have something, it's not in rust, and if it does, it is 16:28 celeron55 it's quite different 16:30 MTDiscord https://robert.kra.hn/posts/2022-09-09-speeding-up-incremental-rust-compilation-with-dylibs/ 16:31 MTDiscord There are a few tricks to make the builds after the first one incremental, it's fun 16:32 MTDiscord Then there is a different linker https://github.com/rui314/mold not sure about this one but it has looked interesting 16:33 sfan5 I follow the creator of this linker on twitter, he posts a lot of cat pictures 17:01 MTDiscord Minetest 2.0, what a surreal thought 17:20 sfan5 quick reminder that #13929 is really simple and needs a review 17:20 ShadowBot https://github.com/minetest/minetest/issues/13929 -- Remove use_texture_alpha compatibility code for nodeboxes & meshes by sfan5 17:51 nrz sfan5: approved 18:57 [MTMatrix] how many symbols i can sent via formspec field? 18:57 [MTMatrix] how many symbols i can send via formspec field? 18:57 Krock at least 64k 18:57 [MTMatrix] thanks 18:58 Krock more accurately: better ask "how many bytes". Unicode characters may take 4 bytes. 18:58 Krock > fields[fieldname] = pkt->readLongString(); 18:59 Krock AFAIK that's a 32-bit unsigned number for the string length, so you should be fiiiiine 19:00 Krock but try to keep all fields below 640 KiB or the server will refuse them: https://github.com/minetest/minetest/blob/master/src/network/serverpackethandler.cpp#L1364-L1365 19:00 sfan5 in other words: if you have to ask this question then you are doing it wrong 19:00 Krock right. that too. 19:03 [MTMatrix] It just text sequence of param2 separated by dot :D Just ask it for check how many possible transmit data :D 19:03 [MTMatrix] But I know about hard limit of array in lua 64k elements is max 19:07 [MTMatrix] so... Good. This limit acceptable, because prevent spam without some checks in lua code