Time Nick Message 04:37 MTDiscord I think you have hit the nail on the head with that kyle56. If you don't keep out certain types of people from a community, then you can end up with something much worse than an overly exclusive community. 04:42 MTDiscord I don't know that much about the forums, but what you say is true in a general sense, which I consider much better. :) 08:09 m33 calcul0n_: thans, I was advised to use valleys on #minetest-fr too and it creates lovely :) 08:09 m33 so far minetest looks pretty good to me, btw I'm a total beginer so I'm basically running+jumping and chopping wood for now ;) 09:30 m33 The Whozzy's tutorial if useful 11:29 MinetestBot independent56: Aug-19 22:34 UTC OMG lol. didnt know someone had posted a screenshot of that server there. thats kinda funny but at the same time i kinda wish he didnt do that. i guess i should use a sqlite viewer on my backups for that day to see just what was in that toolbar that needed to be cencored LMAO. 11:32 independent56 !tell kyle56 Oh, just the normal furry vore tools used for a very niche type of roleplay. I have backups of them if you need at https://imgur.com/a/0HugIY8 . For me, the hotbar was just the tip of the iceberg; there's just so much weird stuff in the screenshot, like the roof being too low, the weird font, the invasive yellow text, i thought it was 11:32 MinetestBot independent56: I'll pass that on when kyle56 is around 11:32 independent56 satire. Very NSFW satire. 11:32 independent56 Hmm, it seems this bug only occurs when someone uses the bot earlier in the day 11:32 independent56 I think there's something going on with the date-check. 11:35 independent56 Damn, message didin't send 11:35 independent56 !tell kyle56 it was so crazy i thought it was satire. Very NSFW satire. 11:35 MinetestBot independent56: I'll pass that on when kyle56 is around 11:35 independent56 ? 11:35 independent56 This bot is too fickle 11:37 independent56 Scroll from the bottom to the top and watch the activity slowly die away: https://irc.minetest.net/minetest/ . It goes from black with a massive community to a thin, strained struggle for activity 15:24 sfan5 people mostly moved elsewhere 15:27 celeron55 yeah the "phenomenon" is extremely simple to characterize: discord was released in 2015 15:29 celeron55 you do need to sum up #minetest and #minetest-hub though. the activity moved between those first 15:42 MinetestBot kyle56: Aug-20 11:32 UTC Oh, just the normal furry vore tools used for a very niche type of roleplay. I have backups of them if you need at https://imgur.com/a/0HugIY8 . For me, the hotbar was just the tip of the iceberg; there's just so much weird stuff in the screenshot, like the roof being too low, the weird font, the invasive yellow text, i thought it was 15:42 MinetestBot kyle56: Aug-20 11:35 UTC it was so crazy i thought it was satire. Very NSFW satire. 15:49 kyle56 huh didnt even know he leaked the chat too. i guess i have to chew him out over that. already did via signs about posting those screenshots in the first place. he doesnt seem to realize i would like to distance myself from the cesstest 'community'. to explain some things tho, the font is his device settings. the yellow text is my creative plot mod that is inspired by the plotsquared minecraft plugin. which i probably should make 15:49 kyle56 smaller. i'd hate to do it but at this point im thinking of just banning all users who found my server through the serverlist. well except for one whom i am good freinds with. 15:52 MTDiscord :juanchi_face: 16:00 kyle56 hi 16:00 independent56 Yeah i was reading the chat logs 16:01 independent56 For this exact reason, a sever i used to play on says it's good practice to hide the HUD and Chat using F1 nd F2 16:01 independent56 (also screenshots are cleaner) 16:01 kyle56 good point but not sure how to do that on mobile 16:02 independent56 Walk back and crop, i guess, but that still leaves the central cross 16:03 independent56 What exactly is "cesstest"? 16:04 kyle56 dysphemism for minetest 16:07 independent56 makes sense 16:07 independent56 Certain communities just won't come together 16:08 kyle56 well i think my issue with minetest community is that its poorly moderated 16:09 MTDiscord you could also try giving the moderation feedback instead of jumping to accusations and dysphemisms 16:10 kyle56 i mean i kinda do but i admit its not in some sort of feedback form. rather just in the chat sometimes 16:11 independent56 Minetest is FOSS, so you're free to make a fork if you like 16:12 kyle56 thats what i want to do. however a certain person on the forum with a special role tried to scare me away from doing that. unrelated to the software license just in case thats what you think. of course i'd respect the license. 16:12 independent56 Minetest does have a troubled history with a very specific fork 16:13 kyle56 when my server is ready, i intend to direct people to a custom download with my own config settings so they dont see the official minetest server list. maybe even some altered main menu lua. 16:13 MTDiscord I'm a moderator on the forums. If you have an issue with a post on the forums, please report it and I will take a look. 16:15 kyle56 well i guess it might be too late for that unless you can see the deleted threads and posts. after all that hostility i had decided i wanted my account and threads and posts of mine deleted 16:15 MTDiscord minetest is more of a game than an engine, so of course it's going to have strict moderation regarding content that is seen as inappropriate for ages 13+ 16:15 MTDiscord (This is bait) 16:16 independent56 so i can't make my nightmare fuel game? 16:16 independent56 Don't worry, i was 7 when i watched my first nightmare fuel on Youtube 16:16 kyle56 oh i agree. its misleading to call it a game engine like some do. 16:16 independent56 It's a finnicky lua interpreter 16:17 independent56 minetest.register_block is not a function! 16:17 MTDiscord I recommend you to check out Godot if you want a FOSS engine 16:17 MTDiscord Unity is also decent 16:17 kyle56 oh but i have. i love godot. made some [redacted] games with it. 16:17 independent56 It's actually a godot-created app 16:17 MTDiscord Unreal Engine works too if you're into that 16:18 MTDiscord kyle56: it's pretty well known that the forums are poorly moderated and frequented by mostly toxic individuals, unfortunately there's not much we can do about it but pretend that the forums don't exist 16:18 independent56 If you know what you can do to fix it, feel free to ask to be a moderator 16:19 * independent56 checks if roller is a moderator 16:19 independent56 hmm, seems not 16:20 independent56 Yeah, go ask, you might be able to make a change 16:20 independent56 Send the odd strongly-worded PM or two 16:22 kyle56 my reason for useing mintest tho is so i dont have to develop a network protocol and build other things from the ground up. i use it because its kinda like roblox except i can host my own server. 16:23 MTDiscord Platform. Its a game platform. 16:24 independent56 Gomake is technically a game engine engine 16:24 independent56 because gomake is made in gomake 16:25 MTDiscord Yes, it's a game platform. 16:25 MTDiscord I don't think that game engines must be self hosting 16:26 MTDiscord The official forum, serverlist and ContentDB instances are moderated. You can however host your own / skip these services entirely. 16:26 MTDiscord it's recommended to skip the forums nowadays 16:26 ROllerozxa i56: I'm unsure if "ban half the active members" would go down very well, but I guess it's worth a try 16:27 kyle56 platform might be a better word tho to me it makes me think of a centralized system like social media or roblox. so perhaps the serverlist is a game platform. 16:28 independent56 ROllerozxa: So you're saying the MT Forums are becoming  a stack overflow? 16:28 kyle56 ROllerozxa: well i think if the outcome is a net positive then its worth it :) 16:29 MTDiscord independent56: Your view on StackOverflow is skewed. 16:29 MTDiscord what part of the community do you want to remove btw 16:29 independent56 the toxicity of it 16:29 independent56 People should be civil and buisnesslike 16:29 MTDiscord "toxicity" 16:30 independent56 And if you think otherwise, you're wrong and should go ask noob questions on stack overflow 16:30 kyle56 the ones who attacked my server and try to scare me from making a fork 16:30 MTDiscord People on SO are generally the most "civil" and "businesslike" I have seen. 16:30 independent56 My pool is also toxic despite having 6 ppm of chlorine 16:30 independent56 everything has an inate toxicity level 16:30 MTDiscord independent56: been there, done that; now that I look back, I see how stupid my questions were and how the reaction, given SO's purpose, was justified. 16:31 MTDiscord The toxicity of content is highly subjective. The only objective measure of toxicity is how people behave, which has a lot more factors involved than just the subject matter people want to call out as "toxic". 16:31 MTDiscord I think this is subjective matters 16:31 independent56 You're as smart as you are because someone was untoxic enough to handle your basic annoying begginer questions 16:31 independent56 I personally haven't seen very much toxicity on the forums 16:32 MTDiscord People need to stop thinking of SO as some code writing service. Its purpose is to be a wiki. Imagine going onto a wiki "we need an article on how I can do ". 16:32 independent56 Except for a small smettelling of threads 16:32 MTDiscord Toxicity on the forums isn't so much pervasive as it is just highly overrepresented. 16:32 MTDiscord It's just really easy to see the ragequit or the flamewar threads. 16:32 critr toxicity is easy to define. "illegal, abusive, or destructive" 16:32 independent56 ED IS THE BEST EDITOR 16:33 independent56 NOT VIM OR EMACS 16:33 independent56 https://forum.minetest.net/viewtopic.php?f=54&p=428035#p428035 16:33 MTDiscord independent56: First of all, no, that is not quite accurate. Much of what I learnt comes from (1) painful trial and error and (2) self study. SO is simply not the place for beginner questions for the most part. 16:33 MTDiscord It is easy to define using those words, however defining those words, subsequently, is quite the rabbit hole. One which I think getting into would probably lead to a lot of said toxicity at some point. 16:34 MTDiscord if ed is so good then why did they make a better sequel (vi) 16:34 MTDiscord i56: I believe the conclusive work on the subject of editors was already https://www.xkcd.com/378/ 16:35 MTDiscord nano is for nuubz 16:35 MTDiscord (Also the framing of "real programmers" is kind of ironic because somebody in a purely "programming" role can generally use whatever tool has the most useful features, where as it's somebody in a sysadmin role who needs to be prepared to fix config files on a deeply broken system with only primitive editors available) 16:36 independent56 Maybe SO should say that it's for advanced users 16:36 independent56 Or fix its community 16:37 independent56 Anyways, i'm going to ask how to convert this obscure minecraft mod into minetest from the binary alone 16:37 independent56 (/j) 16:37 MTDiscord Yes, that should probably be communicated more clearly. 16:37 independent56 Do you want to see my stack exchange question which was the only one without -1 points? 16:38 MTDiscord Technically it isn't really for advanced users, it just happens that (1) many of the noob questions have been asked and answered already, and will probably be closed as a duplicate (always do your homework before bothering others to) and (2) noobs (esp. younger kids) tend to not know how to ask a good question. SO has something like a "guide" for that but it doesn't really seem to be working terribly well. 16:38 independent56 Here it is anyways: https://aviation.stackexchange.com/questions/88453/do-pilots-intentionally-crash-in-a-simulator 16:43 independent56 I have a mod idea: PHPBlocks. Connect it to digilinies and write PHP in it. You can then "run" it 16:44 independent56 and it will have one of 50 random unexpected effects from 10 hackers "joining" your world to exploding 16:45 kyle56 i had a similar idea but for BASIC. or something like BASIC. with some precautions to make sure crashing the server cant happen like it can with the luacontrolelrs. 16:46 independent56 No, not running another language, that's for my other mod idea: https://gitlab.com/56independent/lispblocks 16:46 independent56 I mean literally doing unexpected things of varying worseness 16:59 kyle56 kinda funny that we both have the same numberes at the end of our screen name 17:02 independent56 yeah 17:02 independent56 I chose them years back when gmail asked for my username and shoved on 506 17:02 independent56 I lost the 0 eventually 17:03 kyle56 i chose mine psudorandomly in my head when thinking of a new irc name 17:04 kyle56 it makes a certain someone angry but i like to change my usernames every so often 17:04 independent56 yeah, i'm angry because you misrepresented my brand identity /s 17:10 MTDiscord It's annoying when somebody presents as somebody new and unknown, and then later eventually has to "merge" their identity with an existing one, and everybody has to suddenly factor this new information into the reputation you've built under the new identity. 17:11 independent56 maybe that's the point :p 17:11 MTDiscord In some ways it's better if you just have multiple independent personae and keep them fully compartmentalized :-) 17:11 independent56 It's about time that i say i'm a programmer... a very old one 17:11 independent56 The final one, if you get my drift 17:12 MTDiscord Ha, that seems hella unlikely. 17:12 MTDiscord If you're final that makes you immutable, which is a bad trait for a programmer to have. You need to be mutable to be able to learn new things. 17:12 independent56 fine then 17:12 independent56 How come it seems unlikely? What did i change about my persona which made this seem so improbable in your eyes? 17:13 independent56 Anyways, could you send me the 20 line JS lisp parser? I need to figue out the actual parsing of my lispblocks mod 17:15 MTDiscord I can't share my lisp parser, it's part of proprietary code for work. 17:15 MTDiscord I think I could explain the general approach I used though. 17:15 independent56 Thanks 17:15 independent56 Because i don't trust ChatGPT after that time i asked it to make a brainfuck parser it made a memory leak (probably) 17:16 independent56 https://sparkling-pony-34d160.netlify.app/public/brainfuck/ You can try it if you dare 17:18 MTDiscord Basically I define each operation with a function that's passed an expression subtree as a function, so like the addition operator + is defined like (a, b) => a() + b(), so I have to evaluate the sub-expressions to get their resultant values. This also lets me do short-circuit, so defining or as (...x) => x.reduce((a, b) => b || a(), null) or something lets me use ['or', a, b] as "if not a then b" basically. 17:18 MTDiscord I think I just used JS arrays for the code structure and the first member of each array is evaluated as an operator/function, and the subsequent ones were evaluated as its arguments. 17:19 independent56 Oh that makes it so easy now i think of it 17:19 MTDiscord I don't remember (it was a while ago) but I think since I'm working with a pre-parsed JS object, I just lazy-interpret the tree, i.e. I don't actually check whether a section is even structurally valid until I go to execute it... 17:20 independent56 I was going to use regex to invert function headers and then insert commas between arguments somehow and parse that as lua, but your approach feels a lot less childish 17:21 independent56 plus people won't get away with putting inline lua 17:21 MTDiscord For each execution I have both a tree and a context. The context provides opportunities to extend the language, e.g. I have a ['let', {key: [expr1]}, [expr2]] feature that lets me define a new operator/function named key as expr1, and then evaluate expr2 with that added to the child context it runs under. I didn't allow defining of functions (yet) so currently it's just used for consts basically. 17:22 MTDiscord For a "serial" format (e.g. the text/AST transformation part of the problem) you could use lua serialization or JSON about equally well in MT, and MT handles both for you pretty nicely. I think JSON might be a bit safer (for arbitrary user input), and the structure constraints might be a bit better, and the format is a bit more likely to be known by programmers who are NOT specifically lua/MT modders. 17:23 MTDiscord If you want to get ambitious, LISP lends itself pretty well to designing custom graphical editors, but that's quite a rabbit hole, especially in formspecs 😄 17:24 independent56 Intresting idea 17:24 independent56 I'll see how i can go about iplementing that 17:36 MTDiscord It's not hard to make a lisp interpreter that can just execute expression trees. It's a bit harder to allow the language to be extended. The nice thing about lisp is that once you grasp simple extensions like functions, fancy ones like macros are not that much harder. 17:36 independent56 hmm 17:37 MTDiscord You CAN of course use lisp without such extensibility, and there are valid use-cases for it (in my case, I needed a specifically non-turing-complete subset because I wanted to be able to ensure finite-time halting) but of course the extensibility is a big part of the natural draw. 17:37 MTDiscord In my case I was mostly leveraging homoiconicity to make the language easier to define at all, rather than to make it easier to extend. 17:38 MTDiscord This wasn't even my first encounter with Greenspun's Tenth Law, though I was MUCH more efficient at it this time around. 17:43 kyle56 who is the one who runs the irc archive thing? 17:45 MTDiscord Same IP as the serverlist, so I think that means sfan5 runs it. 17:45 MTDiscord I assume you mean irc.minetest.net, as there could be other archives. 18:02 sfan5 yes, me 18:06 kyle56 well thats good to know. i might contact you in private with a question i have. 21:22 kyle56 this thingy is pretty cool https://gist.github.com/Badgerati/3261142 i wonder what kind of uses it could have in minetest 21:25 MTDiscord kyle56: I prefer my implementation at https://github.com/TheAlgorithms/Lua/blob/main/src/string/distance/levenshtein.lua 21:28 MTDiscord swear filters, word games. I decided not to use it in quikbild because there are too many words that are very similar, but distinct. Its better for long strings. 21:28 MTDiscord could be used for suggesting chatcommands if the user made a typo 21:29 MTDiscord cmdlib uses a trie which is inferior if the typo happened early on (but much more efficient; however we could now do this in the async env) 21:34 kyle56 yaeh its good for typos. perhaps even intentional ones 22:10 kyle56 anyway, luatic, if i open source my mod that uses that algo i might use yours instead since it has a license. 22:14 MTDiscord kyle56: Not to brag, but if you're looking for decent algo implementations in Lua, my repo is the place to go. All algos there are decently freely licensed, unit tested, well-commented and reasonably efficient (for example here my impl leverages the observation that you only need to store the last row of the matrix, which improves memory efficiency from O(n²) to O(n)). 22:14 MTDiscord that's not luatic 22:14 MTDiscord hehe 22:14 MTDiscord wait wtf you chagned you actual name too 22:14 MTDiscord thats deltaforce 22:14 MTDiscord no i'm luatic lol 22:14 MTDiscord oh what the fuck 22:14 MTDiscord dude, I hate you 22:14 MTDiscord discord usernames are unique lol 22:19 kyle56 luatic: are you the one who made the b3d reader lua? because that has been very useful for one of my mods. 22:20 MTDiscord kyle56: I'm the author of modlib, yes :) 22:22 kyle56 nice. i was able to use that to get the position of the tails on the animalia b3d models so that players playing as them can raise their tails with an item. 22:22 independent56 How would i read from an arbitary text file in a mod's directory? 22:22 kyle56 how DARE you ask noob question!!! /s 22:23 independent56 well i don't know what search term to use in lua_api 22:23 independent56 file returns too many results 22:23 MTDiscord io.read(minetest.get_modpath(minetest.get_modname()) .. filename) or something like that, i have the io function wrong 22:23 MTDiscord Lua builtins: io.open, handle:read, handle:close 22:23 independent56 Thanks! 22:24 MTDiscord see luatics comment for proper reading 22:24 independent56 I was about to use from_file(), which was called "experimental" which seemed strange. it was under areaStore 22:24 MTDiscord that's for deserializing area stores 22:24 MTDiscord reading them from a file 22:24 independent56 yeah, i thought it was unrelated 22:24 MTDiscord side note: you might want to be careful about errors (unless errors for you always mean crashing Minetest) 22:25 independent56 thanks 22:25 MTDiscord if an error prevents the :close from being issued, you might be hogging the file descriptor until the garbage collector kicks in 22:25 cryne Is the #minetest Matrix room active/working? I noticed that it seems like an IRC bridge channel, but my message(s) there don't appear in the IRC logs. 22:25 independent56 Python always says to use a with statement for that issue 22:26 MTDiscord Yeah, modlib has a with_open function which works similarly, see https://github.com/appgurueu/modlib/blob/e0648730121453ac4f8b7c2affece8cfef5c2ea3/file.lua#L27-L39 22:26 MTDiscord cryne: matrix to libera bridges where turned off at liberas request 22:26 MTDiscord Rough estimate: If you use modlib, you can get half as bloaty as Python, but in Lua! /s 22:26 MTDiscord see https://matrix.org/blog/2023/07/deportalling-libera-chat/ etc 22:28 independent56 TIL there's a whole another world of chat on matrix 22:28 independent56 thanks 22:28 independent56 i'll probably go for a more spartan solution 22:28 independent56 but if the spartan is too spartan, i'll be happy to try, maybe even now 22:29 cryne wsor4035: thank yoou 22:31 independent56 i wonder if we could "plumb", forgive my inexperience 22:32 independent56 I've been introduced to this new terminology 10 minutes ago 22:34 cryne Anyways… I'm currently a bit confused about the block format. Given this https://bpa.st/EDOQ block - which is rendered properly in Minetest, the node metadata (I'm following this doc https://github.com/minetest/minetest/blob/7b3ed3200325ce913a6a2d884ae1ba1ccb08aad5/doc/world_format.txt#L398) starts at `0x14a`. When unpacking this (using python's zlib), the packed data is just a single Null-Byte. Shouldn't there at least be one `u8 version` and one `u16 count o 22:50 independent56 Just before i try, would saving a luafile and dofiling it whilst a mod is running run that lua code? 22:50 independent56 Seems a bit of a stretch for me to do that hack though