Minetest logo

IRC log for #minetest-hub, 2019-09-16

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

All times shown according to UTC.

Time Nick Message
06:24 CWz joined #minetest-hub
07:48 twoelk joined #minetest-hub
08:36 ShadowNinja joined #minetest-hub
08:47 jas_ while we're on the subject - #8935 - i'd love to see additional _mods_ shipped with minetest, too.  this shows new players some examples of what's available, what minetest is capable of.
08:47 ShadowBot https://github.com/minetest/minetest/issues/8935 -- Bundle Pixture Revival game with next release
09:32 jas_ on the other hand - "why bundle mods, why not rely on contentdb?" - why ship with any game at all?
10:26 calcul0n joined #minetest-hub
10:31 Fixer joined #minetest-hub
10:50 DS-minetest joined #minetest-hub
11:57 Fixer Still no text on signs but hacks in 2019
12:01 tomraceror joined #minetest-hub
12:40 HDMI_STECKDOSE joined #minetest-hub
14:44 Fixer_ joined #minetest-hub
14:48 NathanS21 joined #minetest-hub
15:05 Fixer joined #minetest-hub
15:06 HDMI_STECKDOSE joined #minetest-hub
15:31 * rubenwardy clones pipeworks
15:36 rubenwardy VanessaE commits the cardinal sin - hiding if statements on one line
15:44 HDMI_STECKDOSE joined #minetest-hub
15:52 CWz joined #minetest-hub
16:11 rubenwardy VanessaE: https://gitlab.com/VanessaE/pipeworks/merge_requests/12
16:11 rubenwardy !title
16:11 MinetestBot rubenwardy: WIP: Add support for recipes with groups to autocrafter (!12) · Merge Requests · Vanessa Dannenberg / pipeworks · GitLab
16:14 rubenwardy that took me 45 minutes
16:20 NathanS21 joined #minetest-hub
16:31 Krock joined #minetest-hub
17:10 * VanessaE looks
17:11 VanessaE rubenwardy:  don't like `if foo then blah end` one-liners eh? :)
17:11 rubenwardy well, I uncollapsed them to make it more readable to me
17:11 VanessaE I saw
17:11 rubenwardy I can put them back on a single line when I'm done with the PR
17:11 VanessaE no it's good
17:12 VanessaE I've tended to avoid them these days unless they're super short
17:12 VanessaE I don't get hung up on code style :)
17:12 VanessaE (hell, I'm the last person to look to for code style advice :P )
17:14 Calinou waiting for Lua formatter™
17:14 rubenwardy StandardLua
17:14 VanessaE MinetestLua :P
17:14 Calinou I've only found one active Lua formatter project, and it's written in TypeScript
17:14 VanessaE gotta have our 4-space hard tabs after all :)
17:14 rubenwardy not an actual standard, just confusingly named to confuse newbs into thinking it's the standard code style
17:26 sofar I tend to avoid 1-liners
17:26 sofar but I sure wish lua had ++ operators :)
17:30 rubenwardy same
17:30 rubenwardy although, -- are used for comments
17:31 rubenwardy but += would be nice at least
17:48 calcul0n yep,specially for python users who constantly forget that it's not in lua :p
17:50 VanessaE I do find myself wanting += or -= often, now that you mention it.
17:52 sfan5 I wish lua loops had continue
17:53 rubenwardy I wish lua had the null access operator
17:53 rubenwardy a?.b?.c instead of   a and a.b and a.b.c
17:58 VanessaE RBA asked for a MT helper function for that
17:58 rubenwardy that would be slow
17:58 rubenwardy it needs to be a language feature
18:00 VanessaE so add a preprocessor of some kind
18:00 VanessaE in the lua code, write a?.b?.c and let the preprocessor translate it into a and a.b and a.b.c before passing it to lua[jit]
18:00 VanessaE surely that could work for things like += also
18:03 rubenwardy the benefit of a?.b?.c is also caching
18:03 rubenwardy say a was actually    thing["asas"]
18:03 rubenwardy or a function call
18:03 rubenwardy and because you can't have locals in if statements, you'd need to do clever preprocessing to add locals before
18:10 VanessaE oh I dunno... other languages' preprocessors seem to do okay
18:10 VanessaE only prob of course, in MT's case, is that with enough such added features, it wouldn't be Lua anymore
18:18 sfan5 moonscript is a thing btw
18:18 sfan5 haven't ever looked at or used it though, just came to mind
21:08 twoelk left #minetest-hub
22:15 Cas127 joined #minetest-hub
22:48 fluxflux joined #minetest-hub
22:49 VanessaE sfan5: I'm sorry, you have GOT to do something about the performance of copies where the destination overlaps the source.
22:49 VanessaE this is unusably slow.
22:49 sfan5 copy? or move?
22:49 VanessaE both.
22:50 VanessaE if source and destination regions overlap, //copy and //move should just save to a temp file and reload at the destination
22:51 sfan5 thats a last resort workaround, yes
22:52 VanessaE the slowness of //move forced me to restart the server I was working on, which in turn destroyed the area I was moving.
22:52 VanessaE and that was a Z+ move, which I waited for half an hour before rebooting
22:55 VanessaE (and now I'm trying to use //copy to repair the damage to a road grid around the area)
22:58 rdococ "a?" - you mean "(a or {})"? :P
22:59 VanessaE doing //save and //load manually is error-prone, as I'm sure you're aware (particularly figuring out where the destination needs to be)
22:59 sfan5 save and load should also not be any faster
22:59 sfan5 since they don't use vmanips either
22:59 VanessaE they are WAY faster.
22:59 rubenwardy rdococ:  the  ?.   means access if and only if it is non-nill, overwise it returns nil
22:59 VanessaE as in seconds, compared to tens of minutes.
22:59 rubenwardy so  a?.b is exactly equal to  a and a.b
23:00 rdococ rubenwardy: or (a or {}).b
23:00 VanessaE sfan5: and I'm not even using MT schematics, just plain old //save and //load.
23:01 rubenwardy rdococ: functionally the same, but not actually the same
23:01 sfan5 //load uses add_node, only sets meta when there is some and doesn't remove existing nodes obviously
23:02 sfan5 //move uses set_node, always gets+sets meta, and calls remove_node
23:02 sfan5 it's a few more operations but it's not obvious to me what kills the performance here
23:02 VanessaE sfan5: I'm serious.  I got more done in 5 minutes using //save, //set air, //allocate and //load than trying to just //move the region
23:02 VanessaE (which as I said, went for half an hour before I had to kill it)
23:03 sfan5 I know that it's slow
23:03 VanessaE nono I'm just trying to say that //save and //load aren't slow.
23:03 rdococ rubenwardy: functionally the same and actually the same are functionally the same
23:04 * rdococ feels like he said a dumb thing
23:04 rubenwardy ha
23:05 rdococ business as usual
23:06 sfan5 ok so set_node and add_node are equivalent, remove_node is just a set_node for "air" so nothing intensive, then it must be the metadata taking all the time
23:07 sfan5 it's strange though, the fast //copy and //move have a loop that copies metadata for every node, too
23:07 sfan5 ¯\_(ツ)_/¯
23:11 VanessaE all I know is I've been waiting 40 minutes for `//copy z 40` to finish, with a  volume of only about 1.5M nodes (roughly 80x500 horizontal size, 18m deep)
23:12 VanessaE er 20 mins
23:17 sfan5 hmm
23:18 sfan5 ok turns out copy doesn't actually need to be slow
23:19 VanessaE what's making it so slow?
23:19 sfan5 what I meant is: the fallback to the legacy code (for overlapping X+/Y+/Z+ copying) is not necessary at all
23:19 VanessaE oh.
23:21 sfan5 https://github.com/Uberi/Minetest-WorldEdit/commit/98690530456e8e8ec82fd3f1d3bbb2f812d7153c
23:21 sfan5 This doesn't apply to //move but I'll fix its performance at some point later
23:21 sfan5 ok but wait
23:21 sfan5 maybe it should copy the metadata in reverse
23:29 sfan5 there fixed
23:29 sfan5 this is why I shouldn't try to fix bugs late at night
23:30 VanessaE it happens.
23:30 VanessaE as for //move, shouldn't that just 'copy' the region, and then blank-out the leftovers?
23:31 sfan5 yes but that was too bothersome last time I touched the code so it only does that if it's not overlapping
23:31 VanessaE oh
23:32 sfan5 there is no inherent performance problem, I'm just too lazy
23:37 * VanessaE puts the new code into service
23:44 VanessaE oh that's MUCH better
23:52 rubenwardy VanessaE: are your unapproved releases meant to be deleted?
23:52 VanessaE yeah
23:54 rubenwardy doen
23:55 VanessaE thanks ;)
23:57 rdococ hmm
23:57 rdococ would it be possible to measure the memory usage of luacontroller mem by deserializing it, and comparing "collectgarbage("count")" from before and after the deserialization?
23:58 rdococ that way, you won't need to slowly crawl through all the data that the luacontroller wants to keep
23:58 rubenwardy there's so much I want to do but don't have the energy for
23:58 rubenwardy rdococ: you'd need to run it to determine the actual usage
23:59 rubenwardy because the usage depends on allocations in the function
23:59 rubenwardy oh, of the mem
23:59 rdococ well, I have some energy, but less intelligence :P
23:59 rubenwardy imposter syndrome is high with this one
23:59 rubenwardy or somethign
23:59 rdococ I still don't know how to use git properly

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