Time |
Nick |
Message |
00:06 |
|
Guest75 joined #minetest |
00:13 |
|
Can0xfBows_ joined #minetest |
00:41 |
|
Guest75 joined #minetest |
00:47 |
|
Guest75 joined #minetest |
01:26 |
|
dabbill joined #minetest |
02:00 |
|
Verticen joined #minetest |
04:00 |
|
MTDiscord joined #minetest |
06:15 |
|
sparky4 joined #minetest |
06:22 |
|
gregon joined #minetest |
06:29 |
|
sparky4_ joined #minetest |
06:38 |
|
lemonzest joined #minetest |
07:01 |
|
YuGiOhJCJ joined #minetest |
08:47 |
|
mrkubax10 joined #minetest |
09:17 |
|
gregon joined #minetest |
09:41 |
|
jaca122 joined #minetest |
10:13 |
|
silverwolf73828 joined #minetest |
10:45 |
|
Guest75 joined #minetest |
10:55 |
|
ireallyhateirc joined #minetest |
11:03 |
|
Guest75 joined #minetest |
11:09 |
|
boingman joined #minetest |
12:57 |
|
jaca122 joined #minetest |
13:22 |
|
Desour joined #minetest |
13:48 |
|
jaca123 joined #minetest |
13:57 |
|
gregon joined #minetest |
14:20 |
|
Desour joined #minetest |
14:24 |
|
Guest75 joined #minetest |
15:49 |
|
gregon joined #minetest |
16:05 |
|
cheek_pain joined #minetest |
16:13 |
|
mdhughes joined #minetest |
16:33 |
MinetestBot |
[git] wsor4035 -> minetest/minetest: Reword CMake message for LuaJIT detection df8afe3 https://github.com/minetest/minetest/commit/df8afe3dc418534111c0f2d7f0c67bf1caf6cda9 (2024-08-26T16:32:42Z) |
16:33 |
MinetestBot |
[git] Desour -> minetest/minetest: Meshgen: Don't get lights for not drawn solid faces da1fc9a https://github.com/minetest/minetest/commit/da1fc9a5366b9ceace6d829783a9a56545616158 (2024-08-26T16:32:51Z) |
16:33 |
MinetestBot |
[git] SmallJoker -> minetest/minetest: zstd: Fix minetest.decompress lockup when data ends too early 5583831 https://github.com/minetest/minetest/commit/5583831c40d51e5f63540ccfcda71b678564c21b (2024-08-26T16:32:59Z) |
16:41 |
[MatrxMT] |
<Blockhead256> forum reporting still broken, here's a spam user (signature) https://forum.minetest.net/memberlist.php?mode=viewprofile&u=51563 |
16:42 |
[MatrxMT] |
<Blockhead256> MisterE: Thank you for fixing the bridge by the way, quite convenient this way |
16:43 |
ROllerozxa |
forum signature spammers are dime a dozen on the forums if you look through the memberlist |
16:44 |
|
Talkless joined #minetest |
16:44 |
[MatrxMT] |
<Blockhead256> this one made an actual post, I figured it was better to report the user. And I wouldn't keep posting it here if the report feature just worked again |
16:45 |
ROllerozxa |
ah, yeah I saw that once the forums decided to load |
16:51 |
rubenwardy |
I'd like to thank the forums for giving me nostalgia of using the internet in 2012 |
16:51 |
rubenwardy |
with crappy kbps rural internet |
17:13 |
MTDiscord |
<sfence> I am falling to problem like this with minetest 5.9.0 installed from arch packages: https://pastebin.com/jYbU7UZe When I am try to place or dig easel from painting 3 mod. Looks like a Arch packages problem probably. Is somebody witch arch linux able to reproduce? |
17:13 |
|
SFENCE joined #minetest |
17:18 |
MTDiscord |
<warr1024> SFENCE: somebody in some mod you have is redefining vector.zero. |
17:19 |
MTDiscord |
<warr1024> It's a mod problem, not a minetest problem. |
17:20 |
ROllerozxa |
yeah I can't reproduce, grep for any enabled mods that interfere with vector.zero |
17:20 |
MTDiscord |
<warr1024> The fact that it's happening to the painting mod is also likely a red herring; any mod could be modifying vector and causing the issue. Search the code of all your mods for "vector.zero" and see where it's being redefined, then go hunt down the author of that mod and yell at them. |
17:36 |
|
thelounge6564 joined #minetest |
17:37 |
|
jaca122 joined #minetest |
17:38 |
|
fbievan joined #minetest |
17:42 |
|
soylent_cow joined #minetest |
17:44 |
sfan5 |
you could also set a metatable on vector to catch it |
17:46 |
|
SFENCE joined #minetest |
17:55 |
|
SFENCE joined #minetest |
18:02 |
MTDiscord |
<warr1024> ...said the guy who's in a position to set a metatable on vector in builtin so that we catch ALL such future misbehavior and emit appropriate warnings 🤔 |
18:03 |
MTDiscord |
<sfence> Hmmm.... interesting... looks to be isolated to a specific world. |
18:04 |
MTDiscord |
<warr1024> Could be a worldmods thing, but it could also just be that vector.zero only gets overwritten on a specific code path that only that world exercies. |
18:05 |
sfan5 |
I polyfill some vector functions in my own code so that'd obviously be a bad idea |
18:05 |
MTDiscord |
<sfence> When I create new world with identical mods, it looks to be working well. |
18:05 |
MTDiscord |
<warr1024> Polyfills wouldn't likely be affected in this case, since you're talking about stuff that didn't exist but now does. It's also not that hard to bypass the warnings on an "I'm sure I know what I'm doing" basis. |
18:06 |
|
Glaedr joined #minetest |
18:06 |
MTDiscord |
<luatic> Warr1024: no we kind of don't want to do that |
18:06 |
MTDiscord |
<luatic> to set a metatable that catches overwriting a field we'd have to move that field to the metatable, which we don't want |
18:06 |
MTDiscord |
<warr1024> I also do a fair amount of polyfilling. In fact, I replace register_abm with a version with several wrappers. |
18:06 |
sfan5 |
replacing a function with a table is indeed nonsense |
18:06 |
MTDiscord |
<sfence> mod vector_extras overwrite vector.zero method. |
18:06 |
MTDiscord |
<sfence> But I have no idea why is it problem only sometimes. |
18:06 |
sfan5 |
however that table could be callable |
18:06 |
[MatrxMT] |
<Blockhead256> deprecation warnings is one thing, emitting warnings pre-emptively for possible bad behaviour is kind of heavy handed |
18:07 |
[MatrxMT] |
<Blockhead256> it sounds like a job for a linter more than at runtime |
18:07 |
MTDiscord |
<warr1024> Emitting warnings for possible bad behavior is a thing we already do with globals. But yes, the overwrite case is different from the add case, in terms of performance, and that may actually matter for low-level stuff like vectors. |
18:07 |
MTDiscord |
<warr1024> I'd really like to see MT offer more "strict" options, they help a ton. |
18:08 |
sfan5 |
anyway I was thinking some mod (or the engine) could provide an optional "strict mode" where many arguments/values/behaviors are checked more strictly than they could be |
18:08 |
sfan5 |
another good example is registering recipes which source unknown items |
18:08 |
MTDiscord |
<warr1024> As for linters ... they can catch a lot, but there are things they can't, and I don't think I've ever seen a linter for MT yet. Only for Lua so far, so you can only catch problems that are general to Lua overall, not specific to MT. |
18:08 |
MTDiscord |
<luatic> Blockhead256: update your luacheck https://github.com/lunarmodules/luacheck/pull/108/files ;) |
18:08 |
MTDiscord |
<warr1024> Lars has a "strictest" mod ... I wonder how up to date it is... |
18:09 |
MTDiscord |
<warr1024> There were IIRC some things like invalid formspec elements or invalid texture modifiers that MT was loose about and required runtime scanning to catch. |
18:10 |
MTDiscord |
<warr1024> Caught a few instances of me using ^[combine instead of [combine as a texture |
18:11 |
MTDiscord |
<warr1024> The fact that for some texture modifers ^[ is a de facto operator (like resize or opacity), and for others (like combine) they work like a separate ^ and [ operator feels weird. |
18:11 |
MTDiscord |
<luatic> wtf why is technic using vector_extras |
18:12 |
MTDiscord |
<luatic> this is bad |
18:12 |
MTDiscord |
<warr1024> The MT (and probably other) ecosystem paradox: the most mature and popular shit is also the stuff that has the oldest, nastiest code. |
18:12 |
MTDiscord |
<luatic> can't even rip it out in a controlled manner since with all the metatable stuff it's basically impossible to find all usages |
18:13 |
sfan5 |
https://github.com/HybridDog/vector_extras/commit/ed6b514057b7f8b8ed30c4b6e7a003d630361740 lol |
18:15 |
MTDiscord |
<warr1024> is there anything that it adds NOW that's still not already built in? |
18:15 |
|
CRISPR joined #minetest |
18:16 |
MTDiscord |
<warr1024> This feels like a leftpad problem: somebody made a library that does something super trivial that you COULD just copy and paste everywhere, but now that it's been reused everywhere, problematic unexpected consequences are carried along everywhere too |
18:16 |
MTDiscord |
<luatic> it seems that commit didn't make its way to contentdb? |
18:16 |
MTDiscord |
<luatic> Warr1024: in typical hybriddog fashion, that library definitely does more than super trivial things, though people are probably only using the trivial parts x) |
18:17 |
MTDiscord |
<warr1024> Making vector.zero a function instead of a constant already feels kind of weird; it feels like it was only done that way because Lua doesn't provide a better mechanism to prevent a static value from being poisoned. |
18:18 |
MTDiscord |
<sfence> Yes, it is not a problem with vector_extras from content db, only with vector_extras from git master. |
18:18 |
MTDiscord |
<luatic> SFENCE: huh, i would've expected the other way around |
18:19 |
MTDiscord |
<luatic> Warr1024: agreed, freezing tables is a sorely missed lua feature |
18:20 |
ireallyhateirc |
you could implement it using metatables (creating a proxy table) but it's probably not worth it when you can simply call the function and get the value |
18:21 |
ireallyhateirc |
lua 5.4 has const but when/if that gets to LuaJIT is another question |
18:21 |
MTDiscord |
<sfence> There is twoline function at least in vector_extras which is not in builtins. |
18:25 |
MTDiscord |
<luatic> ireallyhateirc: <const> doesn't help here, it's a local variable attribute, inapplicable to table fields |
18:25 |
sfan5 |
lua 5.4 features will never make their way to luajit |
18:25 |
|
sparky4 joined #minetest |
18:25 |
sfan5 |
*if* it ever happens then it will be a luajit fork/branch created because lua 6.0 or whatever just gained popularity |
18:25 |
MTDiscord |
<luatic> this needs the equivalent of Object.freeze in JS, basically a bit that indicates whether a table is frozen and if so, refuses any k-v-assignments |
18:27 |
ireallyhateirc |
idk why someone made a language without such basic features (that's otherwise fine and well-ish made) |
18:27 |
ireallyhateirc |
it even missed goto (which is helpful for escaping nested loops) |
18:28 |
MTDiscord |
<luatic> well to their credit they did add goto in 5.2 |
18:33 |
Krock |
and "continue" in 5.4? |
18:37 |
|
sparky4 joined #minetest |
18:45 |
MTDiscord |
<luatic> Krock: to my knowledge "continue" has not been added yet |
18:45 |
ROllerozxa |
it's part of the planned roadmap for luajit v3.0 |
18:48 |
MTDiscord |
<luatic> ominous |
18:51 |
[MatrxMT] |
<Blockhead256> I've written probably half a dozen Lua comments to the effect of "-- argh no continue in this language" |
18:55 |
Krock |
I often end up offloading code to "repeat ... until 1" + break, or separate functions. there's always a way but not necessarily a convenient one |
18:57 |
MTDiscord |
<warr1024> IIRC Lua's official position on the "continue" thing at the time was "if you just wrap the rest of the loop body in an if statement, it emits the same bytecode that a continue would have if there were a continue statement" ... it's just arguable about whether the extra nesting indentation makes the code more or less clear. |
19:00 |
ireallyhateirc |
you can somehow workaround the lack of goto, continue and all that stuff by doing tail recursion too |
19:00 |
MTDiscord |
<luatic> yeah |
19:01 |
MTDiscord |
<warr1024> Lack of goto feels more like a feature than a bug to me. I think the only situations where I didn't feel like using goto was wrong, I was already doing arcane pointer math. |
19:02 |
MTDiscord |
<warr1024> In languages that support both goto, and more proper flow control structure, goto is pretty much strictly inferior. It's pretty much just for when you're either programming in assembly, or want to pretend you are. |
19:02 |
ireallyhateirc |
the only good goto use case is exiting nested loops quickly, but you can do it with tail recursion so I guess it's fine until you cause a funny stack overflow |
19:03 |
MTDiscord |
<warr1024> You mean like when you want to break out of multiple loops? Yeah, if you had a break keyword, it could support an integer arg like break(2) to handle that case ... but for now, you can just throw the loops into a separate function and then use a return instead. |
19:04 |
MTDiscord |
<warr1024> I think the only times in MT that I'm doing nested loops and want an early exit are cases where I'd rather have the nested loops as an abstraction anyway. When I'm doing nested loops for vmanips, I rarely want an early exit. |
19:05 |
MTDiscord |
<luatic> ireallyhateirc: how would you cause a funny stack overflow when lua has TCO |
19:05 |
MTDiscord |
<warr1024> Early exit only saves you on average half the iterating work anyway, and unreliably so, depending on where the thing you're searching for is found (you rely on the central limit theorem heavily to get consistent expected performance) so 🤷 |
19:05 |
MTDiscord |
<warr1024> It's actually easy to accidentally fail to meet the requirements of TCO |
19:05 |
MTDiscord |
<warr1024> Actually, there are cases where I'm not even sure. |
19:06 |
MTDiscord |
<luatic> it's relatively simple to not fail to meet the requirements |
19:06 |
ireallyhateirc |
I think I did it once with minetest.after + improper tail recursion |
19:06 |
MTDiscord |
<warr1024> like if condition then return tailcall() else return end I'm pretty sure is TCO'd, but return condition and tailcall() I'm a lot less certain of. |
19:06 |
MTDiscord |
<luatic> return (expr)(...) -> TCO |
19:06 |
MTDiscord |
<warr1024> It's not a question of whether or not it's simple to not fail, it's a question of whether it's easy to fail. |
19:06 |
MTDiscord |
<warr1024> No warning is generated when you think you did it right but didn't. |
19:07 |
MTDiscord |
<warr1024> Lua could really use a tcreturn statement or something that disallows non-tail calls or something to ensure it. |
19:07 |
ireallyhateirc |
Basically I had if statements starting another instance of the function with minetest.after recursively, but I forgot to add a return statement after minetest.after |
19:07 |
MTDiscord |
<warr1024> (I think maybe a linter could even solve that statically) |
19:08 |
MTDiscord |
<warr1024> oh, yeah, forgetting the return entirely is a bigger problem 😄 |
19:08 |
MTDiscord |
<warr1024> Ironically I find myself using returns like that in JS, even though I don't think any JS implementation even attempts TCO, and without TCO returning the value should be slightly slower. |
19:24 |
MinetestBot |
[git] appgurueu -> minetest/minetest: Make getting bone overrides return the "same" euler angles (#15007) 21ed680 https://github.com/minetest/minetest/commit/21ed680b10aef84f58222a427aebffab48efa171 (2024-08-26T19:22:38Z) |
19:24 |
MinetestBot |
[git] SmallJoker -> minetest/minetest: LocalPlayer: Restore 2u height sneak jump (#15015) 8109563 https://github.com/minetest/minetest/commit/8109563a02cbe4c6c3bff224d808e1061f3e4386 (2024-08-26T19:23:12Z) |
19:33 |
|
CRISPR joined #minetest |
19:41 |
|
kamdard joined #minetest |
19:48 |
|
SFENCE joined #minetest |
20:01 |
|
SFENCE joined #minetest |
20:18 |
|
SFENCE joined #minetest |
20:33 |
|
CRISPR joined #minetest |
20:37 |
|
SFENCE joined #minetest |
21:00 |
|
Ingar joined #minetest |
21:32 |
|
SFENCE joined #minetest |
21:50 |
|
SFENCE joined #minetest |
21:56 |
|
cheek_pain joined #minetest |
21:57 |
cheek_pain |
Sneaky spammer -> https://forum.minetest.net/viewtopic.php?p=438752#p438752 |
22:00 |
MTDiscord |
<luatic> why would someone do this.. |
22:03 |
|
SFENCE joined #minetest |
22:31 |
|
TheSilentLink_ joined #minetest |
22:33 |
|
panwolfram joined #minetest |
22:40 |
|
SFENCE joined #minetest |
23:01 |
|
SFENCE joined #minetest |
23:05 |
|
Eragon joined #minetest |
23:19 |
|
SFENCE joined #minetest |
23:38 |
|
SFENCE joined #minetest |
23:56 |
|
SFENCE joined #minetest |