Minetest logo

IRC log for #minetest, 2023-09-09

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

All times shown according to UTC.

Time Nick Message
00:57 kamdard joined #minetest
00:57 v-rob joined #minetest
01:03 lissobone Mo'ning!
01:15 smk joined #minetest
01:40 v-rob joined #minetest
03:24 Swift110-mobile Hey
03:39 YuGiOhJCJ joined #minetest
03:43 Lesha_Vel joined #minetest
04:00 MTDiscord joined #minetest
04:12 Alias joined #minetest
04:26 Edgy2 joined #minetest
04:27 fluxionary joined #minetest
04:44 YuGiOhJCJ joined #minetest
04:55 alex_ joined #minetest
05:14 Lesha_Vel joined #minetest
05:23 Boingo joined #minetest
05:30 est31 joined #minetest
05:32 hare_hare_yukai why do i see this variable using for true/false check in an if statement
05:32 lissobone Which one?
05:32 hare_hare_yukai when they want it not true they assign it ""
05:32 lissobone oh that's just lua
05:32 hare_hare_yukai some part in ctf
05:33 hare_hare_yukai why not false
05:33 hare_hare_yukai why ""?
05:33 lissobone maybe it's for nodes or itemstacks?
05:33 lissobone or not?
05:33 hare_hare_yukai no its just a local variable thats assigned false at the start
05:33 lissobone where is it?
05:33 lissobone tell me the mod, source file and line
05:33 hare_hare_yukai mods/ctf/ctf_modebase/match.lua
05:34 hare_hare_yukai line:46
05:34 lissobone restart_on_next_match = false?
05:34 hare_hare_yukai restart_on_next_match = ""
05:35 hare_hare_yukai i mean why is this assigned ""
05:35 lissobone my version doesn't have the "" assignment for some reason
05:35 lissobone maybe i need a newer version
05:35 hare_hare_yukai oh maybe im just missing something
05:37 lissobone https://en.wikipedia.org/wiki/Ruben_Vardanyan_(politician)
05:37 hare_hare_yukai lmfao
05:37 hare_hare_yukai why?
05:37 lissobone ruben wardy
05:38 hare_hare_yukai my face when
05:38 calcul0n joined #minetest
05:38 lissobone i've updated
05:39 hare_hare_yukai on the latest version its the same
05:39 lissobone "[NOTICE] Server will restart after this match is over. " .. restart_on_next_match
05:39 lissobone It's concatenated, though it's an empty string.
05:39 lissobone restart_on_next_match = param and (" ("..param..")") or ""
05:40 lissobone Looks like it can have the value of the command parameter for an optional extra message.
05:40 lissobone That's the culprit.
05:42 est31 joined #minetest
05:49 mmuller joined #minetest
06:10 jaca122 joined #minetest
06:26 Sobinec joined #minetest
06:58 mrkubax10 joined #minetest
07:03 Lesha_Vel joined #minetest
07:16 definitelya joined #minetest
07:25 s20 joined #minetest
07:50 lissobone left #minetest
08:14 TomTom_ joined #minetest
08:20 appguru joined #minetest
08:32 MTDiscord <luatic> lissbone, hare_hare_yukai: "" is truthy in lua
09:22 lissobone joined #minetest
09:36 est joined #minetest
09:58 Sobinec joined #minetest
10:05 lissobone joined #minetest
10:05 lissobone men, i need ur immediate assistance
10:06 lissobone when i start minetest it attempts to make a window (this may greatly help when studying the source) and then closes it and throws an error: X Error of failed request:  GLXBadContextTag
10:07 lissobone cuz i just installed trisquel gnu+linux-libre
10:09 erle lissobone i try to help
10:09 lissobone maybe something with the libraries
10:09 lissobone but i have all mesa stuff installed
10:09 erle lissobone, ensure you have glxinfo
10:09 erle do you have it
10:10 erle ensure you have curl, then execute the following command: glxinfo |curl -F 'arg=<-' https://mister-muffin.de/paste
10:10 lissobone oh yeah i see it
10:10 erle write the url to the chat
10:10 lissobone i have already executed it
10:10 lissobone i see cool numbers
10:10 erle for me the output is this https://mister-muffin.de/p/RZIx.txt
10:11 erle you see it has opengl 1.4 and shaders and stuff
10:11 erle and opengl es 2
10:12 lissobone https://mister-muffin.de/p/KjZk.txt
10:12 lissobone let's compare
10:12 celeron55 you could also install and run glxgears. if it doesn't work, then minetest surely won't work as no 3d graphics work at all. if it works and minetest does not, then the issue is something more involved
10:12 lissobone hmmmm the gears work fantastically
10:12 lissobone like swiss clockwork
10:12 lissobone (almost literally)
10:12 lissobone 2500 FPS
10:13 muurkha wow
10:13 erle okay, so for me this says: OpenGL renderer string: Mesa DRI Intel(R) 945GM x86/MMX/SSE2
10:13 erle for you this says: OpenGL renderer string: llvmpipe (LLVM 15.0.7, 256 bits)
10:14 lissobone sorry i was busy observing the gears
10:14 erle isn't that … uh … software rendering?
10:14 lissobone i'm back
10:14 lissobone maybe it is software rendering
10:14 celeron55 yeah llvmpipe is software rendering provided by the OS
10:14 celeron55 i'm not sure if MT will generally work with that or not
10:14 lissobone it worked before, i think
10:14 erle celeron55 it should
10:15 erle i can have even very slow shadows (haha shadows are always slow in minetest) with LIBGL_ALWAYS_SOFTWARE
10:15 erle lissobone, start the gears with LIBGL_ALWAYS_SOFTWARE=1 glxgears
10:15 celeron55 are more details available about the GLXBadContextTag error?
10:15 erle do they have the same fps?
10:15 erle or way less?
10:15 erle then try to start minetest with: LIBGL_ALWAYS_SOFTWARE=1 minetest
10:15 lissobone not much less, i just don't go all the way up to extreme graphics settings
10:16 lissobone quite bearable: usually 40 FPS
10:16 celeron55 i think generally if you run glxgears with hardware rendering you'll have vsync lock it at 60fps
10:16 erle if that *does not* work, there is an issue with the software renderer (or minetest, if someone broke mesa software rendering compat, which would be an amazing feat hehe)
10:17 lissobone i'm using the same 5.7.0 version like before, it just (for some reason) throws this error specifically on trisquel
10:17 lissobone hold on, i can eggshelly try to compile it myself and debug it with gdb
10:17 lissobone hold on lemme first start the gears
10:17 erle yeah so does it start with LIBGL_ALWAYS_SOFTWARE=1 or does it throw the same error?
10:18 lissobone glxgears are at the same 2500 FPS
10:18 lissobone minetest throws the same error
10:18 erle then it might be that your software rendering is pretty powerful
10:18 erle but also that it is somehow borked lol
10:18 celeron55 are you using the build of minetest that you made on your previous system, on the new system?
10:18 celeron55 you should definitely rebuild it if your OS has been updated
10:18 erle wow good question
10:18 lissobone it's the one trisquel provided
10:18 lissobone yeah i should
10:18 erle maybe trisquel sucks and you should compile yourself
10:18 lissobone i already did that before, i think
10:19 lissobone no, trisquel doesn't suck much (we'll see about that once i compile minetest)
10:19 erle i have *never* seen an app fail with mesa software rendering
10:19 erle lets see how much gears i get
10:19 erle what resolution where your 2500 fps gears?
10:20 lissobone uhhhh
10:20 lissobone if i do it fullscreen (1920x180) it becomes 370 fps
10:20 lissobone 1800*
10:20 lissobone 1080*
10:20 erle look, i get 30 fps for fullscreen glxgears on a 1400x1050 on my thinkpad
10:20 erle minetest also gets 20 to 30 fps if i'm not stressing it
10:21 erle i guess you probably *can* run minetest in software rendering mode
10:21 erle your computer may become hot though
10:21 lissobone i've ran it like this for months already
10:21 lissobone it's good
10:21 erle i mean minetest for me in not-software-rendering-mode
10:21 erle lissobone are you *sure* trinsquel is providing the drivers for your graphics card?
10:21 erle it might be a binary blob
10:21 erle i mean at least the firmware might be
10:22 lissobone yeah it did provide all the drivers
10:22 lissobone i installed it now and it doesn't like something
10:22 lissobone trisquel is fully free, there are no binary blobs
10:22 lissobone if there are, please report them
10:23 Sobinec joined #minetest
10:23 erle lissobone what GPU do you use?
10:23 lissobone '/usr/lib/x86_64-linux-gnu/libGLU.so', needed by 'lib/Linux/libIrrlichtMt.so.1.9.0.10'.  Stop.
10:23 lissobone something around nvidia gtx 960
10:24 lissobone i don't remember the name correctly
10:24 lissobone but it has 960 in the name
10:24 lissobone libGLU is missing: irrlicht demands it
10:24 erle does it have a free driver?
10:24 lissobone yeah, otherwise i wouldn't be writing this in pidgin
10:25 Krock locate libGLU.so  and symlink the thing if you have .0 version
10:25 erle if you have no libglu1-mesa or so (that's the debian name), install it?
10:25 lissobone oh yeah i already have it
10:25 lissobone just not the dev files
10:25 lissobone compiling
10:26 erle i mean if i am not mistaken that library detects what opengl extensions you have, so you should kinda have it
10:26 erle oh dev files i see
10:26 lissobone i've built irrlicht
10:26 lissobone now compiling minetest
10:26 Sokomine joined #minetest
10:26 erle you have a much faster computer than i have
10:26 lissobone cool
10:26 lissobone how to slow a computer down?
10:27 erle press the POWER button, it can slow it down to 0
10:27 lissobone but what about fractions between 0 and 1?
10:27 erle you can use cpulimit(1), but it's pretty ghetto
10:27 erle there is probably a better way
10:27 Krock lissobone: echo 0 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq >/dev/null
10:28 erle Krock, will 0 set it to the slowest freq?
10:28 erle you can also use chcpu to disable CPUs
10:28 Krock that or ignore the write command. in latter case, tr perhaps 800
10:28 lissobone minetest is compilin'
10:28 erle on a modern computer you should be able to disable every one but the first CPU
10:29 lissobone yeah i've seen that option in the bios
10:29 erle no, you can do it *at runtime*
10:29 lissobone that's unfortunately nonfree and not very replaceable
10:29 erle in linux
10:29 lissobone oh really?
10:29 erle i can make my core duo a core mono with one single trick
10:29 lissobone and in hurd?
10:29 erle man chcpu
10:29 erle maybe it has that too?
10:29 erle oh, it's part of util-linux lol
10:29 erle oh you are running minetest on GNU/hurd amazing
10:30 lissobone sorry, not yet (i was just curious)
10:30 erle i mean you aren't running it quite yet
10:30 erle oh also one very important thing for online gaming
10:30 lissobone i am yet to fully study the gnu hurd source code and let the freedom flow through me
10:30 erle google “en passant”
10:30 erle very important thing
10:30 erle if you think someone is cheating in an online game
10:30 erle first check if it was maybe “en passant”
10:30 ROllerozxa haha
10:31 ROllerozxa google en passant
10:31 erle it is very important!
10:31 erle source: chess.com
10:31 erle :P
10:31 lissobone very cool feature
10:31 erle yes en passant is amazing
10:31 erle you can get so many chess noobs with it!
10:32 lissobone i never knew chess developers hid it somewhere in the source code
10:32 lissobone thank you for enlightening me chess brother
10:32 erle i'm not your brother
10:32 erle probably
10:32 erle i have a bunch of siblings
10:32 erle but i think they'd physically come over with their computer problems
10:32 ROllerozxa wait I'm supposed to say the line
10:32 ROllerozxa holy hell
10:33 ROllerozxa new response just dropped
10:34 erle lissobone also try the exploit where you advance on the last line to a rook and then do a rochade/castling move (because the rook has not moved)
10:34 lissobone why is it an exploit?
10:34 lissobone it looks like a clever hack
10:34 erle i am not entirely sure if this is legal
10:35 erle i mean a promoted pawn gets *replaced* by a rook? or does it get *turned into* a rook?
10:35 erle did the rook ever move or not
10:35 lissobone in physical chess, it may or may not be the same rook
10:36 erle https://www.futilitycloset.com/2009/12/11/outside-the-box/
10:36 erle > So, legal, right? Alas, after much debate in Dutch and Belgian chess columns, FIDE revised its rules to refer to a rook “on the same rank.” Some people have no imagination.
10:36 erle damn FIDE
10:36 lissobone but in digital chess, i think it has to be random if both have been taken down
10:36 lissobone almost compiled mine tes t
10:36 erle why isn't it called mesetint
10:36 erle that's a good anagram
10:37 erle and meaningful
10:37 lissobone i think it used to
10:37 lissobone minetest_game used to be called like that
10:37 erle nice
10:37 erle i did not know!
10:37 lissobone but now it's just minetest_game
10:37 erle i looked for minetest anagrams yesterday
10:37 erle using an(1)
10:37 lissobone nestimet
10:38 lissobone 82%
10:38 erle the percentages given by cmake are generally lies
10:38 celeron55 yeah i originally called minetest_game mesetint, but if i recall correctly people complained about that name too much
10:38 erle i complained about it and was dismissed
10:39 erle celeron55 what was the complaint?
10:39 erle it's an awesome name
10:39 celeron55 don't remember
10:39 lissobone "Built target minetest".
10:39 erle giving it a horrible name after complaints is like NGE did it
10:39 celeron55 it was a different time
10:39 erle people were like “give us a sequel to neon genesis evangelion”
10:39 erle so the viewers get “end of evangelion”
10:39 erle where everyone dies
10:40 erle and turns into fanta
10:40 erle ._.
10:40 lissobone yoooo minetest's up
10:40 erle lissobone, now install LimeCone 2
10:40 erle does it start btw
10:40 lissobone thanx guys withou t you i could not have gotten the determination to compile it myself
10:41 lissobone aye it starts just like bef4
10:41 erle we did nothing but point out you are running your CPU hot
10:41 lissobone isn't much hot
10:41 erle lissobone is smoking the llvmpipe
10:41 erle what kind of cpu do you have anyway
10:41 lissobone meth
10:41 celeron55 if you have a modern high performance cpu, minetest will run just fine using llvmpipe. but it's kind of wasteful still
10:42 celeron55 the gpu would do the same job with less energy
10:42 lissobone it's something like intel i5-[iforgot]
10:42 lissobone lemme che chk
10:42 erle LANG=C lscpu |grep 'Model name'
10:42 erle Model name:                      Intel(R) Core(TM) Duo CPU      T2400  @ 1.83GHz
10:42 erle that's fast enough for everything actually except *really* shitty websites like the discord login page
10:42 lissobone ntel(R) Core(TM) i5-3570 CPU @ 3.40GHz
10:43 erle and how many cpu
10:43 lissobone Intel*
10:43 lissobone 4
10:43 erle you are far ahead of me then
10:43 erle enjoy!
10:43 erle lissobone, do you know this? https://maizure.org/projects/decoded-gnu-coreutils/
10:43 lissobone i'm not enjoying my cpu as much as i enjoy (almost) full freedom
10:43 celeron55 that i5-3570 is almost ideal for llvmpipe. lots of single thread performance
10:44 lissobone nope i don't know this yet
10:44 celeron55 but it's a bit old
10:44 erle it's pretty cool https://maizure.org/projects/decoded-gnu-coreutils/tac.html
10:44 erle celeron55 if no one fucks it up, minetest will run on “a bit old” computers forever
10:44 erle i mean that is actually the main value proposition for everyone i know who does not have a “gaming pc”
10:45 celeron55 (and by "a bit old" i mean it was released in 2012 :D)
10:45 celeron55 (probably 10x faster than erle's cpu though)
10:45 erle i can watch youtube, run minetest and i *could* run sway, but i think i only tried once
10:46 erle lissobone what's your fav minetest game
10:47 lissobone oh yeah i've seen that one about coreutils code structure overview on its gnu.org/software page
10:47 lissobone i just never got to take a closer look at it
10:47 lissobone i doubt if i have a single favorite game
10:48 lissobone warr1024 did a pretty good job at nodecore, but at the same time certain modpacks for mesetint can constitute for full games on their own
10:48 erle nodecore is both fascinating and evil
10:48 lissobone i've never asked for any help while playing it
10:49 erle celeron55 muurkha do you two actually like the nodecore way of things?
10:49 erle a was very amused when someone pointed out that in nodecore every mistake is your own damn fault
10:49 erle whereas in exile it is the fault of the environment (yeah, sure!)
10:49 lissobone when i play nodecore with friends, i sometimes feel a little bad for spoiling their experience
10:50 lissobone they just end up running around doing random stuff while i make concrete foundations for houses
10:50 celeron55 i haven't gotten far at all in nodecore. i get bored very quickly in it
10:50 erle i like repixture. it's like the teletubbie version of minetest mods.
10:51 celeron55 i guess i'm more of an environment than a game mechanics person
10:51 lissobone i remember one game
10:51 erle celeron55 i think that is the duality of nodecore players. either you get bored/frustrated or you build smelters out of nodes and computers out of prisms.
10:51 erle celeron55 ig “inside the box” is also not your thing?
10:51 lissobone it's called ketchupland
10:51 erle what
10:51 lissobone i never got its point
10:52 lissobone https://content.minetest.net/packages/danil_2461/ketchupland/
10:52 MTDiscord <luatic> have you considered the possibility that it might not have a point?
10:52 lissobone but the environment is funny
10:52 MTDiscord <luatic> @danil_2461 explain KetchupLand
10:52 MTDiscord <danil_2461> Uhhh Umm Err
10:52 MTDiscord <danil_2461> what
10:52 celeron55 i've played inside the box enough to get the feel for it but again, it's not really a way to spend a lot of time
10:52 celeron55 +for me
10:52 MTDiscord <luatic> lissobone doesn't get the point of ketchupland (and neither do i; is there a point to begin with?)
10:52 MTDiscord <danil_2461> me neither
10:52 lissobone i gathered a few tomatoes
10:52 MTDiscord <danil_2461> get ketchup, do stuff, have fun ig
10:53 MTDiscord <danil_2461> and mine
10:53 lissobone the inventory also looks fun
10:53 erle let me point out that lizzy once made a modification of mineclone 2 in which you could milk other players
10:53 erle i think to have fun there does not need to be a point
10:53 MTDiscord <danil_2461> i made that i thjnn
10:53 MTDiscord <danil_2461> i dont even remember
10:53 erle like you point a bucket at another player and it gets filled up (like with cows)
10:54 erle she also added moaning sounds and windows xp error sounds
10:54 erle it was pretty much pointless
10:54 erle except for a laugh
10:54 lissobone i made a gachimuchi mod with van darkholm sound effects and leather armor
10:54 erle what is gachimuchi
10:54 erle who is van darkholm
10:54 erle wait let me look it up
10:54 erle after all you prb looked up en passant
10:54 lissobone gachimuchi is muscular men in japanese
10:55 lissobone van darkholm is an artist
10:55 lissobone a performance artist
10:55 lissobone he gets hired for people to fulfill their fantasies.  Their deep, dark fantasies.
10:55 erle wikipedia says gachimuchi is gay porn actor
10:55 erle and van darkholm is kink.com adjacent
10:55 erle gib mod
10:56 lissobone you're off base
10:56 lissobone gachimuchi is an art genre
10:56 erle i wish there was a vore mod that was like pacman. some people are ghosts and some are pacman.
10:56 erle the pacman has to vore the pills and the ghosts have to vore the pacman
10:56 lissobone it involves muscular men and music remixes where sounds are replaced by manly moans (and slaps)
10:56 lissobone vore
10:56 erle it would be a funny 4 player game
10:56 erle 1 pacman and 3 ghosts
10:56 lissobone please don't remind me of anything inflation-related
10:56 lissobone btw is there an inflation mod?
10:57 erle > please don't remind me of anything inflation-related
10:57 lissobone i made a sex mod recently
10:57 erle > btw is there an inflation mod?
10:57 erle come on
10:57 erle you are setting us all up for failure here
10:57 erle either we remind you or we don't
10:57 lissobone i set up a landmine
10:57 lissobone and i will force you to step on it
10:58 erle if you keep making threats i will report you to the admins of this discord!
10:58 lissobone btw where are the discord-like mods on irc?
10:58 lissobone moderators
10:58 lissobone i've seen one on a minetest server
10:58 erle wdym
10:58 lissobone before him i thought that discord moderators were a joke
10:59 lissobone the ones who say "no spamming" and "no caps" and ban and kick for "staff disrespect" and other things
10:59 lissobone and who are generally unfunny
10:59 lissobone familiar with such?
10:59 erle no
10:59 erle respect must be earned
11:00 erle i am never on discord
11:00 erle not only it is non-free
11:00 lissobone me neither, i don't even have an account there
11:00 erle my computer lagged on the login web page
11:00 lissobone but i used to have it
11:00 lissobone btw why don't you enable librejs?
11:00 erle which is generally a sign of an incompetent webdev
11:00 erle like i know web development, i do it sometimes
11:00 MTDiscord <rollerozxa> "umm I don't use disckord because it is non-free 🤓"
11:01 erle ROllerozxa i wanted to try it out, but i can not register an account if my computer slows to a crawl from some assclowns probably mining bitcoins in my browser or so
11:01 lissobone umm i like to 🤓 people with whom i don't agree 🤓🤓🤓
11:01 lissobone don't try it
11:02 lissobone maybe try it with some custom client, but i still don't recommend interacting with it
11:02 celeron55 discord is like element/matrix but more polished and very proprietary
11:02 erle haha yes matrix is so damn unpolished and slow lol
11:02 lissobone the web client is just as nonfree as the desktop version
11:02 erle it's a bit funny
11:02 lissobone btw what about jami?
11:02 erle like sometimes when i want to amuse myself i used to go to the mojang bug tracker
11:02 erle but later, only the matrix bug trackers (for element and synapse) would provide humor
11:03 lissobone i'll go shopping (will return soon)
11:03 erle with bugs like ”exiting a channel with 5000 users lags the server” or so
11:03 erle (not a real bug, but the style of one)
11:03 celeron55 erle: what's your guess on which megacorporation will buy discord
11:03 erle celeron55 microsoft always buys everything
11:03 erle it will be microsoft discord before the decade is over
11:03 celeron55 yeah but amazon bought twitch. it's not always microsoft
11:03 erle i bet a single vegan burger on it
11:04 MTDiscord <rollerozxa> I'm gonna make a wild guess... yahoo
11:04 erle also microsoft has no real chat service right now, do they?
11:04 erle i mean they killed emesen!
11:04 celeron55 but yes, microsoft is a pretty good guess
11:04 erle have you seen the new github slogan lol
11:04 celeron55 they have a gaming platform with xbox and minecraft and all, and discord is targeted toward that
11:04 erle >  The AI-powered developer platform to build, scale, and deliver secure software.
11:05 erle like yeah, when i think github, i think “AI” and “secure” LOLOL
11:05 erle also thebiggest button above the fold is “start a free enterprise trial”
11:06 celeron55 the github landing page when not logged in is like a frigging movie
11:06 erle yeah lol
11:06 MTDiscord <rollerozxa> also yeah, the discord webapp is average modern webdev slop, literally scrolling in discord channels would lag
11:06 muurkha can you imagine if Microsoft was hosting both Minetest's source control system and Minetest's official chat system?
11:06 MTDiscord <rollerozxa> (on my old computer)
11:06 muurkha and decided it infringed Minecraft's copyright
11:07 erle what i don't get about chat services … besides whatsapp and the numerous other things using xmpp or being derived from xmpp (nintendo switch, fortnite, EA origin) – everything not built on xmpp has AMAZINGLY shitty bugs
11:07 erle like you are on a train and go through a tunnel and your message gets delivered thrice or not at all
11:07 erle a simple monotonous counter at each end makes computers handle that
11:07 muurkha that's kind of the fault of the XMPP protocol
11:07 erle but still stuff like slack and discord and so on have these bugs
11:08 celeron55 discord feels pretty reliable though. doesn't help with the fact that it's proprietary thoguh
11:08 muurkha Slack and Discord and Matrix have the freedom to change the protocol to fix them
11:08 muurkha IRC and XMPP don't
11:08 erle muurkha how is it the fault of xmpp if xmpp has none of these bugs and the others have all these bugs?
11:08 muurkha IRC has the same problem
11:08 erle muurkha xmpp pretty much evolves, but i think you don't get the point i was making here
11:08 muurkha you can work around it using a bouncer
11:09 erle muurkha i was complaining that everything built on xmpp has proper stream management and everything not makes the same stupid mistakes that can be already solved even without xmpp (in theory)
11:09 erle like i bet you know how to make a chat client with at-most-once-delivery semantics. uh, send an id for each message or so.
11:10 erle slack for some reason does not know, as an institution
11:10 erle i mean whatsapp is not xmpp
11:10 erle but i think they used it as a base at some point
11:10 celeron55 xmpp has a pretty bad public image, i'm not exactly sure why. as a protocol it's probably pretty polished by this point
11:10 muurkha XMPP is a protocol design from 01999.  it's built on the assumption that the topology of the internet changes when there's a power outage, which is rare
11:10 erle uh what
11:11 erle celeron55 it's used behind the scenes for all kinds of in-game gaming chats
11:11 muurkha an XMPP server is like a POP server rather than an IMAP server
11:11 erle muurkha wdym
11:11 muurkha it holds your messages for you until you connect to receive them
11:11 erle well, i recently was offline for months and i got my messages
11:12 muurkha this is fine if you have one computer
11:12 erle you may not be familiar with newer developments
11:12 erle when did you last look at xmpp internals?
11:12 muurkha years ago, indeed
11:12 erle yeah, so the thing is, xmpp is like http, people throw extensions at it and see if it works
11:12 erle and like http, it works generally (like many die and the surviving ones are mostly supported by everyone)
11:13 muurkha I don't think http works generally
11:13 erle that is the core criticism of the matrix devs basically, they want a system out of one design (but are incapable to provide it, look at the spec to see why, it contradicts itself at some points)
11:13 muurkha most of my http links from ten years ago are dead because http makes links fragile due to its design
11:14 erle so xmpp vs matrix is basically “provide a minimal system with extensions” vs “provide everything, but everyone must upgrade in lockstep”
11:14 erle muurkha yeah, but new http headers generally work
11:14 celeron55 i don't see how the protocol could help making links not fragile
11:14 muurkha you mean they don't break existing implementations?
11:14 erle yes
11:15 erle for an example of my assertion, look at encryption. you can generally have interoperable chat encryption with fingerprint verification in xmpp land. you literally can not have it in matrix land, unless you are using a very small range of clients (element and what else?).
11:15 muurkha celeron55: Freenet, for example, or IPFS
11:15 erle IRC will never ever develop further
11:16 muurkha I don't even know how to do fingerprint verification in Element
11:16 erle yeah lol
11:16 celeron55 those are p2p, no?
11:16 celeron55 so you're arguing against http's server model
11:16 erle celeron55 i think ipfs is content-addressed storage
11:17 erle https server model is fragile, but easy to implement. content-addressed storage is useful for interplanetary distances and to tell megacorps to go to hell.
11:17 muurkha celeron55: if by "P2P" you mean "the protocol is designed to help making links not fragile" yes
11:17 muurkha nostr is another recent example
11:17 erle muurkha https://xmpp.org/extensions/xep-0313.html
11:17 erle > Automatic history synchronization between multiple clients.
11:17 erle > So-called 'infinite' scrollback, whereby a client automatically fetches and displays historical messages naturally in the message log as the user scrolls back in time.
11:18 erle that's the imap model right?
11:18 celeron55 well p2p is probably a good way to make links not fragile, that's for sure. at least links that don't get garbage collected somehow due to lack of resources
11:18 muurkha erle: yes, this seems like a non-XMPP protocol running over XMPP.  like you can access Matrix over HTTP
11:18 erle i think the content-addressable thing is much more foundational than the p2p thing. you can have p2p stuff that dies as well. see the 90s p2p network.
11:20 erle muurkha well, it's an extension and clients support it. the wider assertion i am making is “most people who want a design for a chat protocol that is not decided by many stakeholders but by a single entity end up making something that privileges that single entity and also contains easy-to-prevent bugs”
11:20 celeron55 i really don't see how you could make storage that can't die
11:21 erle celeron55 it's important to make sure that even if stuff dies you get some thing out of it
11:21 erle like take cdb
11:21 erle if it dies, minetest is a bit less valuable
11:21 muurkha celeron55: certainly it is true that storage can always die, but the problem with http-URL-based naming is that even if the storage has survived, the links die
11:21 erle but if it downloaded mods from a content-addressable p2p network, any user still having a mod would be enough to spread it again
11:21 erle because the name does not point to a server
11:21 erle but to the content
11:22 celeron55 muurkha: so you're saying, content should be addressed by hash, so that the url format does not matter?
11:22 muurkha it wouldn't even have to be a p2p network in the usual sense; it could be a content-addressable network of five data centers
11:22 muurkha celeron55: no, the URL format needs to contain some kind of stable identifier that doesn't break when a server somewhere goes down or gets bought or reorganizes its filesystem
11:23 erle celeron55 there are AFAIKS layers of indirection in ipfs so that users don't have to remember hashes
11:23 mrkubax10 joined #minetest
11:23 muurkha a hash is one possible way to do it
11:23 erle muurkha btw, do you enjoy PoC||GTFO and if so, do you know similar publications? it reminds me of your notes, but wackier
11:23 celeron55 well, i don't see anything else than a hash as a working solution
11:24 muurkha other alternatives include public key hashes, the actual content itself (like data: URLs), and names assigned by a blockchain
11:24 erle celeron55 in the offline world, we have non-hashes. take a library book. it has an isbn, probably.
11:24 erle the name does not point to the location, but the identity
11:24 celeron55 a blockchain managing human-readable names for hashes sounds like something that could work
11:25 muurkha that's namecoin I think
11:25 erle you lost me at ”a blockchain” :P
11:25 muurkha shut up erle
11:25 muurkha my friend Aaron pointed out that Bitcoin solved the problem of Zooko's Triangle
11:25 erle muurkha do you mean entirely or “shut up with the snark”?
11:25 muurkha the latter
11:25 muurkha http://www.aaronsw.com/weblog/squarezooko
11:26 celeron55 of course we could have something like dns, but for content
11:26 celeron55 but people would sometimes clean it up, breaking links
11:26 celeron55 becaue that's what people do
11:26 celeron55 if they get the chance to do it
11:26 celeron55 +s
11:26 erle celeron55 you might like this list https://en.wikipedia.org/wiki/InterPlanetary_File_System#Applications
11:27 muurkha celeron55: you could also have people vote on what they think a name should refer to
11:27 muurkha the people you poll about it might depend on who you think is trustworthy
11:28 celeron55 well what is the killer app for ipfs that will cause ipfs to overthrow http in the long term?
11:28 muurkha so you might have different people come to different conclusions at the same time, which might be okay
11:28 muurkha I don't think there is one
11:28 muurkha I think HTTP will continue to be dominant, and we will continue to see the dream of global hypertext displaced by the slow fire that is the Web
11:29 muurkha like a Library of Alexandria going up in flames every day, for the rest of your life
11:29 celeron55 i can see ipfs becoming useful when people start living on mars. but that'll take at least a century
11:29 erle the internet is self-destructing paper, assange said that i think
11:29 erle you hope the monks scribble faster than stuff burns up
11:30 erle celeron55 it can be useful much earlier if you have no good uplink. antarctica. war.
11:30 muurkha yes but what they're scribbling is MAKE MONEY FAST
11:30 erle muurkha depressing
11:30 muurkha IPFS is already apparently useful, Library Genesis is using it
11:30 erle imageboards are just exaggerating that process to produce memes
11:31 erle stuff scrolls away when it reaches page 10 (or 20, or 30 …)
11:31 erle and only if it gets reposted, it survives
11:31 muurkha imageboards mostly aren't people trying to cheat each other tho
11:31 erle oh, people on imageboards lie, cheat & steal
11:31 erle but it's not about capitalism mostly
11:31 erle https://web.archive.org/web/20110521214956/https://squaretriangle.jottit.com/faq
11:32 muurkha Dan Kaminsky responded: https://dankaminsky.com/2011/01/13/spelunk-tri/
11:32 muurkha I'm pleased to see that this jottit page hasn't been lost
11:32 erle > What if you've lost your key or it gets stolen? Be more careful. What if you lose your PGP key or it gets stolen? Not much you can do about it.
11:32 muurkha the Internet Archive won't last much longer
11:32 erle muurkha i have two scripts i use a lot, wayback and wayback_save
11:32 erle what's the deal with the IA
11:32 erle is it getting dismantled?
11:32 muurkha maybe five, ten, twenty years
11:32 celeron55 it is a fact that maintaining some information being available on the internet requires hard work and money. i'm not sure if universally lessening the work and money requirement would be beneficial, but making it so that real people could decide who gets to host stuff with less work and less money could be useful
11:32 muurkha governments burn libraries, that's what the deal is
11:33 erle indeed
11:33 erle they do
11:33 erle in germany, many people know about the nazi book burnings. but few people know what was burned exactly. meaning the nazis won, in a sense.
11:33 muurkha celeron55: yeah, the problem is that if real people host the stuff, it doesn't matter if the links to it are broken
11:34 muurkha so that's the sense in which I think http doesn't work generally
11:35 erle for example, i think the nazis burned the archive of a german institute for sex reserach (which contained works about gay/trans/inter topics) :(
11:36 erle research
11:36 celeron55 given that this is #minetest, the question here could be, should minetest be more content addressable
11:36 erle https://en.wikipedia.org/wiki/Institut_f%C3%BCr_Sexualwissenschaft
11:36 muurkha it would be pretty great to have Minetest identify mods with ssh keys
11:36 muurkha instead of with HTTP URLs
11:37 erle celeron55 i would definitely like if mods and games were content-addressable. more than once i had the problem that either something was not on cdb anymore or the version on cdb broke some dependency, because the name stayed the same, but the payload changed.j
11:37 erle that latter thing is a hard problem
11:37 erle and i doubt people should be encouraged to depend on hashes of mods
11:37 muurkha an actual content-hash for dependency pinning would be great
11:37 erle i doubt it
11:38 muurkha but its ergonomics would require significant work to be usable
11:38 erle yeah, it's another ”do not put crayons up your nose” scenario
11:38 erle if you do it without the ergonomics stuff, it will just reduce compat
11:38 erle but the first thing, stuff being unavailable …
11:38 celeron55 people will want to work with mods in their regular file browser though, so naming mods as hashes there would be really bad ux
11:39 erle obviously
11:39 celeron55 however, things like nixos get away with such things
11:39 celeron55 it's a pita but with benefits
11:39 muurkha yeah, in general any kind of hash-based naming system has some kind of human-readable indirection layer on top of it
11:39 erle i think it would be nice if you could install several versions of a mod too.
11:40 muurkha with ssh the public keys of the servers I trust are saved in .ssh/known_hosts along with their (hashed) hostnames
11:40 celeron55 minetest actually does content based addressing in once place: the client-side media cache
11:40 celeron55 it's a very natural use case
11:40 erle indeed it is
11:40 muurkha I never type the public keys and almost never read them; I just type the hostnames, and the ssh client looks up the corresponding key for me
11:40 erle given many servers share texture packs, but not necessarily filenames (see the mcl “rename every texture” thing)
11:41 erle i wonder, is the easy scenario a ”make symlinks to hashes” thing?
11:41 muurkha yeah
11:41 erle so that users can then – if they so desire – modify which hash a name points to
11:41 muurkha the question then is just how you do the initial "introduction"
11:42 celeron55 a literal symlink on the filesystem might not be portable enough, but conceptually it's the exact thing needed
11:43 celeron55 of course it could be more dynamic than that
11:43 celeron55 but it's the minimum
11:43 muurkha yeah
11:44 muurkha ideally you have a "dependencies.lock" file in your mod which specifies which mods it depends on, built automatically from a "dependencies" file
11:44 muurkha each line of dependencies.lock might list a mod name, a public key hash, a version number, and a content hash
11:44 celeron55 it's funny to think of the analog as a library where the books are not alphabetically sorted by the author, title or any kind of metadata, but instead by the content of the book, starting from the first sentence
11:44 muurkha maybe one or more URLs as well
11:45 muurkha if you use a representation of the book in which the relevant content begins with the author's name, then the title, then the colophon and table of contents, it kind of comes to the same thing
11:46 muurkha at least in the fiction section
11:46 muurkha the only difference would be that the different editions of the same title by the same author would have their order determined by the first typographical error
11:46 erle okay, this is where i can do the clickbait thing
11:47 muurkha hashes are a bit faster to compare, as in the "HAMT", hash-array mapped trie, so pervasively used in Clojure
11:47 erle MAKING MODS DEPEND ON HASHES IS BAD FOR MULTIPLE IMPLEMENTATIONS OF THE SAME THING
11:47 erle thanks
11:47 muurkha well, you can of course change which version you're using after you install the mod
11:47 erle like right now, you can switch out tga_encoder in mineclone 2 for tga_encoder from cdb
11:48 muurkha but it's helpful to know which version the author was testing with
11:48 erle which is useful, because i am maintainer of the latter and haven't touched the former in a while (since i improved it for mineclone 2)
11:49 celeron55 that was quite the theatrical use of caps lock
11:49 erle also you have mineclone2 and mineclonia and a mod depending on mineclone2 stuff is probably going to work in mineclonia (regardless of which one) due to the naming
11:49 erle celeron55, well i hope it got everyones attention
11:49 muurkha yeah, I mean, as with Nix, you want to indirect those connections through some layer of human-readable names.  but the names can be private to a particular mod
11:50 erle i think pinnings should be done by the user, not the developer. developers suck at this.
11:50 erle evidence: mcl2 breaking every texture pack that relies on stable texture names.
11:50 muurkha but I still think it's pretty useful to be able to distinguish the dependency version the mod's author tested with, some other version by the same author, or some other version by a different author
11:50 erle that is true
11:51 erle it is useful, but you risk ending up in npm land
11:51 muurkha it'd be nice to have some kind of translation layer for the mcl2 problem
11:51 muurkha in computer science we can solve any problem by adding another level of indirection
11:51 erle i am convinced that the mcl2 problem can not be fixed with computers
11:51 celeron55 there should be an alias listing file for texture packs
11:51 muurkha except the problem of too many levels of indirection
11:51 erle it is a community problem
11:52 erle people from inside the mcl2 community wanted the names to change. people from outside the community did not want it to change. texture pack makers are generally not contributors to mcl2.
11:52 erle neither are makers of mods relying on that (they have a remedy though! they can steal the texture names from the existing nodes)
11:52 celeron55 i like the fact that MT's extremely plain approach to names and dependencies forces people to think further than their own nose
11:53 erle i like it too, but it does not help when someone *deliberately* breaks it
11:53 erle as i said, i think it's a community problem
11:54 erle that's why i mention the “stakeholder” thing. people who have skin in the game should decide stuff too
11:54 celeron55 the computer world has a long history of such a plain approach though. it's pretty much built into the way the C language does linking, both static and dynamic, for example
11:54 celeron55 so it is manageable
11:54 celeron55 provably so
11:57 lissobone some say if you drink too much soymilk you'll become a soyboy
11:57 lissobone but why can't one become a femboy this way?
11:57 muurkha not enough phytoestrogens
11:57 muurkha there are exceptional cases like Emacs and Linux, but most C programs are only a small minority of the system
11:58 muurkha and written by a small, well-organized group
11:58 erle if i'd start somewhere about compat i'd probably start on a community level with “breaking numerous mods that depend on your stuff is a reason to not get a package approval for your next release”
11:58 erle i say this not because i'm an evil controlling person, but because usually there are multiple ways to avoid breaking dependents, the devs just don't care
11:59 erle (i did suggest multiple ways to avoid the mcl2 breakage for example and i think you can come up with a bunch too)
11:59 ROllerozxa lissobone: dunno let's try
12:00 erle lissobone, join ##trans and ask for ingredients to femboy juice ig
12:00 muurkha I don't actually know what happens if a new version of glibc has a new function with a shortish name like strlcpy
12:00 muurkha and you link a user program with that glibc with a function that already has that name, but with different semantics
12:00 lissobone femboy juice
12:01 muurkha and glibc internally has calls to that function
12:01 lissobone no, i know that soy milk doesn't really feminize (it's very healthy, in fact!)
12:01 muurkha forcibly if necessary
12:01 muurkha on Linux I think they get linked to the implementation in the main executable, which is why intra-.so function calls are indirected through the .so's PLT?
12:02 erle lissobone also for procurement some say that https://diyhrt.cafe is a thing
12:02 muurkha but I don't actually know this
12:02 erle muurkha gclibc has a LOT of magic to enable stuff to not break
12:02 erle i suggest to look into it some time, i don't understand most of it
12:02 muurkha things like libjpeg generally just rely on function name prefixes
12:03 celeron55 yeah you generally namespace your stuff even though it's not technically required. that happens in the MT ecosystem also
12:03 erle my favourite way to handle such stuff as a coder is: if the function meaningfully changes (e.g. you have to update a test case so it passes again) then use a new function name
12:04 erle or if it becomes async but was sync before (never forgive!)
12:04 erle the new-function-name thing also helps with refactoring your own code
12:04 erle i.e. if you have no one else using it
12:04 erle you pretty much know where you have updated the references
12:04 muurkha like, if you write a function in your own program that happens to be called jsimd_h2v1_downsample_avx2 or jpeg_write_scanlines, you will probably blame yourself
12:04 muurkha when your program breaks libjpeg
12:04 celeron55 naming is very powerful. it can easily replace versioning in most cases
12:05 celeron55 (versioning can't replace naming)
12:05 muurkha but then the Debian maintainer will rename your function so your program works again
12:05 erle i'd say versioning is a red herring often
12:05 erle muurkha depends on the maintainer. i tried to send patches to debian for some minetest stuff that was accidentally broken to unbreak it and the maintainer did not care.
12:06 erle too much work for some maintainers
12:06 muurkha yeah, if the Debian maintainer stops maintaining it your program will get removed from Debian
12:06 muurkha that happened to xpdf recently
12:06 muurkha (before it got back in)
12:06 erle yeah, but for many programs the maintainer does not have the time or competence to maintain a huge patch directory
12:06 muurkha but my point is that users aren't helpless in the face of the issue
12:06 erle so they can linger in “i package upstream as well as i can manage” purgatory
12:07 erle which is fine, for the most part
12:07 erle but it will not get older versions fixed if upstream has something new with a bugfix
12:07 celeron55 the simpler the system is, the more users will be able to fix problems themselves
12:08 erle “solution fits in head” criterion should be applied to more stuff
12:08 celeron55 and, the fact is, there will always be problems. you want problems be fixable
12:08 celeron55 +to
12:09 erle this is kinda why i hate ”everything must be upgraded in lockstep” systems
12:09 erle i don't have the energy to upgrade everything
12:10 celeron55 well, the developer probably doesn't have the energy to maintain cross-version compatibility
12:11 erle irrlichtmt is a good example for me actually. any good irrlicht feature i find can not be used except if i patch it back again into irrlichtmt. and that is too much work. thus, no stencil shadowing on newer minetest.
12:11 celeron55 of course if they used the mentioned simple tactics like adding a function with a new name, it could be easier
12:11 erle i haven't tried the ”make an irrlichtmt shim” thing though, i wonder if it is possible
12:13 erle celeron55 pretty much every time i suggested the renaming solution people rejected it on, among other reasons, aesthetic grounds. i did, for example, suggest to do it for functions that had their signature changed a lot – to produce function lookup errors instead of more subtle breakage.
12:13 erle celeron55 i also suggested for games to rename mods that change their internals a lot, to *obviously* break dependents if the old mod is not there, instead of *subtly* breaking it.
12:13 celeron55 the code aesthetics thing is kind of silly. people want their API to look shiny. in reality i think a more engineered approach is better. engineering doesn't need to look good
12:14 erle celeron55 the fundamental problem for many people is that at some point they end up with a foo_4() instead of a foo() all over their codebase
12:14 erle and there is no foo_1() or foo_2() or foo_3() anymore
12:14 erle people *really* seem to hate that
12:14 erle as if internal function names are the main thing programs are judged for ;)
12:14 celeron55 for an engineered approach to APIs one can simply look at any C library that's a decade or two old
12:15 erle well, no technique is effective if it is not used
12:15 erle i like how elixir (the erlang VM thingy) does it
12:15 erle in elixir, if you change the arity of foo() it is simply a different function
12:15 MTDiscord <maintainer_> lissobone Here?
12:15 erle add some arguments? sorry, your old code does not find it
12:16 erle this is good
12:16 erle because then you can look for all foo/2 (arity of 2) and update the code to use foo/3 or so
12:16 erle or keep the foo/2 version around forever if you so desire
12:17 erle this prevents an entire category of naming confusion errors
12:17 celeron55 it really is not a problem to have foo_4() to be the function name. at that point you can just alias it to foo() in the application code. again, this is engineering thinking
12:18 erle well, i do actually doubt that any of the people rejecting that solution on purely aesthetic grounds have any clue about software engineering. case in point: there exist problems i have in hobby projects getting solutions approved that “look ugly” but work fine – and i do not have had these problems, ever, at work.
12:18 erle i suspect it's simply not fun for most people to apply rigor to writing computer programs
12:19 celeron55 an engineer thinks purely as "what is the overall most efficient path to reach all of the end goals"
12:20 erle well you can see in minetest how that works
12:20 erle ^_^
12:21 celeron55 MT's problem is that the end goals tend to be moving targets. it's such an iterative project
12:21 muurkha Microsoft likes to add "Ex" to the end of function names
12:22 muurkha CreateFile, CreateFileEx
12:22 celeron55 however we do have the yearly updating roadmap now and people are mostly on the same page on many things, so it helps
12:22 muurkha a problem with foo_4 is that it's pretty hard to guess that function name
12:22 muurkha but there are usually lots of options for renaming
12:22 muurkha mul_denom -> mul_denominator
12:23 muurkha gcoeff -> gcoef
12:23 celeron55 you're not going to guess function names in any bigger api anyway
12:23 muurkha cornacchia2 -> corn_method
12:23 celeron55 i don't like those "typo fix" looking new functions that actually behave differently
12:23 muurkha it's pretty common to be able to guess function names in things like Emacs and Mathematica
12:24 muurkha it's a lot less of an issue in C++
12:24 muurkha because usually you're guessing class names instead, and there are a lot fewer of those
12:25 celeron55 C++ brings a lot more structure to the whole via namespaces, classes, operators and the fact that you can have the same function name with different parameters to have a different implementation
12:25 celeron55 it's a completely different world
12:26 celeron55 however essentially all of those actually are just a structured way of naming things
12:26 celeron55 it's all just a name
12:26 erle celeron55 i think the thing about the roadmap is again a stakeholder thing. if you would let server owners and mod developers and developers of non-mainstream minetest clients give an equal say, the roadmap would look much different.
12:26 erle celeron55, it would, for example, probably contain ”make the map bigger” (the one item coredevs hate and the playerbase loves)
12:26 celeron55 erle: everyone can take part in the discussions
12:27 celeron55 erle: someone needs to be responsible though, and making server owners and mod developers responsible doesn't feel right to me
12:27 erle celeron55 not everyone is equal though
12:27 erle celeron55 i still think it would be a very good idea to take some lessons about APIs and CSMs from cheat clients. not to build in cheat features, but to figure out *why* they arrived at their designs.
12:27 erle have you ever tried dragonfire?
12:28 celeron55 the one who's going to do the work is going to be the engine developers. in a volunteer project it is important that they have the most say
12:28 celeron55 because if you don't, soon you won't have any devs anymore
12:29 erle guess i'll have to volunteer some time.
12:31 erle celeron55, game-theoretically, i totally see your point. the only things i hate is the thing where devs clearly don't have a clue.
12:32 erle for example, if i am not mistaken irrlichtmt contains a race condition that may occur (maybe only on windows?) when a computer does not have constant TSC and a thread switches at just the right (a.k.a. wrong) time.
12:32 erle it is clear that a coredev with a computer that has constant TSC will not be able to reproduce that, ever.
12:33 erle i mean maybe it was patched
12:33 erle but it is obvious to me that someone not having a computer where this bug occurs and no interest in the matter may err here. (like with any topic, actually)
12:34 erle also, it is very hard to convince people of such an error on purely theoretical grounds.
12:35 erle regardless of how capable they are, the common dev will dismiss it
12:35 erle well, maybe not ”regardless”, but you-know-what-i-mean
12:35 erle for reference https://en.wikipedia.org/wiki/Time_Stamp_Counter
12:37 erle also maybe i misremember and every detail is wrong, who knows. but there is one patch that upstream irrlicht did not want and that patch introduces the bug.
12:38 erle but upstream irrlicht is on a level of “let me boot my windows 98 computer to see if it still works”
12:38 erle clearly that's an entirely different QA standard ;)
12:41 erle luatic do you have any idea how i can convince imagemagick or any other program to produce PNGs with no prefilter? i don't want to have to start up minetest to get the PNGs for my texture transfer size performance tests.
12:41 erle and i don't want to do it myself hehe
13:04 celeron55 i would expect that to be not possible
13:04 lissobone left #minetest
13:08 erle celeron55, what did you refer to with the ”not possible”?
13:10 celeron55 to get imagemagick to do that
13:10 celeron55 i'd probably just extract the parts from MT that do it and make a small program out of it
13:12 MTDiscord <luatic> ^ this (you may as well extract them from modlib), it's only a couple lines of code which pretty much only depends on zlib
13:12 erle if i can't do better
13:12 erle luatic does it run standalone in lua5.1?
13:13 MTDiscord <luatic> erle: you'd have to replace minetest.compress with a "pure lua" zlib from luarocks
13:13 MTDiscord <luatic> see https://github.com/appgurueu/modlib/blob/5f0dea2780b88d44d85b9704e0e81348c459404d/minetest/png.lua#L406-L483
14:05 appguru joined #minetest
14:21 sfan5 as I can see lots of productive discussion (not work) is happening again
14:28 celeron55 yeah please don't read any of it
14:38 rubenwardy [13:26] <erle> celeron55, it would, for example, probably contain ”make the map bigger” (the one item coredevs hate and the playerbase loves)
14:38 rubenwardy Yet this wasn't mentioned at all in the roadmap brainstorm
14:47 jaca122 joined #minetest
14:50 mrkubax10 joined #minetest
14:56 hare_hare_yukai what the fuck i was doing assignment instead of comparison in if statements
14:56 hare_hare_yukai bash moment
14:57 MTDiscord <luatic> imagine not using a linter that would catch this for you
14:58 hare_hare_yukai i code on my toilet paper
15:04 erle rubenwardy i am pretty sure the people suggesting that thing have given up on it, given how many times it has been shot down
15:04 erle rubenwardy if i would be asked to bet money, i'd bet money against it being done within 3 years
15:04 erle oh wait
15:04 erle no, i wouldn't because betting money is bad
15:05 erle as you can trivially change the outcome ^_^
15:06 erle rubenwardy the problem is also that it isn't really easy to do in a fork. there are so many little things that break outside of ±32767 coords
15:07 erle rubenwardy what is the most civilized way to get a copy of cdb in your opinion? (to do semgrep experiments, i.e. i only need one copy)
15:08 celeron55 it's generally a bad idea to permanently give up on something in this environment where people come and go and priorities and resources shift over time. it's a good idea to give up on something for a while, but not in the long term
15:08 erle basically i want to find out which APIs are mis-used (and also find if my ideas about finding dupes and crashes at scale are correct)
15:08 hare_hare_yukai erle: ask nicely?
15:08 hare_hare_yukai asking*
15:08 erle celeron55 i am not saying it is a good idea to give up on it. it is just what i have noticed.
15:09 erle hare_hare_yukai i am asking rubenwardy, who is AFAIK the maintainer (hoster too?) of cdb. i do not know who else i should ask.
15:09 erle i am not just going to do wget --mirror because that's probably not nice
15:10 erle also rubenwardy provided a cdb dump some time ago i think. there might be one laying around.
15:12 erle luatic is there something like “optionally typed lua”, i.e. similar to python type annotations?
15:13 celeron55 there are probably multiple ones
15:14 hare_hare_yukai dont know how wget --mirror would work anyways
15:14 erle celeron55 yeah but what is the best idea?
15:14 erle i am not in a hurry
15:18 rubenwardy Expanding world limits is exactly the sort of thing that could be a road map goal
15:21 erle i agree – but i think the person that needs to be convinced of that is the one person who submitted 3 giant PRs in that direction and was being told “not now”
15:21 erle not saying the PRs were particularly good, i have too little expertise
15:22 erle maybe i can write them and try to motivate them
15:22 erle so about cdb … what “download cdb” method annoys you the least?
15:27 hare_hare_yukai just admin ur too lazy to spam his api xd
15:39 definitelya joined #minetest
15:47 fluxionary joined #minetest
15:49 rod_tout_court joined #minetest
15:50 erle okay, so regarding productive work https://content.minetest.net/packages/erlehmann/unicode_text/
15:51 erle ROllerozxa if you want to add a screenshot to it, tell me what text i should render ;)
16:30 erle uh my README.rst seems to trip up contentdb bad
16:30 erle > Instantiation <ins>+</ins><ins>+</ins>+++
16:31 erle > Font Properties <ins>+</ins><ins>+</ins><ins>+</ins>
16:31 erle hot parsers in your area
16:44 rubenwardy ContentDB doesn't support rst, only markdown
16:46 erle rubenwardy then the issue is importing a file named README.rst i guess ;)
16:49 MinetestBot [git] Desour -> minetest/minetest: Fix -Wunused-but-set-variable warnings 2ad4c9e https://github.com/minetest/minetest/commit/2ad4c9e0cea19cd54a59cc66c8010cce78eacae7 (2023-09-09T16:48:56Z)
16:49 MinetestBot [git] Desour -> minetest/minetest: Fix -Winconsistent-missing-override warnings 7897450 https://github.com/minetest/minetest/commit/7897450b273905fccaf326b650d1106c39cd4f07 (2023-09-09T16:48:56Z)
16:49 MinetestBot [git] Desour -> minetest/minetest: Fix -Wmissing-braces warnings in mapblock_mesh.cpp 010d08f https://github.com/minetest/minetest/commit/010d08f6a44005d9293ef25ad9d4b55b2eab4570 (2023-09-09T16:48:56Z)
16:51 MinetestBot [git] Zughy -> minetest/minetest: Add settings button icon 798b9ea https://github.com/minetest/minetest/commit/798b9eae4ad7a00aad9103315849022f067d91bc (2023-09-09T16:49:33Z)
16:51 MinetestBot [git] rubenwardy -> minetest/minetest: Replace settings tab with button 48ab183 https://github.com/minetest/minetest/commit/48ab1835dada1e860ae6c973e458d022d07a57f2 (2023-09-09T16:49:33Z)
17:09 ball joined #minetest
17:11 iamweasel joined #minetest
17:47 rod_tout_court1 joined #minetest
17:51 erle rubenwardy thank you for your review work. it definitely helps me if reviewers have high standards!
17:52 mrkubax10 joined #minetest
17:53 erle luatic if you look closely at this thing, i think you can see that my kerning is pretty ghetto. any better idea? https://content.minetest.net/uploads/3262624b77.png
18:17 MTDiscord <luatic> erle: nein
18:18 rubenwardy That doesn't crop very well https://content.minetest.net/thumbnails/2/3262624b77.png
18:20 erle rubenwardy i see. any good idea for a sample text that does? some unicode haiku maybe?
18:20 rubenwardy It's more ratio and details
18:22 erle is this a blocking issue?
18:22 erle hmm, maybe i can add some more space
18:26 erle rubenwardy, i just added some whitespace (well, blackspace really) to the bottom, that okay for you? https://content.minetest.net/thumbnails/2/bb022d4cdd.png
18:28 MTDiscord <luatic> could fill that blackspace with more letters
18:29 erle luatic come on give me something
18:29 erle surely you have an idea
18:29 erle in before zalgo text lol
18:30 erle zalgo text will actually not work with unicode_text, because i render all combining characters in the line where they occur
18:30 erle so no breaking out of a line using 999 combining characters that are not in sorted order (so your rendering hangs itself)
18:30 erle i researched it and some text rendering approaches are really stupid so they have to limit the number of combining characters they render to like 3 or so
18:31 erle i believe some terminals do that
18:31 erle to clarify: with ”really stupid” i mean that you can supply some kind of adversarial example text that makes them glitch out (worse than zalgo)
18:33 mrkubax10 joined #minetest
18:37 mrkubax10 joined #minetest
18:38 e1z0 joined #minetest
19:16 mrkubax10 joined #minetest
19:17 Trifton joined #minetest
19:29 v-rob joined #minetest
20:17 illwieckz joined #minetest
20:25 mrkubax10 joined #minetest
20:25 liceDibrarian joined #minetest
21:14 MTDiscord <luatic> erle: you can't parse html with regex zalgo text
21:24 rod_tout_court1 joined #minetest
21:28 hare_hare_yukai amogus
21:36 erle luatic lol
22:33 panwolfram joined #minetest
22:41 hare_hare_yukai if i call a function from another mod in a globalstep it would be better to localize it right?
22:42 liceDibrarian joined #minetest
22:44 erle hare_hare_yukai, define localize
22:44 erle hare_hare_yukai, define better
22:44 erle hare_hare_yukai, define lua profiler
22:44 hare_hare_yukai like in modb
22:44 hare_hare_yukai moda.thisfunc = thisfunc
22:44 hare_hare_yukai -- then use thisfunc
22:45 erle what is your reasoning for better
22:45 hare_hare_yukai -- in a globalstep
22:46 hare_hare_yukai i just saw it being done in some source code
22:47 erle don't cargo cult
22:47 erle try to understand
22:47 hare_hare_yukai if you tell me wont i understand?
22:48 erle i am not sure if i can tell you something qualified here
22:48 erle ask luatic or someone else who knows more about lua
22:49 erle or, try to work out yourself the performance characteristics
22:49 erle by using a lua profiler
22:49 erle or a timer function and a ghetto loop
22:49 erle but never ever cargo-cult stuff
22:49 erle there is so much crap in other mods
22:49 hare_hare_yukai how do i use a lua profiler
22:50 hare_hare_yukai the code is in a game
22:50 hare_hare_yukai for minetest
22:50 erle now that is a question i can not give you a good answer to, but i know it is possible to profile this stuff
22:50 erle surely someone else knows it. maybe it is on the forums
23:48 ball Mornin'

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