Minetest logo

IRC log for #minetest, 2023-04-11

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

All times shown according to UTC.

Time Nick Message
00:25 ShadowBot joined #minetest
00:37 Lesha_Vel joined #minetest
00:42 Verticen joined #minetest
00:56 smk joined #minetest
01:26 fluxionary joined #minetest
01:27 sweetiebot joined #minetest
02:01 gxt__ joined #minetest
03:27 sweetiebot_ joined #minetest
04:00 MTDiscord joined #minetest
04:16 Verticen joined #minetest
04:34 behalebabo joined #minetest
05:09 YuGiOhJCJ joined #minetest
05:32 calcul0n joined #minetest
05:47 YuGiOhJCJ joined #minetest
06:08 fling joined #minetest
09:16 Guest54 joined #minetest
09:22 Guest54 ROllerozxa given that https://content.minetest.net/packages/ryvnf/mineclonia/ was approved and is most certainly not a fork of https://git.minetest.land/Mineclonia/Mineclonia/ but of mcl2, how do you propose i change the description of my mods that “were tested with mineclonia” (not the rvynf one) and the original project? see here for an
09:22 Guest54 example: https://forum.minetest.net/viewtopic.php?p=416364&sid=a7caf3df08b60f6b21a8aca164f47ecd#p416364
09:23 Guest54 (also that server owner may be surprised a bit)
09:29 Guest54 (i have no issues with ppl who were disappointed by me disappearing doing a new/similar project, but using the same name without is a bit weird)
09:30 Guest54 s/without//
09:30 MTDiscord <Fleckenstein> wasn't Mineclonia started by ryvnf in the first place
09:30 Guest54 no lol
09:30 Guest54 rynvf left because “too much buerocracy”
09:31 Guest54 i think?
09:35 MTDiscord <Fleckenstein> im pretty sure he created it and made all the initial commits
09:35 MTDiscord <Fleckenstein> after the fork from MCL2
09:35 Guest54 let me look it up
09:35 MTDiscord <Fleckenstein> that's how i remember it and the git log says so as well
09:36 MTDiscord <kimapr> which git log
09:36 Guest54 https://git.minetest.land/Mineclonia/Mineclonia/pulls/2
09:36 Guest54 but https://git.minetest.land/Mineclonia/Mineclonia/issues/1 was the actual first commit with the name mineclonia
09:36 Guest54 (by n_to)
09:37 Guest54 i mean the first issue
09:38 Guest54 i think originally wuzzy came up with that name but no one had made a game with it or so?
09:39 MTDiscord <Fleckenstein> yes, the name is from Wuzzy
09:43 Guest54 anyway, let me see if it is compatible lol
09:54 Guest54 okay, turns out lol
09:54 Guest54 i think the gameid is case-sensitive
09:55 Guest54 so old Mineclonia uses “Mineclonia” as gameid and new one uses ”mineclonia”
09:56 Guest54 this will surely lead to no confusion whatsoever, haha. but it does prevent old worlds from switching over automatically, which means this is not a “well you can't change it back now” scenario.
09:56 rubenwardy ContentDB only allows lower case, Mineclonia wouldn't be allowed on cdb
09:56 rubenwardy also, don't confuse name with game id
09:56 Guest54 i am talking about the case “what if now someone has a world and sees oh this thing is on cdb”
09:56 Guest54 it will not switch over, which is good, because then they need to figure out why, hopefully find the issue and then choose
09:57 rubenwardy (name in game.conf is the title, not the game id)
09:57 Guest54 am i wrong on this?
10:02 MTDiscord <ROllerozxa> (re: the message I was highlighted in) both the old and new mineclonia are compatible with mineclone 2 API wise though?
10:05 Guest54 ROllerozxa in both cases it is “forked from a specific revision of mineclone2 that was deemed ‘good enough’ but may be lacking some newer stuff as time goes on”. the issue with mcl2 vs forks is mostly that mcl2 has a history of not being particularly compatible to *old versions of itself*, i.e. you can guarantee compat to a specific
10:05 Guest54 version, but not general API compat since things are renamed. see, for example, the thing with all lapis items turning into blue dye because mcl2 wanted to re-use the item name.
10:07 Guest54 there is also the issue of putting new stuff in existing mods.
10:07 Guest54 like, when mcl_core contains crying obsidian and you want to make a mod that wants crying obsidian, what do you do?
10:07 rubenwardy adding new stuff to mods? Outrageous
10:08 Guest54 well, i mean in a way that it is not 100% compatible anyways
10:08 Guest54 i am pretty sure the majority of ppl who create mods know how to, for example, use aliases
10:09 rubenwardy I care so much about compatibility, I never add new stuff to my mods
10:09 Guest54 hehehehehe
10:09 Guest54 well, in a modpack with dozens of mods adding decorative nodes is best done under a new name imo
10:10 Guest54 because then others can depend on them
10:11 Guest54 anyway, an example: mcl_villages:tool from Mineclonia or MineClone2 0.71.0 does become an unknown item in mineclonia or MineClone2 whatever-is-the-current-version
10:12 Guest54 i mean, it's not a particular important item and not obtainable without creative mode
10:12 Guest54 (or so they claim lol)
10:12 MTDiscord <ROllerozxa> ah mineclone
10:13 Guest54 so yeah, you can't really make compatibility promises. that also affects third-party mods. for example, rudzik8s additional mineclone furniture mod will stop having textures on some chairs and desks i think because the textures got pointlessly renamed.
10:14 Guest54 in the next mineclone2 release
10:14 Guest54 now since that mod is a year old and certainly the plans were on display in a dusty filling cabinet in a disused lavatory with a sign on the door “beware of the leopard” i guess it is totally justified ;)
10:17 MTDiscord <ROllerozxa> wait they renamed the textures now?
10:17 Guest54 ROllerozxa you are in for a world of fun
10:17 Guest54 soooooooo
10:18 Guest54 ROllerozxa for reasons™, the idea was to put all the textures of all mods into one big texture directory. that means suddenly you need to prefix them with each mod name to know which mod they belong to … instead of, say, putting them into the mod texture directory in the first place.
10:19 Guest54 ROllerozxa it obviously breaks texture packs and mods that assume that texture names that were stable for years do not change
10:20 MTDiscord <ROllerozxa> yeah I heard they mashed all the textures in one folder. have they begun renaming them already, or is it still a mess of MTG-compatible texture names for core textures?
10:21 Guest54 https://git.minetest.land/MineClone2/MineClone2/pulls/3456
10:21 Guest54 ROllerozxa IMO it's a bunch of “do the first thing that seems a good idea” and then you need to followup with other stuff and get a cascade of issues.
10:23 Guest54 my favourite “for want of a nail” story here is: 1. borked mcl_dye refactoring → 2. all lapis turns into dye, all bonemeal turns into dye etc. → 3. add compatibility recipes to make people turn back dye into lapis → 4. disable getting dye from flowers so people do not get lapis from flowers
10:25 MTDiscord <ROllerozxa> well I see where they're coming from with the textures, they want to leave their MTG mod soup roots and make things neater but... it's also gonna break literally all texture packs, including ones that have basic mineclone compat by virtue of sharing texture names
10:26 Guest54 it has nothing to do with leaving mtg mod soup roots
10:26 rubenwardy fairly easy to make a script to migrate texture packs
10:26 Guest54 rubenwardy oh the thing is that currently the texture packs work for mtg and mcl2
10:26 Guest54 well, anyways, they currently *work* lol
10:27 mrkubax10 joined #minetest
10:29 MTDiscord <ROllerozxa> some default override.txt that maps mineclone2 textures to MTG counterparts would be nice, though, if they're going through with it
10:29 Guest54 ROllerozxa then there are also gameplay things. for example, mineclonia (new) is forked from a version of mcl2 that has mobs you can noclip through, whereas mineclonia (old) is forked from a version of mcl2 that has mobs that are solid and it was deliberately not changed, because you can not hop on a mod.
10:29 Guest54 solid mobs can also escape from your enclosure when they hop on each other ;)
10:31 Guest54 mob
10:31 Guest54 you can not hop on a mob when it is not solid
10:35 MTDiscord <ROllerozxa> ah mineclone mobs
10:35 MTDiscord <ROllerozxa> also re: mod soup roots, cramming all textures into one folder and properly namespacing them seems very "we're turning into a monolithic game" to me
10:36 olliy joined #minetest
10:36 Guest54 well, it's basically the default response of those who give up on fixing dependencies
10:40 Guest54 the people who push ”all textures in one directory” were basically the same ones who every time when i said ”separate this new feature into a separate mod, it is a better maintainable way” wanted to cram everything into an existing mod “to avoid dependency hell”
10:45 MTDiscord <kimapr> put all textures in one dir? why
10:46 MTDiscord <kimapr> even if you want to put it in one mod you can still use subdirectories
10:46 Guest54 Kimapr hysterical raisins
10:47 Guest54 apparently a single directory with 2300 textures is better for texture creators than having neatly separated textures for a bunch of mods lol
10:47 MTDiscord <kimapr> example: https://gitlab.com/Kimapr/fogblox/-/tree/master/mods/fogblox/media
10:47 MTDiscord <kimapr> the whole game is contained in a single mod
10:48 Guest54 nah, renaming everything is obviously the correct step, because everyone who ever made a mod for mcl2 is a fool for assuming stable texture names :P
10:49 MTDiscord <kimapr> why do textures need to be renamed again? i thought all minetest media share the same namespace anyway
10:57 cora joined #minetest
10:57 MTDiscord <ROllerozxa> kimapr: mineclone's texture names are a mess of MTG compatible names and mcl_ namespaced ones
10:57 cora I won't stick around here but i feel the story that is being presented here is fairly one sided. Both ryvnf have been, regardless of who "started it" significant contributors to old mineclonia. I'll also point out that it has been dead for like a year and that I am the one who despite knowing it's probably pointless have continued to submit issues and PRs to fix at least the most critical issues - they have still not been looked at to this day. (e.g.
10:57 cora https://git.minetest.land/Mineclonia/Mineclonia/pulls/304 , https://git.minetest.land/Mineclonia/Mineclonia/issues/302 )  I'll also say that I have before and also just now tried to discuss these things privately and have offered, and still am offering my help with any issues this might cause.
11:04 Guest54 well, i can not prove i told cora i am okay with everything but reusing the name, but i guess it does not matter.
11:17 Guest54 ROllerozxa this is not necessarily about mtg compatible names, the furniture mod i was referring to does, in fact, use mcl2 names and they simply changed it
11:18 Guest54 if the only problem was making mtg-compatible stuff incompatible (e.g. texture packs for mtg that just happen to work for mcl2), i'd probably find it stupid, but not malicious
11:19 Guest54 but when mods that *explicitly* got made for mcl2 stop working correctly after less than a year i think it's a bit of a weird thing
11:19 MTDiscord <Fleckenstein> I find it funny how games have added my mod on contentdb and now im getting a warning "Make sure you own the rights to mcl_wither_spawning, it's included in these other packages: ..."
11:19 MTDiscord <Fleckenstein> not that it matters - if it's in the game it doesn't need to be a mod anymore
11:19 Guest54 Fleckenstein in that case you should not have a problem ig?
11:20 MTDiscord <ROllerozxa> that note is mostly just for editors to check for RTAN
11:20 MTDiscord <ROllerozxa> also oh god, they're renaming mcl namespaced texture names nilly willy too?
11:20 Guest54 ROllerozxa if cdb had a policy “do not knowingly break existing mods relying on texture or item names” this could be avoided, but i doubt it will have that anytime soon
11:21 Guest54 i mean, it is easy to prevent the breakage when moving to new textures or item names, with aliases, symlinks, whatever, you name it. or simply keeping the names lol.
11:22 Guest54 here is an example that is probably not problematic (but who knows lol)
11:22 Guest54 rename from textures/mcl_achievements_axolotl_bucket.png
11:22 Guest54 rename to textures/mcl_buckets_axolotl_bucket.png
11:22 Guest54 there's a bucket in the graphic, obviously it needs to be part of a different mod
11:23 Guest54 i think this one was the one that breaks the rudzik8 furniture:
11:23 Guest54 rename from textures/mcl_crimson_hyphae.png
11:23 Guest54 rename to textures/mcl_crimson_crimson_hyphae.png
11:23 Guest54 TWICE THE CRIMSON
11:23 Guest54 twice the fun
11:23 MTDiscord <ROllerozxa> CRIMSON CRIMSON HYPHAE
11:24 Guest54 you see this is obviously necessary and not deck chairs shuffling on the titanic
11:24 olliy joined #minetest
11:24 Guest54 it also means that if you steal textures from mcl2 nodes you better make sure you steal them from the node definiton
11:25 Guest54 definition
11:25 Guest54 or else they may change again whenever, wherever
11:25 Guest54 well, that only works *if* it is a texture for a node definition, but you get it
11:26 Guest54 ROllerozxa the fun thing is that it was of course crimson_hyphae.png in the beginning, then got renamed to mcl_crimson_hyphae.png, then got renamed to mcl_crimson_crimson_hyphae.png
11:27 Guest54 also i think rudzik8 uses crimson wood
11:28 MTDiscord <ROllerozxa> our current RTAN modname policy on CDB is basically just based on technical limitations with minetest's mod system where mods with the same name but with different authors (or even mods built into games) are still treated as the same (there is no built-in namespacing)
11:30 MTDiscord <ROllerozxa> however this doesn't extend to item definitions nor textures, it's basically the minimum necessary to not cause issues with incompatible mods that have the same name, or that game detection gets messed up by a game with an incompatible default mod
11:32 Guest54 well the thing with item definitions is, it is really easy to get it right
11:32 Guest54 same for textures
11:32 Guest54 so i guess *most* people don't rename stuff arbitrarily
11:33 Guest54 or reuse names for stuff that is not 100% compatible (*cough*)
11:36 Guest54 anyways, i guess i need to make new friends that understand that true names have power
11:38 Guest54 ROllerozxa IMO the fact that mods with the same name but with different authors are still treated the same is useful because it means you can override stuff, both in development and using it later. for example, mcl2 does not include the improvements i made to tga_encoder – but since it is an 100% API-compatible mod, you could basically get
11:38 Guest54 smaller images with a different default for encoding.
11:40 MTDiscord <ROllerozxa> yeah
11:40 MTDiscord <ROllerozxa> same thing with stuff like farming redo which fully replaces an existing MTG mod with a new API compatible one
11:44 MTDiscord <ROllerozxa> it just becomes a bit of an issue when someone wants to make a new mod named "concrete" and they are now required to make it fully compatible with the existing "concrete" mod such that other mods depending on a mod named "concrete" doesn't break
11:44 Guest54 ROllerozxa btw,  is “ppl who left a project can start a new project with the same name if the old project has not been updated in a while” official policy or is it simply because rynvf has the oldest commit with the name mineclonia in any case or because it was first on cdb (i.e. you can not claim a name on cdb if you used it outside of cdb
11:45 Guest54 anyways)?
11:46 Guest54 i don't think not being allowed to use the name “concrete” is a problem
11:46 Guest54 after all, xmaps is not named “maps” because there was an existing “maps” mod in some random ass game
11:46 Guest54 and mine was not API compatible
11:48 Guest54 in any case, i should probably get some stuff on cdb before some fun-hater comes along and insists i should rename my mods
11:49 Guest54 after all, i haven't worked on much minetest-related in close to a year or so
11:49 Guest54 or at least, i have not published it
11:51 Guest54 (on cdb lol)
11:58 definitelya joined #minetest
11:58 MTDiscord <ROllerozxa> my rationale for approving the new mineclonia was that original mineclonia seemed to have been abandoned, and that ryvnf and cora were active developers on the original project which I assumed gave them right to the name
11:59 MTDiscord <ROllerozxa> I probably wouldn't have approved it if I saw the original mineclonia being active, or if the original mineclonia was up and available on CDB
11:59 MTDiscord <ROllerozxa> whether something is on CDB maybe shouldn't matter obviously, but of course that plays a small part in knowing whether it is something is "active" and actively played by people. also in general, we can't be aware of everything that exists outside of CDB and the forums
12:00 Guest54 well, there are two servers that are not in the serverlist that maaaaaaaay use the old mineclonia and maaaaaaaay not want to upgrade to the new one
12:01 MTDiscord <ROllerozxa> isn't oysterity cora's server?
12:02 Guest54 well, that one uses the new thing
12:02 Guest54 pretty obv because she was, if i understand it correctly, kinda driven out of mcl2
12:02 MTDiscord <ROllerozxa> yeah
12:02 MTDiscord <ROllerozxa> anyways that's the only server that I can see uses mineclonia, from doing a ctrl+f on the serverlist
12:03 Guest54 well i did tell cora that i plan to work on mineclonia again soon now that i am no longer ill and she asked me to not do it, but i can not prove it
12:03 Guest54 so ig it's a friendship issue and not a technical issue
12:04 Guest54 ROllerozxa it was always the only public server that used it, since the others were afraid of griefers
12:04 Guest54 oh wait, no, i think there was “mineclonia forever” too
12:05 Guest54 hosted by kay27
12:05 Guest54 i hope he is okay :/
12:07 Guest54 btw, this is a great review hehe https://content.minetest.net/threads/4602/
12:07 Guest54 pointlessly gendered
12:07 Guest54 my favourite queer warning sign: “this is a gender-free space. all genders will be shot.”
12:08 sogt joined #minetest
12:08 MTDiscord <ROllerozxa> o.o
12:08 Guest54 it's a surreal meme
12:09 sogt hi
12:09 Guest54 ROllerozxa how much of a name difference do i have to have? given pixture/repixture 2 letters are enough?
12:09 sogt hello??
12:09 Guest54 i mean: piranesi vs piranesi restoration project lol
12:10 Guest54 the latter is a bit long
12:10 sogt guest54
12:10 Guest54 sogt what
12:10 sogt hellow
12:10 Guest54 yeah so what do you want
12:12 Guest54 !help tell
12:12 MinetestBot https://github.com/sfan5/minetestbot-modules/blob/master/COMMANDS.md
12:12 turtleman joined #minetest
12:17 Guest54 ROllerozxa btw if you want to research the serverlist in the future, i made a tool called minetest-servers that helps with this: http://news.dieweltistgarnichtso.net/bin/minetest-servers
12:18 Guest54 ; minetest-servers gameid |grep lordofthetest
12:18 Guest54 metis3.duckdns.org:30002    lordofthetest
12:19 Guest54 or to count which server is most active: minetest-servers clients |sort -k2 -n
12:20 Guest54 server with lowest proto_max lol
12:20 Guest54 ; minetest-servers proto_max |sort -k2 -nr |tail -n1
12:20 Guest54 23.28.74.3:30001    26
12:20 MTDiscord <Fleckenstein> > Dieses Programm hat das Ziel, die Medienkompetenz der Leser zu steigern. Gelegentlich packe ich sogar einen handfesten Buffer Overflow oder eine Format String Vulnerability zwischen die anderen Codezeilen und schreibe das auch nicht dran.
12:20 MTDiscord <Fleckenstein> should have used Rust smh
12:20 Guest54 well why don't you rewrite it in rust dear lizzy
12:21 Guest54 i watched ”pride and prejudice” last night with a friend
12:21 MTDiscord <Fleckenstein> okey
12:21 Guest54 there was so much ”dear lizzy” hehe
12:21 MTDiscord <Fleckenstein> omg i love pride and prejudice
12:21 MTDiscord <Fleckenstein> part of the reason why i picked my name
12:21 MTDiscord <Fleckenstein> also because of Elias and lizards
12:21 Guest54 NICE
12:22 Guest54 i think lydia is the winner in the story btw
12:22 Guest54 she runs a way with a guy and gets to marry him
12:22 Guest54 also she is grinning all the time
12:22 Guest54 then again she's 15 when she does it and the guy is a known scammer, so maybe it is not the wisest of choices
12:22 Guest54 but she got what she wanted!
12:23 Guest54 Fleckenstein, the comment about buffer overflows is making fun of this: https://blog.fefe.de/faq.html
12:23 Guest54 > Dieses Blog hat nämlich das Ziel, die Medienkompetenz der Leser zu steigern. Gelegentlich packe ich sogar einen handfesten Hoax oder eine Satire zwischen die anderen Meldungen und schreibe das auch nicht dran.
12:24 Guest54 fleckenstein also you can see that this is not at all LANGSEC since what a argument is depends on the API response lol
12:25 Guest54 i am also using exceptions for control flow
12:25 MTDiscord <Fleckenstein> i dislike exceptions
12:25 Guest54 it is pretty nice though, since you can immediately see some stats
12:25 Guest54 or find your friends!
12:26 Guest54 like on which server they are rn
12:26 Guest54 minetest-servers clients_list |grep -i $USERNAME
12:26 MTDiscord <Fleckenstein> yea i had the same in node.js back then :juanchi_face:
12:26 Guest54 what
12:27 Guest54 why would you torture yourself with node.js
12:27 Guest54 dear lizzy
12:27 Guest54 dearest lizzy hehehehe
12:27 MTDiscord <Fleckenstein> no idea
12:27 Guest54 wasn't it like a UTF-16 mess or so
12:27 Guest54 maybe i remember it wrong
12:27 MTDiscord <Fleckenstein> pip is marginally worse than npm
12:28 Guest54 Fleckenstein the worst thing about pride and prejudice is that the property is entailed and can only be given to a male heir
12:28 Guest54 the family simply does not have a mulan
12:28 MTDiscord <Fleckenstein> > Fleckenstein the worst thing about pride and prejudice is that the property is entailed
12:28 MTDiscord <ROllerozxa> oh, neat minetest-servers script, I suppose using that script might be better than just doing ctrl+f either on the serverlist page or the raw json like I usually do 😂
12:28 MTDiscord <Fleckenstein> you can stop right there
12:29 Guest54 furries, tails, lol
12:29 MTDiscord <ROllerozxa> furries...? o.o
12:29 Guest54 ROllerozxa i think it is pretty feature-complete too. anything missing?
12:29 Guest54 furries have tails
12:29 Guest54 usually
12:29 MTDiscord <Fleckenstein> it matters very little to me whether everyone is exploited by upper class men or everyone is exploited by upper class men and women
12:30 Guest54 oh but sparta had the better inheritance laws
12:30 Guest54 women could inherit, but their husband might die in war, so they marry again
12:30 Guest54 [[accumulation of wealth intensifies]]
12:34 Guest32 joined #minetest
12:34 fling yo
12:40 Guest32 You told me that you wanted to restart old mcla days after i told you about the new one - can't prove it either lol, maybe if we were using more consistent ways of communicating.... hehe. I'm at work and i would prefer if you would not drag this on in public while I told you I'll be gone, Guest54. I have earlier today and back when you said it told
12:40 Guest32 you that I am quite willing to work with you on this and/or any issues that might come up. And I personally don't even care about your naming issues.
12:40 Guest32 Please don't make it more of a "friendship issue" than it already is ...
12:46 Guest54 i see
12:49 vampirefrog joined #minetest
13:03 Guest54 Fleckenstein i broadly agree. in any case, mulan best disney hero.
13:03 Guest54 well, technically with disney now owning the rights to the alien franchise, the eggs of the alien queen are also disney princesses
13:04 Guest54 or what comes out of it
13:10 MTDiscord <Fleckenstein> if I have an iterator of values and i want to collect them in sorted order, should I rather collect into a BTreeSet or collect into a Vec and then qsort them?
13:11 MTDiscord <Fleckenstein> I know it doesn't matter but I dont want to write bad codes
13:11 Guest54 i wonder if the compiler is smarter here than you
13:11 MTDiscord <Fleckenstein> whar
13:12 Guest54 well, compilers understand code. on a level that say, chatgpt, does not have.
13:12 MTDiscord <Fleckenstein> i know, but it's not abstract in this case
13:12 Guest54 are you aware of godbolt?
13:12 MTDiscord <Fleckenstein> heap allocations are kind of a boundary
13:12 Guest54 i'd start with putting both examples in here https://godbolt.org/ and see if it generates meaningfully different assembly
13:13 Guest54 because if it comes out the same, the question is meaningless
13:13 muurkha not always
13:13 muurkha but in the case of Fleckenstein's question it definitely won't
13:13 Guest54 well, then the question is, what is the meaningful difference
13:13 MTDiscord <Fleckenstein> this is an algorithm question
13:13 MTDiscord <Fleckenstein> not a programming language question
13:13 Guest54 is it a performance question?
13:14 muurkha mostly
13:14 Guest54 or “code looks like my intent” question
13:14 muurkha I mean it might also be a maintainability question
13:14 MTDiscord <Fleckenstein> a performance question
13:14 MTDiscord <Fleckenstein> maintainability is on par
13:14 muurkha I'd collect into a Vec and then qsort them then
13:14 Guest54 yeah, maintainability is probably a better way to frame the intent thing
13:14 Guest54 muurkha rationale?
13:15 Guest54 i mean the btree is more complex right?
13:15 muurkha well, Vec and sort are pretty common tools; BTreeSet less so.  and in general you expect a B-tree to be slower
13:15 muurkha why do you expect it to be slower?  well...
13:16 Guest54 > The basic assumption was that indices would be so voluminous that only small chunks of the tree could fit in main memory.
13:16 Guest54 (wikipedia about btrees)
13:17 muurkha the sort of overarching answer is that it provides stronger guarantees: the sequence remains in effect sorted the whole time instead of becoming sorted only at the end
13:18 muurkha and this has consequences like slack space inside of blocks, poor locality between blocks, and (typically) insertion sort within a block
13:18 Guest54 i see
13:19 muurkha you could imagine a language which used B-trees ubiquitiously for data storage, in which case it would be a performance-maintainability tradeoff
13:19 muurkha but not in C++
13:19 Guest54 the worst tradeoff i encounter all the time is strings in lua lol
13:19 Guest54 they get hashed for fast access later
13:20 Guest54 so you definitely should not create a lot of small strings
13:20 muurkha creating a lot of small strings is still faster in Lua than in Python or Perl
13:21 muurkha well, CPython and Jython, anyway.  I don't know about PyPy
13:21 Guest54 yeah, but not creating them is still faster than creating them
13:21 muurkha depending on what the alternative to creating them is
13:22 MTDiscord <Fleckenstein> i think b-trees are for maintaining mutable sorted collections
13:22 MTDiscord <Fleckenstein> i just need to sort the thing oncde
13:22 muurkha aye
13:23 Guest54 muurkhau in my case, it is a) serialize a lot of small strings and then concat them b) create fewer larger strings at once
13:23 Guest54 fleckenstein knows what i mean
13:30 MTDiscord <Fleckenstein> hmmm
13:30 MTDiscord <Fleckenstein> there are a lot of duplicate strings tho
13:30 MTDiscord <Fleckenstein> i want unique sort
13:30 MTDiscord <Fleckenstein> i think a BTreeSet would actually be better at this
13:31 MTDiscord <Fleckenstein> well I hope to get better at this soon
13:33 MTDiscord <Fleckenstein> currently in my first algorithms & data structures lecture (first day of second semester at uni hehe)
13:34 MTDiscord <Fleckenstein> rn the lecturer is having issues with his surface laptop tho :kekw:
13:39 MTDiscord <Fleckenstein> https://users.rust-lang.org/t/sorted-unique-list-from-iterator-t-ord-hash/53531
13:40 MTDiscord <Fleckenstein> since I have a lot of duplicate values, I think BTeeSet is the way to go
13:40 muurkha possibly, depending on what "a lot" is
13:41 muurkha but there's also an algorithm in the STL that removes adjacent duplicates, which will remove all the duplicates from a sorted vector
13:44 MTDiscord <Fleckenstein> 12689 entires, 36 unique entries
13:45 MTDiscord <Fleckenstein> itertools has dedup and sorted, but for many duplicate entries this is slower than BTreeSet I think
13:49 muurkha yes, probably BTreeSet will be faster there
13:49 muurkha probably a still faster alternative is to put the items into a hash, then iterate over the 36 hash keys at the end to sort them
13:54 dmj joined #minetest
14:00 dmj I'm running a private server for friends, and I'm interested in integrating in-game chat with IRC. I'd like to see examples of other servers that have done this successfully. Can anyone offer pointers?
14:05 muurkha I'd like to see that too
14:07 MTDiscord <Jonathon> github.com/minetest-mods/irc github.com/minetest-mods/irc_commands
14:13 dmj Right, I've seen these mods. But I'm hoping to see some-real world examples of servers that have implemented them successfully.
14:17 MTDiscord <Fleckenstein> Guest54
14:18 MTDiscord <Fleckenstein> isn't printing out data from the internet without sanitization a security issue?
14:35 Desour joined #minetest
15:16 fluxionary joined #minetest
15:25 calcul0n dmj, pandorabox might be a good example, it's using beerchat
15:40 MTDiscord <Fleckenstein> haha I've taken way too much time rewriting your tool in rust Guest54
15:41 MTDiscord <Fleckenstein> as usual, I spent way too much time overperfecting things
15:41 MTDiscord <Fleckenstein> https://github.com/LizzyFleckenstein03/minetest-servers
15:46 Fleckenstein joined #minetest
16:13 Guest54 joined #minetest
16:16 Fleckenstein hi uh
16:17 Fleckenstein im done with the rewrite, Guest54
16:17 Guest54 of what
16:17 Fleckenstein https://github.com/LizzyFleckenstein03/minetest-servers
16:17 Guest54 there are no instructions on how to execute it
16:17 Fleckenstein cargo run --release
16:18 Fleckenstein tho if you dont want to install a compiler, i can build it for you, what is your architecture
16:18 Guest54 pico8
16:19 Fleckenstein that's lua based right
16:19 Guest54 i am of jokings
16:19 Fleckenstein so i gotta build WASM and then wasm2lua
16:20 Guest54 i suggest to put the compile instructions in the readme
16:20 Guest54 stop it dear lizzy i am cargoing it
16:20 mrkubax10 joined #minetest
16:22 Fleckenstein cargo space? no, car no do that. cargo road.
16:23 Guest54 Fleckenstein okay maybe i don't why does it have a ton of dependencies?
16:24 Fleckenstein that's normal for rust programs
16:24 rubenwardy only 6 dependencies
16:24 rubenwardy _looks at any node application_
16:24 Guest54 lol
16:24 Fleckenstein the idea is to have lots of bloat on the developer's machine and have a lightweight production environment
16:25 Desour rustaceans always look down on go, but they still use car-go to compile their projects
16:25 Guest54 will demons come out of my nose if i use it
16:26 Fleckenstein nah
16:26 Fleckenstein no unsafe blocks
16:26 Guest54 > error: failed to parse manifest
16:26 Guest54 >   this version of Cargo is older than the `2021` edition, and only supports `2015` and `2018` editions.
16:26 Guest54 yeah i am going to pass on that thing
16:26 Guest54 > Die folgenden Pakete werden ENTFERNT:
16:26 Guest54 >  cargo libstd-rust-1.48 libstd-rust-dev rust-gdb rustc
16:27 Fleckenstein welp
16:27 Fleckenstein usually you wouldn't install rust using your package manager
16:27 Fleckenstein since you need to manage different toolchains anyway
16:27 Guest54 i install evetything using a package manager
16:27 Guest54 or directly from git obv
16:27 Fleckenstein which you can maybe do with Nix or Gentoo but like
16:27 Fleckenstein rustup
16:28 Fleckenstein in C(++) you simply refrain from using utility libraries and write everything yourself, in Go the standard library is bloated, in Node you bring the bloat to production. I think Rust has a pretty good solution regarding dependencies
16:28 Guest54 look, if rust ppl can't be bothered to package their build environment in debian, maybe it's not comfortable enough for a lazy person like me
16:29 Guest54 i mean i can have python that is long outdated before it will crap out on me
16:29 Guest54 if ppl don't use new features
16:29 Fleckenstein rustup can do a lot more
16:29 Guest54 well, cargo seems to only *download* the dependencies and compile the stuff, what's the problem with backwards compat there?
16:30 Fleckenstein sure change it to 2018 and see
16:30 Fleckenstein painless cross compilation and switching toolchains is what rustup is for
16:30 Fleckenstein also it's more debian's fault, arch linux has latest rust
16:30 Guest54 is this a “you need to have new enough tools because they change all the time” or is the language simply too young to have settled into a plateau and it is justified?
16:31 Fleckenstein no, your compiler is just super outdated
16:31 MTDiscord <ROllerozxa> debian moment
16:31 Fleckenstein like imagine not having a version that was released 2 years ago?
16:32 Guest54 imagine not needing super up to date hipster bling because your software is not designed by 1000 monkeys on 1000 typewriters? :P
16:32 Guest54 like i can have coreutils or gcc from 2015 and it will *mostly* work
16:32 Guest54 i won't get new features
16:32 rubenwardy if you're using a typewriter that might be the problem
16:32 Guest54 should change to a different one
16:32 Guest54 can't multiply myself by 1000×1000 after all
16:32 Fleckenstein what if you want to run a shell script that uses new coreutils features
16:33 Fleckenstein (whatever that's supposed to be)
16:33 Guest54 hahahahaha
16:33 Fleckenstein I had this issue recently
16:33 Fleckenstein I tried running neofetch on RedStarOS
16:33 Guest54 what was the feature? some bashism?
16:33 Fleckenstein bash was too old
16:33 Guest54 it's hairy because OS X ships ancient bash
16:33 Fleckenstein i had to compile it from source
16:33 Guest54 this is why i usually write shell scripts against POSIX sh and test with dash, busybox ash and bash in POSIX mode
16:34 Talkless joined #minetest
16:34 Fleckenstein and for that i had to compile the modern versions of all the other stuff from source
16:34 Fleckenstein like autotools, m4, gmake, gcc9
16:34 Guest54 so what was the feature?
16:34 Fleckenstein idk, it didn't work with old bash
16:34 Guest54 well bash is a stupid shell anyways
16:34 Fleckenstein yea but software moves
16:34 Guest54 sh is too, but it is at least everywhere, almost posixly correct (as if, lol)
16:34 Fleckenstein and it's not wrong to rely on modern software
16:35 Desour rolling release distros like arch are often called to ship cutting edge packages, but it's actually just stable edge (as long as you don't build git AUR packages). debian, ubuntu and co. on the other hand are rusty edge. these rusty edges really hurt and are really awkward to use
16:35 Guest54 depends on who you want to appeal to
16:35 Fleckenstein why do you not want to use up to date software
16:35 Guest54 Desour depends on the maintainer really. arch takes ages to get stuff into unifont, debian has them almost immediately.
16:35 Fleckenstein and i mean
16:35 Guest54 the question is rather, can you do that?
16:35 Fleckenstein up to date meaning not 2 years out of date
16:35 Guest54 for example, my shell scripts will run on old smartphones that have some ancient busybox
16:36 Guest54 which i know, because i once needed that
16:36 Guest54 if i need something that would lead me to “oh the user needs to compile a new bash if they don't have it” either i fake it using stringly typed weirdness or i just don't use shell
16:36 Fleckenstein yea but i can compile rust for anything as well
16:36 Fleckenstein while using lots of modern rust features
16:37 dmj calcul0n: Thanks for recommending I check out Pandorabox as an example of successful chat/IRC integration. If anyone has any other examples, I'd be interested to see them.
16:37 Fleckenstein if i have a modern rust version installed, i can build for old systems
16:37 Fleckenstein this is why we compile in the first place
16:37 Fleckenstein bundling and performance
16:37 Guest54 Fleckenstein i kinda think that the user experience of ”if you have some random python 3.x this stuff could just work” is better than “yeah but you CAN compile this if you put the effort in it”
16:37 Fleckenstein or if you just tell me your host triple
16:38 Guest54 well it works if you change the thing to 2018
16:38 Guest54 or does it?
16:38 Fleckenstein try
16:38 Guest54 i guess this is a trick question
16:38 Guest54 error: failed to select a version for the requirement `clap = "=4.2.1"`
16:38 Guest54 candidate versions found which didn't match: 3.2.23, 3.2.22, 3.2.21, ...
16:39 Fleckenstein remove Cargo.lock
16:39 Guest54 but it was there
16:39 Guest54 isn't that a bad idea
16:39 Guest54 to install any random ass dependency
16:40 Fleckenstein Cargo.lock has the state of the latest build
16:40 Fleckenstein latest successful build
16:40 Guest54 well i get the same error and a new Cargo.lock when i try again
16:40 Fleckenstein interesting, i can compile with edition=2018
16:40 Guest54 from a fresh directory?
16:40 Fleckenstein yes
16:41 Fleckenstein the dependencies have their own edition
16:41 Fleckenstein rust has cross edition compatibility
16:41 Fleckenstein rust is designed for developers
16:41 Guest54 well i see how this is necessary, but it is overkill for the task at hand
16:41 Guest54 it reminds me of how i tried to learn go by trying to replace a calendar shell script that i wrote that is maybe 100 lines max
16:41 Guest54 wait let me se
16:41 rubenwardy does the server list allow CORS?
16:41 Guest54 e
16:42 rubenwardy I'd do this as a web page with client-side JS, would be super portable that way
16:42 Guest54 well, if not, having it do that might be nice?
16:42 Fleckenstein rubenwardy i want something usable, not something portable
16:42 Guest54 indeed it would, only that you could not use it in shell scripts, which is ofc how i use it, which is why i do it
16:43 Guest54 yeah so the shell calendar is 59 lines of bourne shell, which includes a badly cobbled together c header inclusion thingy
16:43 Guest54 after like 100 lines of go i got do date parsing and i just … stopped
16:44 Desour Guest54: fyi, you don't have to use cargo. you can also just directly run rustc. so why don't you just write your own build system?
16:44 Fleckenstein or just install a modern compiler
16:45 Guest54 i do have my own build system (redo), but last time i checked i also have my own minetest-servers implementation and it is interesting to look at the one of Fleckenstein, i don't really need to run it
16:45 Guest54 so i can basically give uninformed takes on this thing without actually losing out on functionality!
16:46 rubenwardy oh is this supposed to be for cli? Assumed it was just for server-owners to debug stuff
16:46 Fleckenstein how is not being able to download a piece of software that came out 2 years ago not an issue on your side tho
16:46 Fleckenstein rubenwardy yes, it's just a minetest server list cli
16:46 Guest54 rubenwardy well i did use it to figure out where my friends were or where mods were used
16:46 Fleckenstein Guest54 I'd love to hear your takes on my code
16:47 Guest54 the take is: i am not a rustacean, don't expect anything
16:48 Fleckenstein informed or uninformed hehe
16:48 Guest54 “we are ashamed when we are not uniform” my ethics teacher used to say
16:48 Fleckenstein ah I should head out to CCC
16:48 Guest54 some time later lots of people bought t-shirts with the school logo on it
16:49 Fleckenstein will be back in a couple minutes
16:49 Guest54 Fleckenstein goes to the cuddly catgirl convention
16:49 Desour !cat
16:49 MinetestBot http://i.imgur.com/rBJgj7d.jpg
16:51 Guest54 rubenwardy ; curl -sI 'https://servers.minetest.net/list' |grep -i access-control
16:51 Guest54 access-control-allow-origin: *
16:51 Guest54 btw
16:51 Guest54 or did you just add that
16:56 rubenwardy i didn't
16:57 MTDiscord <luatic> (in response to lizzy) yea I had the same in client JS
16:57 Guest54 amazing: when you load a world with the ”new mineclonia” and then want to go back to the old one, it just crashes.
17:00 MTDiscord <luatic> (in response to muurkha proposing deduping using a hash set) this is the way to go.
17:00 MTDiscord <luatic> I'd always prefer a well-implemented sorted algorithm over abusing a dynamic set implementation - in this case, a B-Tree - to do the sorting for you.
17:01 MTDiscord <luatic> Theoretically they have the same runtime complexity, but practically you can expect the constant factors of sorting to be much slower.
17:01 Guest54 i wonder if lizzy has already learned of probabilistic datastructures
17:01 Guest54 a lot of people spend a lot of thought about how to find an application for bloom fliters
17:01 Guest54 filters
17:02 MTDiscord <luatic> Hash sets allow you to dedupe in expected amortized linear time - way better than the linearithmic time of sorting.
17:03 Guest54 i have once written an implementation of the okcupid matching algorithm that used bloom filters
17:03 Guest54 it worked very well, but i could not understand the failure modes, so i did not use it
17:03 MTDiscord <luatic> So if you have very few unique values, say m of n, first deduping using a hash set then sorting the remaining values will give you O(n + m log m) vs O(n log n); the constant factors of hash sets are also very good.
17:03 Guest54 can you give me the big o notation for sleepsort hehe
17:04 MTDiscord <luatic> O(inf)?
17:04 Guest54 hehehehehe
17:04 Guest54 sleep sort is infinitely practical, if you want to sort 10 times faster, just divide your input by 10
17:04 Guest54 thus you become a 10× engineer
17:04 mrkubax10 is there something like on punch entity callback?
17:05 Guest54 (you need to multiply yourself by 10 to offset the /10 runtime)
17:05 MTDiscord <luatic> No, you'll have to override/hook on_punch for each entity.
17:05 MTDiscord Command sent from Discord by Lars:
17:05 MTDiscord !next
17:05 MinetestBot Another satisfied customer. Next!
17:05 Guest54 mrkubax10 this seems like an X/Y problem. what exactly are you trying to do?
17:06 Desour sleepsort is O(1)
17:06 mrkubax10 I'm implementing electric sword, if you use it while uncharged it won't take much damage but when it's charged then it takes full damage
17:07 MTDiscord <luatic> @ROllizzxy (she/her)  Duplicates are BTW not a reason to reject sorting algorithms. Many algos (e.g. mergesort or heapsort) handle them completely fine. It's just that quicksort, if implemented improperly (e.g. using the Lomuto partitioning scheme) will degrade to quadratic runtime. With proper Hoare or three-way partitioning (and proper pivot picking!) it is fine though. See here
17:07 MTDiscord https://github.com/TheAlgorithms/Lua/blob/main/src/sorting/quicksort.lua for a reference implementation I wrote in Lua.
17:07 MTDiscord <luatic> (I have a WIP blog article on the pitfalls of quicksort)
17:07 mrkubax10 I already implemented simillar behavior for pickaxe, axe etc using on_punchnode callback and replacing item with "active" version when tool is charged and reverting back to inactive afterwards
17:08 MTDiscord <luatic> Ah right, now I remember the third pitfall I forgot to mention: You need to be careful about the order in which you quicksort the subarrays to get logarithmic space complexity.
17:08 Fleckenstein joined #minetest
17:09 Fleckenstein > Fleckenstein goes to the cuddly catgirl convention
17:09 Fleckenstein so true bestie
17:09 Desour mrkubax10: is it an electric sword similar to this one: https://www.youtube.com/watch?v=V8h8snfYidg ?
17:10 mrkubax10 lol
17:14 Fleckenstein luatic are you sure that building a vector with 12000 elements and then deduping & sorting it is better than inserting into a B-Tree that ends up with 36 elements?
17:20 MTDiscord <luatic> Fleckenstein: No, first insert into a hash map
17:20 MTDiscord <luatic> hash set*
17:20 Guest54 luatic you going to put your semgrep rules in the utils directory?
17:20 MTDiscord <Fleckenstein> then put that into a vec, then qsort?
17:21 MTDiscord <luatic> yes
17:21 MTDiscord <Fleckenstein> thankies :3
17:21 MTDiscord <luatic> The hash set will end up with 36 elements just as well, and the constant factor might very well be lower than that of the B-Tree
17:21 MTDiscord <luatic> np
17:21 MTDiscord <luatic> in fact for 36 elements, your B-Tree would probably be just a single root node X)
17:21 MTDiscord <luatic> so your B-Tree would practically be just a single sorted array you're inserting into / searching values in
17:22 Fleckenstein is it any different with a hashmap?
17:22 Fleckenstein *set
17:27 Guest54 ROllerozxa btw, regardless of the moral rights to the name – i just checked it, i started and finished my work on the as-of-yet-unpublished unicode renderer entirely before the new mineclonia changed the name to, well, mineclonia. i have still not published it (but i should soon probably), but a bunch of people including cora were aware of me
17:27 Guest54 doing that work and claiming “dead project” when i am doing work for mcl_signs (you can guess which game this belongs to) is a bit of a stretch.
17:28 Guest54 (besides, as far as i know everyone elses unicode rendering craps out on either very long text (due to using texmods) or if you start using some random characters beyond latin-1, so i assume it is not idle busywork)
17:28 Guest54 i mean specifically lua unicode rendering in minetest obv
17:29 Guest54 then again a bunch of people have uncritically believed the “irrlicht is dead” meme ;)
17:29 Guest54 (regardless of the reasons for forking, it is very much alive, the author just does not believe in making frequent releases)
17:29 rubenwardy the last release with features was over 10 years ago
17:30 rubenwardy November 2012
17:30 MTDiscord <luatic> Fleckenstein: Well with a hash map you'll have expected amortized O(1) insertion and lookup
17:31 MTDiscord <luatic> Whereas for a sorted array it's O(n) insertion and O(log n) lookup
17:31 Guest54 well, usually ”dead” means ”someone is not working on it anymore” and AFAIK cutealien is doing enough stuff right now
17:32 MTDiscord <luatic> Guest54: I want to put my semgrep rules somewhere, but I would rather skin a cat than PR the engine utils dir
17:32 Guest54 luatic it is a useful thing everyone should have though
17:32 MTDiscord <luatic> It'd be great if we could have some utils repo
17:32 Guest54 do it then
17:32 Guest54 semgrep-rules-for-minetest-mods
17:32 Fleckenstein payload.list.iter().flat_map(HashMap::keys).collect::<HashSet<_>>().into_iter().sorted().collect::<Vec<_>>().iter().format(", ")
17:32 Guest54 i may have one too
17:32 Fleckenstein i feel like there should be a more ergonomic way to do this
17:33 Guest54 my rule resulted in cora fixing like 20 crashes recently or so and me finding a lot more
17:33 MTDiscord <luatic> This is not unergonomic by my standard lol
17:33 Guest54 i am still unsure how to deal with that
17:33 Fleckenstein wait i can drop te second collect
17:33 Guest54 maybe you should write it on separate lines first
17:33 Fleckenstein rustfmt does that for me
17:33 Guest54 i mean i don't put my pipelines on one line either
17:34 MTDiscord <luatic> Guest54: I think this should be a semgrep repo under the minetest org
17:34 MTDiscord <luatic> or even a more broad utils repo under the minetest org, though I'm not sure of that
17:34 MTDiscord <luatic> semgrep feels too specific, utils too broad 🙃
17:34 Guest54 luatic this only works if you don't have to upgrade everything in lockstep, which you might
17:34 MTDiscord <luatic> oo I can actually create repos under the Minetest org
17:35 Guest54 for example, if some fun-hater changes an API again, adding a semgrep rule can at least help the poor victims of the aggression to fix the breakage while swearing revenge
17:35 Guest54 that is why the rules should be widely disseminated
17:35 appguru joined #minetest
17:35 Fleckenstein thunderbird as an IRC client?
17:36 Fleckenstein is it any good?
17:36 Guest54 i should probably not have brought up irrlicht. the only thing i wanted to say was “i started doing work on mineclonia (the old project) 2 weeks before the new project called itself that and claiming i am no longer active just as i show up again doing stuff is a bit of a dick move”.
17:37 Fleckenstein unfortunate timing
17:38 Guest54 well the thing is cora knew that
17:38 appguru Fleckenstein: It gets the job done
17:38 Guest54 i did, of course, show her my unicode thingy (i mean, i showed it everyone else too)
17:38 appguru It's actually surprisingly usable TBH
17:39 appguru sometimes I have this weird bug where (presumably after a disconnection) I don't see any messages (including my own) but otherwise it's fine
17:39 Fleckenstein > i decided to fork it with her and reboot the old mineclonia project which has been abandoned for a year (-ryvnf in discord DM, 04/05/2023)
17:39 Fleckenstein i don't think you should assume bad faith
17:42 Guest54 Fleckenstein i am not claiming ryvnf knew anything, but when cora told me that the first thing i was like “ok if you use a different name”
17:43 Guest54 anyways, i'm sure this is not demotivating at all
17:43 Fleckenstein have you talked about this with cora?
17:44 Fleckenstein or should I ask her about it?
17:45 Guest54 look, you can ask her all you want, i use a shitty webirc client because i am still not on my own laptop, so i don't have any logs.
17:45 Guest54 but don't pester her
17:45 Guest54 neither ryvnf nor cora are bad people, they are both capable etc. pp.
17:45 Fleckenstein yea im good friends with cora, dont worry
17:46 Fleckenstein im mostly neutral on this issue
17:46 Guest54 also i think that the response to “i am doing stuff again” from people who were disappointed in me (for different reasons) before can understandably be “i don't believe you, don't stop me doing stuff”
17:46 Guest54 Fleckenstein thinking about it, maybe better don't involve yourself
17:46 Guest54 i mean it's not as if cora and me can't talk ourselves
17:47 Fleckenstein yea that's better
17:52 PrairieWind joined #minetest
17:52 PrairieWind joined #minetest
18:03 appguru1 joined #minetest
18:07 MinetestBot [git] Desour -> minetest/minetest: Add make_irr ceec560 https://github.com/minetest/minetest/commit/ceec560779e43813dd1c212557160f4dee4910ed (2023-04-11T18:06:15Z)
18:07 MinetestBot [git] Desour -> minetest/minetest: Use smart-ptrs in GUIEngine b201c03 https://github.com/minetest/minetest/commit/b201c036259a2c2893e54712a8e3e891ad764b71 (2023-04-11T18:06:15Z)
18:07 MinetestBot [git] Desour -> minetest/minetest: Get rid of global dummySoundManager 1dd13da https://github.com/minetest/minetest/commit/1dd13da37db32972810b942966d5cdd233215f92 (2023-04-11T18:06:15Z)
18:17 Guest54 Warr1024 today i realized what ”eggcorn” refers to and i was enlightened. very nice!
18:17 PrairieWind joined #minetest
18:17 PrairieWind joined #minetest
18:33 appguru Guest54: So I cobbled something together based on what I found
18:33 appguru https://gist.github.com/appgurueu/083944e26709e35dbaf5042ceee3ef8b
18:33 Guest54 uh oh
18:34 appguru argh wait a min I think it's borken
18:34 Guest54 i strongly suggest you refactor that to use either a recursive build system or restructure the code so that it has something like that
18:34 rubenwardy might be easier to use   "https://content.minetest.net/packages/" .. path .. "/download/
18:35 rubenwardy actually no, you want to make sure you don't redownload releases
18:35 Guest54 then again, let's make it work first, then make it fast :D
18:35 rubenwardy you also don't want to download every release
18:35 Guest54 well, if you don't want to redownload, i may be right about the recursive build system
18:35 rubenwardy just the latest
18:36 Guest54 (you can't really do downloading things well with a toposort-based mess)
18:38 appguru what
18:38 appguru why would toposort be a mess
18:39 appguru also aren't recursive build systems just implementations of toposort as a recursively implemented reverse postorder?
18:40 Guest54 IMO the important thing in recursive build systems is an interleaving of dependency resolution and dependency tracking and build steps that makes specific problems very easy to use
18:40 Guest54 solve
18:40 Guest54 i mean
18:41 Guest54 you can approximate these problems with the traditional make-like way, but it basically break down when you want to change the dependencies while you are running the thing
18:42 Guest54 which is, counterintuitively, actually something very common.
18:42 Guest54 (at least if you are acting on wobbly ground truth, like a constantly changing dataset)
18:43 Guest54 appguru you can do this all very comfortably yourself without a build system in any case, as long as you have three functions you can call during a build step
18:45 Guest54 1) one function that gathers prerequisites for a target (e.g. downloaded artifact) and redoes the current step in the future if any of those have changed since the last time the function was run for the same target 2) one function that gathers NE prereqs (you prob do not have them unless you can predict future release names) 3. one function that
18:45 Guest54 takes arbitrary bytes and re-runs the current build step if it is invoked in the future with a different input
18:46 Guest54 but don't build that now, it will only distract you
18:46 rubenwardy I definitely feel like you're overcomplicating this
18:47 Guest54 well, as far as i am aware this is the simplest way to both reduce spurious re-downloads and download everything you want.
18:48 Guest54 you can get very close with a much simpler solution if you either accept you will not have an up-to-date download (i.e. the world freezes) or you download stuff a bit too often if the stars align
18:48 Guest54 (which is why i am saying to not do the complex thing)
18:49 Guest54 as far as i see it, pretending the world freezes will work as long as no releases are deleted between time to check and time to use
18:53 proller joined #minetest
18:54 Fleckenstein https://media.discordapp.net/attachments/563966858462625822/1095266816902828032/FtSgIkSWYAAkb0t.jpg
18:54 Fleckenstein Guest54 this reminds me of you
18:55 Guest54 Fleckenstein yes, software version numbers are a lie
18:56 Guest54 semantic versioning, more like romantic versioning
18:56 Fleckenstein omg >w<
18:56 Guest54 you have a version number X.Y.Z and the first part changes whenever you hate your users a bit more
18:56 Guest54 the other parts go up when your love and affection returns, but go to zero as soon as the hate for people who like non-breaking changes reaches a, well, breaking-point
18:57 MinetestBot [git] rubenwardy -> minetest/minetest: Remove formspec_default_bg_color/opacity settings (#13419) 2fc7eb3 https://github.com/minetest/minetest/commit/2fc7eb3ea26af60feadc182a9d469d630314665b (2023-04-11T18:57:36Z)
18:57 Guest54 lizzy, it is a truth universally acknowledged, that a single man in possession of a good program, must be in want of a version number.
18:58 Fleckenstein well it's good I'm neither single nor a man
18:58 Fleckenstein git hashes are good enough
18:58 Guest54 that was a modified pride and prejudice quote
18:59 Fleckenstein i havent watched in way too long
19:01 Guest54 anyways, i should go eat something
19:02 Guest54 also i think the original quote is about having a fortune and wanting a wife, so it can only be the most biting sarcasm
19:02 Fleckenstein bon appetit
19:04 Guest54 s'il vous plaît pardonnez-moi lizzy, je ne parle pas la langue de la lune (merci quand même)
19:05 Guest54 i once helped a user who was speaking only spanish to get to the clamity nether roof alive and well
19:05 Guest54 using google translate
19:07 Fleckenstein yea
19:07 Fleckenstein i use DeepL to communicate with russian people
19:07 Fleckenstein don't you know a person who worked on DeepL or something
19:08 Guest54 did i say that?
19:09 Guest54 “know” is wrong when i have been socially reclusive so much
19:09 Guest54 in any wase, i have to go, see ya
19:09 sparky4 joined #minetest
19:10 Fleckenstein https://mister-muffin.de/p/BOIa.png
19:10 Fleckenstein cya
19:10 Guest54 good that you cover up who said that hehe
19:11 Fleckenstein yea you told me to not leak your name
19:11 Fleckenstein on this chat app
19:11 Guest54 i will give link to a funny vid in return
19:11 ___nick___ joined #minetest
19:11 Fleckenstein flameshot has a nice censoring feature
19:12 Guest54 Fleckenstein i believe this is a song about kalman filters https://yewtu.be/watch?v=_LjN3UclYzU
19:12 Fleckenstein will listen later
19:13 Fleckenstein still at the cuddly catgirl convention
19:13 Guest54 it also serves as an explanation of kalman filters
19:13 Guest54 it may be that it fits the crowd you are hanging out with hehe
19:14 MTDiscord <RisingLeaf> Guest54: wow, someone atually using invidous
19:14 Guest54 well it does not have ads by default
19:44 ___nick___ joined #minetest
19:45 PrairieWind joined #minetest
19:45 PrairieWind joined #minetest
19:47 ___nick___ joined #minetest
20:03 bodiccea_ joined #minetest
20:04 Guest5582 joined #minetest
20:04 Guest5582 joined #minetest
20:31 sparky4 joined #minetest
20:55 proller joined #minetest
21:09 TheNamelessWonde joined #minetest
21:12 Guest54 joined #minetest
21:12 TheNamelessWonde left #minetest
21:23 TheSilentLink joined #minetest
21:26 rubenwardy pushed now
21:44 libera-staff joined #minetest
21:55 Desour joined #minetest
21:57 TheNamelessWonde joined #minetest
22:06 TheNamelessWonde hi
22:07 sparky4 joined #minetest
22:10 TheNamelessWonde left #minetest
22:14 Guest54 joined #minetest
22:19 Desour joined #minetest
22:21 Guest54 uh, question: should i try to name mods very general if they solve a general problem or specific?
22:21 Guest54 like “utf8” is probably a mean name to squat on if you encode and decode utf8?
23:34 fluxionary Guest54: names should be descriptive and memorable if possible. the name utf8 seems suitable for that feature. it's useful to search the CDB to see if there's already anything w/ similar names

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