Minetest logo

IRC log for #minetest, 2023-10-14

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

All times shown according to UTC.

Time Nick Message
00:00 MTDiscord <warr1024> I actually tried to do a similar pump thing myself, and if it had worked (and my exploit prevention measures didn't break it) then I would have used that instead of sponges in NC.
00:01 erle wait why didn't it work
00:02 erle i think what can also work is the kansas city shuffle: everyone looks left, but you go right
00:02 erle in gameplay terms, keep the player on their toes by making it impossible to minmax
00:02 erle by fucking up minmaxing gameplay in rare, but catastrophic ways
00:03 erle xpiratez has this thing where a lot of mission have a 5% chance of everyone being dead and zombies being spawned instead, which is a much different battle than against squishy humans
00:04 erle and mindustry has a reactor that provides a LOT of energy, but it takes a huge amount of energy (less than it provides) to start
00:04 erle (mindustry is a tower-defense factory-builder game, if you don't know it)
00:05 ywang joined #minetest
00:05 erle so if your supply of coolant or fuel lags for a short moment, you'll have a reactor that is a liability instead of an asset
00:06 erle they have also another reactor that just explodes if it has not enough coolant, but that can be mitigated by a) turning it off b) building it close to enemy territory you want to blow up
00:06 erle which is why it gets disabled in multiplayer games, it's a less useful gameplay constraint that can literally be gamed
00:09 freelikegnu joined #minetest
00:25 Lesha_Vel joined #minetest
00:31 MTDiscord <warr1024> Hmm, the thing is that when disaster strikes, I want players to feel like "this is my fault, I should learn from this" instead of something like "oh well can't win 'em all" and so there needs to be a sense that they could really control everything, even if in practice they very much need to decide what's really worth it.
00:32 erle but that's the beauty of it
00:32 erle if disaster strikes in xpiratez it *is* your fault
00:33 erle because it means you either minmaxed or took risks you should not have taken
00:33 erle same for other xcom-engine games
00:33 erle and for battle for wesnoth, btw
00:34 erle you can reliably spot battle for wesnoth noobs by them complaining about the RNG
00:35 erle if you complain, you stop playing. if you see it as a hint that you overcommitted, then you keep playing, more carefully.
00:35 MTDiscord <warr1024> Hmm, maybe... I guess I do encourage players to optimize, but not to overfit.
00:43 erle how though?
00:43 erle i mean the limited inventory is obviously one thing for this
00:47 MTDiscord <warr1024> Limited inventory is one of those features that is very obvious when you first start playing but after you get into the groove of things, has mostly just subliminal effects.
00:47 MTDiscord <warr1024> Like, you get used to the different "economy" where resources are more valuable, and you get used to planning storage in the world instead of on your body.
00:47 MTDiscord <warr1024> So it turns out not to be a thing you really struggle against for long.
00:48 MTDiscord <warr1024> Optimization is more like realizing that there are better and worse ways to manage a tree farm, and better or worse ways of handling a charcoal supply.
00:49 MTDiscord <warr1024> Overfitting though happens when you over optimize a machine for a specific task end end up hurting it's reliability when adverse conditions crop up.
00:53 Trifton joined #minetest
00:54 erle Warr1024 what adverse condition can crop up though?
00:54 erle i mean there is no weather, no creeps or so
00:54 erle in mineclone2, lightning might strike your treehouse and it burns
00:54 erle or a creeper explodes you
00:56 MTDiscord <warr1024> Timing can be adverse.  Without completely rewriting MT to do like a fixed 20Hz tick thing like MC does, there's no way to guarantee that basic game mechanics aren't affected by lag.
00:56 MTDiscord <jordan4ibanez> I have come to interrupt your current conversation to talk about mac os
00:56 MTDiscord <warr1024> Also, the fact that players rarely ever just build a machine and then do nothing else can be adverse.  Just making nearby changes risks affecting other things.
00:57 MTDiscord <warr1024> The first rule of mac OS is you do not talk about mac OS.
00:57 ShadowBot joined #minetest
00:57 MTDiscord <warr1024> The second rule is that a closed sytsem will tend toward maximum entropy.
00:57 MTDiscord <jordan4ibanez> 20hz? My friend, it is 20 ticks
00:58 MTDiscord <jordan4ibanez> 2b2t had issues with it going down to 0.02 ticks or whatever
00:59 MTDiscord <warr1024> Yeah, 20Hz, like I said.
00:59 MTDiscord <jordan4ibanez> 20. Ticks.
00:59 MTDiscord <jordan4ibanez> https://tenor.com/view/dog-funny-fun-beautiful-beauty-gif-17043663
00:59 MTDiscord <warr1024> Uh, wow, do you ... not know what Hz is?
00:59 MTDiscord <jordan4ibanez> That's it, we need Minecraft unrehab on the discord immediately
01:01 MTDiscord <warr1024> I don't really know if I'd go with 20Hz anyway.  NC Optics run at 12Hz, which I chose because it was a good compromise frequency that could, if someone had a powerful enough machine, run butter-smooth at an exact number of frames at common display refresh frequencies.
01:01 MTDiscord <warr1024> So far though it rarely actually runs smoothly in real-world systems.
01:01 MTDiscord <jordan4ibanez> I have no idea why mc server step runs at 20hz but it's pretty dumb because it still lags lmao
01:02 MTDiscord <warr1024> One of NodeCore's principle is that everything in the world can experience the flow of time and interact with its environment, and that can be pretty costly in terms of ABMs.
01:03 MTDiscord <warr1024> Running a fixed number of ticks per second that represent a fixed amount of in-game time means that you can no longer guarantee that the in-game time stays in lockstep with IRL time, so people may experience the flow of time in-game slowing down, but because you're doing fixed size chunks of time each step, it makes it possible to do in-world physics reliably and repeatably.
01:03 MTDiscord <jordan4ibanez> Have you considered offloading it into a pure memory simulation and having an lbm listener thing or something
01:04 MTDiscord <jordan4ibanez> The map can't hurt you if it's a second class citizen of your logic
01:04 erle i agree here
01:04 erle (actually not)
01:04 MTDiscord <warr1024> Variable-step-size physics engines try to account for this by doing all the necesssary calculus, but somebody always ends up cutting corners, like doing only 1 collision check per step, so now the frequency of collision checks is variable.  I found that the simplest corner to cut is just running fixed-size time chunks.
01:04 erle this is the same logic that people use to build a virtual DOM because they hate the real DOM
01:05 MTDiscord <jordan4ibanez> Well people aren't usually walking around and mining a dom lmao
01:05 MTDiscord <warr1024> I seem to remember one developer who "virtualized" redstone computations and said that it was amazingly fast, but then when I tested it, it turned out that it was only insanely fast because that dev's personal computer was insanely fast, and it performed about the same as comparable systems in a side by side comparison.
01:06 MTDiscord <jordan4ibanez> There is another thing though
01:06 MTDiscord <warr1024> About the closest I've come to a "virtual DOM" kind of thing is doing separate plan-and-commit phases, so that I can make the new state depend solely on the past state, without the new present state mixed in.
01:06 MTDiscord <jordan4ibanez> You can also simulate while chunks are unloaded and flush with lbm
01:07 MTDiscord <jordan4ibanez> It can't change layout if the map ain't even there
01:07 MTDiscord <jordan4ibanez> Or can it
01:07 MTDiscord <jordan4ibanez> https://tenor.com/view/vsauce-evil-mastermind-vsauce-evil-mastermind-gif-27579269
01:07 MTDiscord <warr1024> Haha, simulating stuff happening in unloaded chunks, how would I go about doing that?  I'd need some way to keep the relevant chunks in memory ... oh wait, I feel like there's a system that already exists for loading chunks into memory...
01:08 MTDiscord <warr1024> If I can't afford to keep the chunks actually loaded then there's not much value in "simulating" them.
01:08 MTDiscord <jordan4ibanez> Yes, but you are loading the entire memory, into memory, not just logic paths
01:08 smk joined #minetest
01:09 MTDiscord <warr1024> So you're saying that I should load only very specific things in memory and allow time to freeze for other things?  That's almost exactly the bug I'm trying to fix.
01:09 MTDiscord <jordan4ibanez> What if you have a line that goes through like 10 chunks, you've just loaded in x x y x z x i - line blah blah blah instead of what you are doing
01:09 MTDiscord <warr1024> I'm okay with the flow of time varying from area to area, but it should vary only by area, not by random properties of the materials.
01:10 MTDiscord <jordan4ibanez> No, minetest is single threaded, it's gonna freeze anyways, it will just lighten the load
01:10 MTDiscord <jordan4ibanez> Or is it
01:10 MTDiscord <jordan4ibanez> https://tenor.com/view/vsauce-evil-mastermind-vsauce-evil-mastermind-gif-27579269
01:10 MTDiscord <warr1024> It's not really the threadedness of MT that's the problem; a lot of it is just the idiocy of the ABM timer.
01:11 MTDiscord <jordan4ibanez> Oh yeah lmao, yeah doing a memory simulation would totally fix that
01:11 MTDiscord <jordan4ibanez> Abms are about as predictable as I am
01:11 MTDiscord <warr1024> What I would want is an ABM timer that uses all the unused CPU cycles left on the table by other game mechanics to run ABMs continuously.  What I get is one that freezes the game for 200ms every second, and then the game ends up sleeping much of the rest of the 800ms left.  But if I increase the ABM budget, while I use more of the available CPU to do useful work, I also get a bigger lag spike.
01:12 MTDiscord <warr1024> ABMs are almost exactly what I actually want, because the feature that they're skipped when CPU is under stress is something I actually WANT.
01:12 MTDiscord <jordan4ibanez> What if the entire area is abms? The game is gone lag
01:13 MTDiscord <warr1024> It would be nice if I didn't need "patrol ABMs", i.e. where I have to have an ABM scanning an area for nodes just to make sure that none were leaked by LBM and such logic, just to add them to a queue to be checked on a globalstep, or regenerate missing node timers.
01:13 MTDiscord <jordan4ibanez> Gotta scan, gotta process, hopefully the game engine scans on chunk load
01:13 MTDiscord <warr1024> It'd also be nice if ABMs could be prioritized or weighted/balanced...
01:14 MTDiscord <jordan4ibanez> You'd have to create a step budget with lbms and craft your own in Lua if you want to fine grain or else you are at the mercy of the minetest gods
01:14 MTDiscord <warr1024> Self-healing is an important property of NodeCore.  There are not allowed to be any of the "oh, the node timer got lost due to a crash?  Just dig the node and place it again" kind of bugs.  It's the game's own responsibility to fix its own internal consistency, at least beyond the point where the engine can corrupt the entire database itself.
01:15 MTDiscord <jordan4ibanez> Is this a stateful or stateless logic environment?
01:15 MTDiscord <warr1024> dunno what you mean by "state" here.
01:15 MTDiscord <jordan4ibanez> Are your abms influenced by environmental factors?
01:16 MTDiscord <warr1024> Not sure what you mean; isn't "environmental factors" kinda the whole point of ABMs?
01:17 MTDiscord <jordan4ibanez> Nah, you can just run random stuff just being loaded. Is the consummate function that you are passing into the minetest registration api checking the area for anything? A block, a person? Entities?
01:17 erle Warr1024 the plan-and-commit thing is neat. do you have this as a separate mod somewhere?
01:17 MTDiscord <warr1024> Almost always, yes.
01:18 MTDiscord <warr1024> Plan-and-commit isn't a specific mod, or even a specific implementation; it's more like a design pattern that I apply in a number of situations.
01:18 MTDiscord <jordan4ibanez> Stateful, hmm, yes that is quite tougher then
01:18 MTDiscord <warr1024> Like you can see examples in the nc_optics api.lua, and in klots, I think try_move_klot.lua or something.
01:19 MTDiscord <jordan4ibanez> So you're just moving a thing to a thing in that scenario? Is this consuming excessive amounts of cpu cycles?
01:19 erle Warr1024 how do you plan-and-commit with ABMs in general?
01:20 MTDiscord <warr1024> Everything in NodeCore can "tick".  Nodes can tick.  Items can tick, in stack nodes, in player inventories, inside falling node entities or item entities.  Any mod can register interactions; this necessitated me replacing node timers with my "delayed node trigger" system that lets you register multiple independent timers like the way ABMs are registered.
01:20 erle oh hmm
01:20 erle node timers?
01:21 MTDiscord <jordan4ibanez> I don't think it's the timing function
01:21 MTDiscord <jordan4ibanez> I think this is abusing the translation glue between Lua and the C++ code
01:22 MTDiscord <warr1024> I don't do plan and commit "with ABMs" exactly, but it's more like I have a globalstep process that runs things either every step, or on some set interval, and the involvement of ABMs there is to find stuff to add to the queue to process there.  For example, nc optics are added to the optic_check queue every time you place, modify, etc an optic, any time a beam is applied/removed to its faces, each time the optic is loaded via LBM, and
01:22 MTDiscord randomly by ABM to make sure that there are no indefinitely "stuck" optics in inconsistent states.
01:22 MTDiscord <warr1024> Node timers are a mess because there's no way to register a node in mod A, register a node timer callback in mod A, and then add a second node timer with a different delay and callback in mod B.
01:23 erle they also represent memory leaks if used for fire etc.
01:23 erle node timer on air when
01:23 MTDiscord <warr1024> Mods need to be able to add behavior to existing materials.
01:23 MTDiscord <jordan4ibanez> Because you are accessing the map in Lua, you are not accessing the map directly at all, you're telling the underlying api to tell the engine to get the thing, then it got it, now pass it back to the api, but make it so Lua can understand it, then your Lua code does work with it
01:24 MTDiscord <jordan4ibanez> I am, quite unsure of a way to improve this engine wise
01:24 MTDiscord <warr1024> heh, yeah, node timers are also expensive compared to ABMs.  ABMs cost the CPU to find nodes, but node timers cost memory to store timer state for them AND the CPU to eventually fire them.  If you have a rule like, say, "dirt needs to check for nearby grass to spread onto it" then I bet you can make node timer implementations easily worse than ABM ones.
01:24 MTDiscord <jordan4ibanez> Precisely
01:25 MTDiscord <jordan4ibanez> I do not know if abms are a pure Lua construction or if it is integrated into the engine code
01:25 MTDiscord <warr1024> I messed around with trying to improve ABM performance overall and wasn't able to do much.  The one thing I found is that if you have a "neighbors" check, your ABM is roughly 7x as expensive as without.
01:26 ShadowBot joined #minetest
01:26 erle Warr1024 that's an interesting bound for how much your check has to improve on running less code
01:26 MTDiscord <warr1024> If you only care whether the node has the right neighbor anywhere around it and not in one specific place, or if nodes that actually have the necessary neighbors will be the minority, then it may make sense to use it, but if you e.g. want to check for grass that has dirt above it, then the neighbor check is probably counterproductive, since you'll pay the price, hit the action most of the time anyway, and still need to check that one
01:26 MTDiscord node again to see if the thing you expected is in the place you expected.
01:27 MTDiscord <warr1024> I haven't actually benchmarked checking the 26 neighbors in lua, but I imagine it's probably worse in many cases, and better maybe only in a few.
01:27 MTDiscord <warr1024> But it's better if possible to avoid the need to check for neighbors at all if possible.
01:28 MTDiscord <jordan4ibanez> Solution: abm cache, update stateful cache based on requirements, if requirements unmet, abm does not exist in memory, yet, or, at all
01:28 MTDiscord <jordan4ibanez> Very complex issue
01:29 MTDiscord <warr1024> One fun thing I did was an "invert neighbors" hack in NodeCore which I found did seem to speed things up in most cases (though it trades off the risk of worsening them in less common cases).  Instead of registering an ABM for common node A with rare neighbor B, it internally registers it for rare node B with common neighbor A (thus reducing the primary hit rate before the neighbor check) and the logic then internally handles the inversion
01:29 MTDiscord and calls the action the other way around.
01:29 MTDiscord <jordan4ibanez> Yes that is what abms were primarily designed for
01:29 MTDiscord <warr1024> It's not exactly equivalent, though, so e.g. with grass spread, being inverted, it tends to trigger the ABM randomly in a 3x3x3 area, since the randomness is applied before the inversion.  In practice, I've noticed it but I don't really mind; still seems worth it.
01:31 MTDiscord <warr1024> The one thing I use ABMs for that they're really not designed for is patrolling.  I scan the map for things that are supposed to be in some other queue, or have some other timer set for them, but got "lost".  It's a shame that it's such a big price to pay for an 0.001% kind of case, but when those cases actually happen, it really sucks if there's no way to ensure they get fixed.
01:31 MTDiscord <jordan4ibanez> Grass spread can be triggered with a timer, if it is an abm, you will get excessive slowdown
01:32 MTDiscord <warr1024> I think you've probably got that backwards.  How is registering a timer for every grass node not the chaos route?
01:32 MTDiscord <jordan4ibanez> No, you register the thing grass spreads to to check if it should start the timer when it's constructed
01:32 MTDiscord <jordan4ibanez> Stateful initialization
01:33 MTDiscord <warr1024> That ... sounds pretty horrible.
01:33 MTDiscord <jordan4ibanez> One second
01:33 MTDiscord <warr1024> Like, complex, and then you eat up the node timer for the thing on grass spread.
01:33 MTDiscord <jordan4ibanez> https://youtu.be/d_gbNApq46c?feature=shared
01:33 MTDiscord <warr1024> tbh the whole "only one timer per node" thing is just horrendous.
01:34 MTDiscord <jordan4ibanez> I am not telli telling you this because I am guessing, I am telling you this because I tested around 50 different implementations over the span of 4 days lmao
01:35 MTDiscord <warr1024> give that you were making an MC beta clone and that grass spread was one of the few mechanics that version had that would make much sense to do as an ABM, yeah, that probably could have worked out well for you.
01:35 MTDiscord <warr1024> NodeCore has so many ABM-driven mechanics that it has to multiplex ABMS to avoid breaking the ABM cache.
01:36 MTDiscord <jordan4ibanez> No I'm not talking about anything else besides your grass spreading
01:36 MTDiscord <jordan4ibanez> That can remove a surprising amount of lag
01:36 MTDiscord <warr1024> I've checked the lag sources and grass is sort of middling.
01:37 MTDiscord <warr1024> Radiation sources and I think sponge growth were more concerning.
01:37 MTDiscord <warr1024> I was going to switch sponge growth to a queue-and-globalstep system, since a lot of the checks are duplicate (same colony triggered by a different node within the colony) and I could easily dedupe that.
01:38 erle jordan4ibanez do you have a writeup of the timer thing
01:39 MTDiscord <jordan4ibanez> I only have source code, very unfortunate
01:39 MTDiscord <jordan4ibanez> This was more of a development in pure anger
01:39 MTDiscord <jordan4ibanez> Same with sand
01:39 MTDiscord <warr1024> Really would be better if they just fixed ABMs instead of making us do all kinds of bizarre gymnastics to work around them.
01:39 MTDiscord <jordan4ibanez> Sand is a reflective state update, like dominos
01:40 MTDiscord <jordan4ibanez> Yes
01:40 MTDiscord <jordan4ibanez> EXACTLY!
01:40 MTDiscord <jordan4ibanez> But that will require engine work, more engine, less api
01:41 MTDiscord <warr1024> ABMs do have one irreplaceable property, in that they're the only mechanism that's guaranteed eventually consistent independent of other factors so long as the node is within the active area.
01:49 illwieckz joined #minetest
01:58 erle jordan4ibanez where is the code though
01:58 erle Warr1024 the words “eventually” and “consistent” do a lot of work here
01:59 erle (that is not part of their day job)
01:59 erle i wish LBMs were fixed
01:59 erle they sometimes do not fire
02:00 erle good night
02:03 MTDiscord <warr1024> "eventually" and "consistent" are not 2 separate words doing 2 separate jobs, they're a single thing here: https://en.wikipedia.org/wiki/Eventual_consistency
02:05 MTDiscord <warr1024> Heh, also thanks for acknowledging that LBMs aren't 100% reliable ... I can't remember anybody else ever having acknowledged that...
02:14 Izaya joined #minetest
02:16 YuGiOhJCJ joined #minetest
02:58 illwieckz joined #minetest
03:03 MTDiscord Command sent from Discord by Sr Spookology Coordinator:
03:03 MTDiscord !tell erle https://github.com/jordan4ibanez/Crafter/blob/master/mods/main/nodes.lua#L280
03:03 MinetestBot MTDiscord: I'll pass that on when erle is around
03:15 DeepThgt so, anyone intimately know the physics of default mt game?
03:15 DeepThgt specifically, how many layers of water needed to slow you down from a 1000 block fall and not die
04:00 MTDiscord joined #minetest
04:06 Noisytoot joined #minetest
04:19 xBarkDog joined #minetest
04:27 muurkha erle: yes, often many choices are possible, and more or less equally good, within the constraints; once made, those arbitrary choices themselves become new constraints on future choices.  that's both path dependency and a choice that reduces the solution space in the future.  a railroad gauge is a good example.  if you don't pick a railroad gauge, you can't build either rails or cars, but there's a
04:27 muurkha broad range of reasonable possible railroad gauges.  in the future when you know more, you are sure to see that whatever choice you made with less knowledge was suboptimal
04:45 qqq joined #minetest
05:12 YuGiOhJCJ joined #minetest
05:12 Alias joined #minetest
05:33 calcul0n_ joined #minetest
05:37 e1z0 joined #minetest
06:32 TheSilentLink joined #minetest
06:37 olliy joined #minetest
06:41 s20 joined #minetest
06:41 definitelya joined #minetest
07:35 jaca122 joined #minetest
07:59 xBarkDog joined #minetest
08:09 Guest39220 joined #minetest
08:22 vampirefrog joined #minetest
08:28 olliy joined #minetest
08:29 fury999io joined #minetest
09:09 s20 joined #minetest
09:09 s20_ joined #minetest
09:17 amfl joined #minetest
09:22 Trifton joined #minetest
11:19 Alnotz joined #minetest
11:24 calcul0n joined #minetest
11:24 MinetestBot [git] Desour -> minetest/minetest: Fix forgotten CLANG_MINIMUM_VERSION update 5e0f142 https://github.com/minetest/minetest/commit/5e0f14266d42b52c6a67bc1dc104f6800ddacfd8 (2023-10-14T11:23:17Z)
11:36 appguru joined #minetest
11:52 imi joined #minetest
11:57 xBarkDog joined #minetest
12:35 s20_ joined #minetest
12:36 mrkubax10 joined #minetest
13:34 erle hey rubenwardy Warr1024 luatic what minimal lua unit test setup can you recommend? (yes i can google myself, i want only stuff you have good experience with)
13:34 MinetestBot erle: Oct-14 03:03 UTC <MTDiscord> https://github.com/jordan4ibanez/Crafter/blob/master/mods/main/nodes.lua#L280
13:34 erle uWu whats this
13:55 BuckarooBanzai erle: i can recommend busted and/or mineunit (https://github.com/S-S-X/mineunit)
14:00 Cork joined #minetest
14:58 MTDiscord <luatic> erle: for pure lua, i sometimes use just pure lua (e.g. assert + utils like table equality checking, which modlib provides). i've also used busted outside of minetest, works well enough.
14:59 jaca122 joined #minetest
15:12 erle luatic how is modlibs stuff different from luassert assert.are.same({ table = "great"}, { table = "great" })
15:12 erle https://github.com/lunarmodules/luassert
15:19 MTDiscord <luatic> erle: for once, i didn't care about as much about helpful output; for two, if you choose the right modlib table comparison function, it may be much more efficient in the worst case.
15:20 MTDiscord <luatic> for one*
15:21 MTDiscord <luatic> (specifically, when testing serializers with pretty much random arbitrarily cross-referential table structures, luassert croaks)
15:28 Sobinec joined #minetest
15:34 vampirefrog joined #minetest
15:38 rubenwardy I use busted
15:43 vampirefrog joined #minetest
16:27 Thelie joined #minetest
16:36 erle > random arbitrarily cross-referential table structures
16:37 erle repent, sinner!
16:40 erle public service announcement: install earlyoom. i just found out that pngcrush can take a long time, but optipng will fill your RAM.
16:50 Sobinec joined #minetest
16:51 erle (earlyoom kills stuff that misbehaves before the OOM killer kills other stuff instead)
16:53 mrkubax10 joined #minetest
17:20 mrkubax10 joined #minetest
17:32 kamdard joined #minetest
18:00 Talkless joined #minetest
18:21 s20 joined #minetest
18:34 definitelya_ joined #minetest
18:49 MTDiscord <luatic> erle: PSA: don't install earlyoom, and if you do, don't forget about it
18:51 MTDiscord <luatic> (background: i installed earlyoom one night (?) and forgot about it so it was killing my processes (everything from thicc editor windows to browser tabs to minetest release builds, most recently) and i was wondering why; i did vaguely remember that i installed an oom killer (but forgot what it's name was) and i did track it down and disable it in the end, though)
19:02 Sobinec joined #minetest
19:44 MTDiscord <jordan4ibanez> No please, erle I never committed the code that put the check at the be beginning too 😂
20:11 sugarbeet joined #minetest
20:33 erle luatic you get a message per second in syslog, that's not too hard to miss
20:51 lemonzest joined #minetest
21:08 illwieckz joined #minetest
21:15 DeepThgt YAY it works! my newest creation splits a stream of items 3 ways equally
21:15 DeepThgt (technic)
21:18 mazes_83 joined #minetest
21:32 MTDiscord <luatic> erle: i'm not saying it wasn't a skill issue on my part
21:33 MTDiscord <luatic> but i def. found the behavior of it just killing random processes more annoying than useful
21:33 MTDiscord <luatic> yeah an OOM could be even more annoying but i think most of the time i would've managed
21:34 MTDiscord <luatic> (well, "random" processes is inaccurate. ofc it kills the memory hoggers. but still, pretty poor UX if you ask me. at least, i don't know, a notification would have been nice.)
21:34 muurkha luatic: it's sort of inseparable from overcommit
21:35 muurkha and fork without overcommit can be pretty painful
21:35 muurkha at least on Linux it is
21:54 erle luatic it does not kill just random processes
21:54 erle and the kernel OOM is even worse
21:54 erle because the fun-haters behind chrome adjusted the OOM score so high
21:54 erle that it gets killed first haha
21:55 erle (at least that was true at some point)
21:55 erle muurkha how do you even fork without overcommit?
22:28 dabbill joined #minetest
22:32 panwolfram joined #minetest
22:39 sparky4 joined #minetest
23:16 dabbill joined #minetest
23:40 illwieckz joined #minetest
23:45 Megaf joined #minetest
23:51 ghoti joined #minetest
23:53 illwieckz joined #minetest

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