Time Nick Message 09:49 mrkubax10 After converting my world to MineClone2 from MineClone5 every barrel because unknown node. Is there a way to easily fix that? For example by changing node ID or something 09:50 MTDiscord register an alias? 09:51 mrkubax10 yeah that might work 09:51 mrkubax10 s/because unknown node/became unknown node/ 12:29 jonadab Yeah, alias is likely the way to go there. 19:35 cheapie I might have to look into how hard it would be to get finer control over power/braking effects, along with more frequent speed sensing (more often than once per meter), on these carts... 19:36 cheapie I rewrote my cart speed controller Luacontroller program thing so it auto-tunes now - it's a /bit/ more stable than my previous best effort at tuning it by hand, but still nowhere near where I'd like to see it. 19:38 cheapie It can run with a setpoint of 2m/s and not stall now, so I guess that's better than the old one tended to go - although when set for that it's still varying as low as 0.8m/s and as high as 2.5. 19:40 muurkha are you PID-controlling minetest carts? 19:40 * cheapie nods 19:41 Desour how do you get the cart's speed? is it a digilines cart? 19:41 cheapie Desour: Digilines rail from https://cheapiesystems.com/git/mesecons_carts/ 19:43 Desour oh, cool! 19:45 cheapie muurkha: It gets even sillier, at one point during development I had it graphing a bunch of stuff too. 19:50 muurkha that's useful 19:51 muurkha how else would you debug PID controller autotuning 19:51 * cheapie returns to adjusting the modem-sound-thing 19:59 cheapie Here, a fun Luacontroller program to try out (the latter thing, not the cart one) - expects a digilines noteblock on the channel "nb", then give it a mesecons pulse on any pin and enjoy: https://gist.github.com/cheapie/600fad39e15d6e022fce3c2d4fc2b9df 20:00 cheapie Alternate version, for those who could afford decent modems back then: https://gist.github.com/cheapie/e185b3002bf0ab5c2c471d30585dfd19 20:01 Bombo i got a prob with animalia: whenever i join the server it crashes: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'animalia' in callback luaentity_Step(): ...e/minetest/.minetest/mods/animalia/api/behaviors.lua:534: bad argument #2 to 'random' (interval is empty) 20:01 ShadowBot https://github.com/minetest/minetest/issues/2 -- Burned wood 20:02 Bombo the code is: local width = ceil(self.width or 1) * 2 and 534: x = pos.x + random(width, -width) 20:02 Bombo width seems to be 2 20:03 cheapie Is your copy up-to-date? I'm not seeing that at line 534, it's a few lines earlier. 20:04 Bombo well i added debug ;) 20:04 Bombo ...lines 20:04 Desour random(width, -width) is causing this. the first arg has to be smaller than the 2nd 20:04 Desour (I've seen this exact bug somewhere recently) 20:05 cheapie Is that one of those works-in-LuaJIT-but-not-plain-Lua things? I just tried math.random(10,5) here and got 7 (and no crash). 20:06 cheapie Yeah, just tried it in plain Lua and it crashed. 20:07 muurkha heh 20:11 Bombo hmmm so maybe we could change it to random(-width, width) 20:12 cheapie Probably. Someone already reported the issue at https://github.com/ElCeejo/animalia/issues/60 - I added a comment with what I found there, and I'm sure if you can fix it then a PR would most likely be welcomed. 20:13 cheapie This probably does fix it but without any explanation as to /what/ it's fixing (in terms of symptoms): https://github.com/ElCeejo/animalia/pull/55 20:23 Bombo seems to work, thx for finding it ;) 21:45 independent56 I have a mod idea but it might be more effort then it's worth https://rentry.co/bptpc 21:46 independent56 I still think it'd be cool to have Lisp in Minetest though. It opens the door to other languages, and when you least expect it - PHP! 21:48 MTDiscord The biggest practical example of "lisp in MT" I've seen is the Loria game, which is written in Fennel, a LISP dialect that compiles to Lua. The lisp part isn't exactly "in" minetest, of course, but it does prove that at least there's a potential audience for that sort of thing. 21:49 independent56 Oh, intresting. I'd like that 21:50 MTDiscord I wrote the core of a lisp interpreter in like 20 lines of JS once, which executed LISP from JS array objects (you could use JSON as the serial format). It's not too hard to build an interpreter for a basic LISP-like language, and then you just inject more and more components and such. 21:50 independent56 I've always like Lisp as a "pure" language; it has such a simple syntax that anyone can learn it in 15 minutes (especially scheme). The language then relies on the functions, which are then way easier to learn and implement 21:50 independent56 Exactly; it's a way of making me look smart and like a good mod developer when i'm just a teen with no idea how to program at all 21:50 MTDiscord The elegance of it is what makes it so powerful, and so utterly intractable to the average human. 21:52 MTDiscord LISP is like the String Theory of programming. A single, simple, elegant core, and then 500 pages of mind-boggling abstract math, and then the natural order of the universe just arises on its own. 21:53 independent56 Watch out with the preaching: https://xkcd.com/224/ 21:53 MTDiscord you forgot https://xkcd.com/297/ too 21:54 independent56 THis is so true because i'm 17 and have no idea what i'm doing 21:54 independent56 I first touched the language when i was 15 21:54 independent56 beautiful and my 8 and 9 keys still have those polish marks 22:06 MTDiscord if you want to get into Lisp, I recommend reading Structure and Interpretation of Computer Programs 22:07 MTDiscord That's the like "seminal" work on LISP, right? 22:08 independent56 I did try reading it but fell asleep a quarter of the way through 22:08 independent56 It was a fun read though 22:08 MTDiscord I get the abstact concept but I've never really gotten very far into actually making practical working software in LISP. There's so much real-world shit you have to deal with an it kind of spoils the elegance before you even get a chance to enjoy it. 22:08 independent56 which is why my mod is designed as an abstraction layer; it makes it far easier to make procedural code because it's harder to just write the function body in the code because the function body means you need to define new functions 22:12 MTDiscord Warr1024: I suppose so. As an educative work it has had a large impact. It is definitely one of the legendary books (K&R, Dragon book (on compilers), SICP is the "Wizard" book). 22:13 independent56 i love these nicknames 22:13 independent56 This channel might as well be called the "independent56 emits stupid ideas channel" 22:13 independent56 /j 22:14 MTDiscord It is a major bummer how Lisp is even more niche than Lua: https://survey.stackoverflow.co/2023/#technology-most-popular-technologies 22:16 independent56 How is that a bummer? Generally, smaller communities make warmer communities. 22:16 independent56 Compare the BTS community and the Explain XKCD community 22:17 MTDiscord How am I supposed to compare a Korean boy band to a web comic commentary 22:17 independent56 because they're both internet communities of varying sizes 22:18 independent56 Okay, compare the mineclone and minecraft communities 22:18 independent56 Ok wait mineclone is a bad example, maybe just the minetest modding comunity 22:19 MTDiscord The infamous "Blub Paradox" (a.k.a. "aikido for startups") article points out that underappreciated technology can become a competitive advantage. If your competitors are mocking your tech choices because they don't understand, good, it'll give you an edge 😏 22:20 MTDiscord (That article has been widely panned for its mocking tone but I haven't seen any good refutation of the idea that the Blub Paradox is real, and I run into it all the time in real life) 22:23 independent56 The bulb paradox: having a shorter life means you burn brighter 22:24 independent56 I just don't want to use the wrong niche language, you see. Damn! i should have learnt COBOL for that thick wallet, not nerdy perl! 22:25 MTDiscord Learning a legacy-only language like COBOL would be good for job security, both for you and for your therapist. 22:25 independent56 yes 22:25 independent56 which is why i also know Javascript 22:26 independent56 And i basically know Java 22:26 MTDiscord They don't make therapists strong enough for Java or Javascript. 22:26 MTDiscord Warr1024: The problems start when all that "power" you get at a language level gets you nowhere because there are no powerful libraries or APIs for you to use. 22:26 MTDiscord Heck, I've had to reinvent sorted sets in Lua. 22:26 independent56 Wait, what does it mean to "know"  a language? To have made? To have learnt to bodge? 22:27 MTDiscord Part of the reason why there are no poweful APIs to use is that LISP is powerful enough that a lot of things we'd use libraries for elsewhere are considered "trivial" in LISP and nobody bothers distributing the solutions. The dark side to that of course is that it may be trivial to implement but not always trivial to understand and that's not very helpful to people who don't already have their own repertoire of solutions. 22:27 MTDiscord You actually see a lot of that "trivialization" issue in Lua, as evidenced by all the wheel-reinventing we do. 22:28 MTDiscord Big Brain: Buy your therapist a gym membership so that they're always strong enough to handle your shit. 22:28 MTDiscord i56: yeah, once you know a few languages, you start to realize that you might actually "know" a lot more. 22:29 independent56 Because, i mean, i can probably stumble my way in any language i come across 22:29 MTDiscord Like, I've worked in so many scheme derivatives by now that I might "know" scheme already, and adapting to it is just as much syntactic detail shit as I deal with switching between JS and Lua sometimes. 22:29 independent56 I did get a Java-based game of life going without much java know 22:29 MTDiscord obligatory Alan Perlis quote: 22:29 MTDiscord "A language that doesn't affect the way you think about programming, is not worth knowing." 22:29 MTDiscord http://www.cs.yale.edu/homes/perlis-alan/quotes.html 22:29 MTDiscord Once you reach the "I could stumble through anything at this point" then yeah, you've reached the next level at which you just stop trying to keep lists. 22:30 MTDiscord oh nice i've reached the next level 22:30 independent56 me too! 22:30 independent56 I feel so achieved. This is the true state of being a programmer; thinking you're crap one hour and god the other. There is little in-between 22:30 MTDiscord I stumble through everything anyways, so whats the difference? /s 22:31 MTDiscord If you ever need a good pick-me-up, you can ask me. If you need a good okay-put-me-back-down-again, ask basically any compiler. 22:31 * cheapie waves, mid-stumbling-through this elevator mod 22:31 cheapie It crashes slightly less often now! 22:31 MTDiscord I need to say though: "Any language" means "any language that's reasonably much like the languages I know". 22:32 MTDiscord For example, Rust seems to introduce plenty of new concepts and enforces them strictly, and I think I'd have a harder time "stumbling through" it than stumbling through, say, Kotlin, which I can pretty much see as syntactic sugar. 22:32 independent56 rust is a weird language 22:33 independent56 It's one of the fiew i can't bodge to some kind of wroking 22:33 MTDiscord It is very strict. 22:33 MTDiscord Rust tries to move as many errors as reasonably possible from runtime to compiletime from what I understand. 22:34 MTDiscord I think the most complicated thing I've written in Rust was a Brainfuck interpreter using an enum array for storing the program once it was read 22:34 MTDiscord You could probably "stumble through" rust if you had strong enough examples in the same codebase. Like, you could fix a bug if there are examples of correctly working versions of something parallel elsewhere, and the problems weren't too deeply dependent on rustisms. 22:34 MTDiscord You'd also probably end up just spending a lot of time learning the language in the process anyway. 22:35 MTDiscord "Stumble through" doesn't necessarily NOT mean "read a few stack overflows, and maybe a wikipedia article or two" 22:35 MTDiscord Yeah. But Rust does stick out in that it seems to have a different learning curve compared to many other languages. 22:36 MTDiscord Some parts of Rust are very intuitive and easy to pick up, but in my experience it's the subtle details that get you 22:36 MTDiscord It is probably pretty unique in its static analysis standards. It isn't just "another C-like", "another OOP shit", "another scripting language". 22:41 MTDiscord It needs its own "something-oriented programming" paradigm name. Maybe like ownership-oriented or something, what with the way it manages control of memory. 22:45 independent56 I've got the perfect one: alien-syntax-oriented-programmming 22:52 independent56 Is there a way for servers to connect to each other and do trading and cross-border travel? Can servers connect into a trade bloc yet? 22:52 independent56 I could make a mod for that ;) 23:01 MTDiscord You can use the HTTP API to create a hub for servers to coordinate mod-specific logic, sure. You can't easily send players to other servers though. 23:10 MTDiscord Use the minetest proxy 23:26 MTDiscord The question is, will it remain up-to-date, so is it a reliable thing to build a server on? 23:40 MTDiscord 🤷