Time  Nick         Message
00:00 paramat      it was overgenerated edges of large caves that made these shadows
00:00 TBC_x        and potentoinally leaks fds
00:00 paramat      i recognised the shape from holes eaten in my early lua mapgens
00:01 paramat      fixing commit was #2410
00:01 ShadowBot    https://github.com/minetest/minetest/issues/2410 -- Mgv6: Add heightmap. Do not make large caves that are entirely above ground by paramat
00:05 paramat      those mgv6 shadows suddenly became very common in early 2014 for some reason, they're in 0.4.12 stable
00:08 twoelk       using we seems to still generate random shadows. there must be more than flying nodes and invisible caves that generates shadows
00:09 paramat      yes
00:11 paramat      in mgv5/v7 at y=63 #2759 (63 is the new 47)
00:11 ShadowBot    https://github.com/minetest/minetest/issues/2759 -- Lighting bug at y = 63 in mgv7 and core mapgens in development
00:11 paramat      also i see occasional square shadows, possibly 16x16
00:20 RealBadAngel paramat, reopened issue 2996 and added screenshots
00:21 paramat      okay
00:21 RealBadAngel look at those screenies, thats not normal imho
00:23 RealBadAngel on a newly generated world, flying around for a minute or two i spotted a few such squares of cobble flying at y=50 circa
00:24 paramat      these have been in MT for years, no point arguing over whether it's a bug or a magickal feature
00:25 paramat      i did the arguing months ago =)
00:26 paramat      since they have become a much loved (by some) characeristic the default is 'enabled'
00:27 twoelk       those are relicts of the ancients. the possesed the knowledge of levitating dungeons
00:27 paramat      ^
00:27 twoelk       +y
00:28 paramat      the issue is more the 'projecting complete rooms' which make the most awesome bases
00:28 RealBadAngel call it whatever you like, such rings of mossy cobble are bug no matter what
00:28 RealBadAngel and the bugs lifetime is no excuse to call it a feature
00:29 paramat      longtime bugs often become the most loved features of games
00:29 twoelk       when was voxelmanip added or made more accessable? does that corrolate with the increase of shadows?
00:30 paramat      they're like finding a magickal floatng stone circle. i like ancient monuments
00:31 paramat      the mgv6 shadows were probably due to changes in lighting code, the most recent change caused the y=63 shdows
00:31 paramat      (shadows)
00:31 est31        ok bugfix for #2915 is here: #2933
00:31 ShadowBot    https://github.com/minetest/minetest/issues/2915 -- Shift-Click in Minetest Game replicates items
00:31 ShadowBot    https://github.com/minetest/minetest/issues/2933 -- MoveItemSomewhere double bugfix by est31
00:32 twoelk       sneak elevators are a cool and usefull bug, those structures should be kept rare like nyan cats to stay something special
00:32 RealBadAngel rare? 3 rings found near spawn
00:33 est31        sneak elevator != cave ring
00:33 paramat      the stome rings became more common when i enabled dungeon generation high above ground, si yes they are almost too common now
00:33 paramat      (so)
00:33 est31        s/cave/dungeon/
00:33 paramat      even i'm becoming neutral about them =)
00:36 twoelk       g'night
00:45 est31        night all
00:47 RealBadAngel #2934
00:47 ShadowBot    https://github.com/minetest/minetest/issues/2934 -- Add wielded (and CAOs) shader by RealBadAngel
00:47 RealBadAngel its ready for testing
01:16 paramat      hmmmm let me know sometime if you approve of #2932
01:16 ShadowBot    https://github.com/minetest/minetest/issues/2932 -- Cavegen: Mgv6: No small caves entirely above ground by paramat
01:16 hmmmm        yeah I guess so
01:19 paramat      okay thanks
01:44 est31        hmmmm, can you have a look at #2933
01:44 ShadowBot    https://github.com/minetest/minetest/issues/2933 -- MoveItemSomewhere double bugfix by est31
01:44 paramat      now pushing 2932
01:51 paramat      push complete
02:10 Tesseract    TBC_x: safeLoadFile uses stdin if no file is passed because that's what regular Lua loadfile does.
02:10 Tesseract    Please tell me if there's an actual security issue with that.
03:26 johnnyjoy    Does anyone know is est31 is planning to be back anytime soon?
03:27 VanessaE     dunno.
03:39 johnnyjoy    Thanks VanessaE, est31 was just helping me with a PR.
03:44 est31        johnnyjoy, whats the problem?
03:46 johnnyjoy    Just wanted to see what I could do to advance the PR.
03:53 est31        perhaps ask people to test it, and try it
03:56 hmmmm        est31:  looks good to me
03:57 hmmmm        hmmm
03:57 hmmmm        minetest's signed number serialization is borked
04:02 est31        ok hmmmm do you think it needs a third person to have a look at?
04:02 hmmmm        est31:  no..
04:03 est31        ok pushing then
04:22 VanessaE     ah HAH!
04:24 * Zeno`      hides
04:24 VanessaE     lol
04:25 VanessaE     zeno:  your memory-leak-fu is needed. :)
04:25 hmmmm        it is??
04:25 VanessaE     hmmmm: possibly.  VE-Basic has 13MB of content and uses 740 MB of RAM on my box (default textures, no graphics effects)
04:26 VanessaE     zeno's good at hunting down memory leaks and excess usage :)
04:26 hmmmm        if it's still not growing in memory usage then it's probably not a leak
04:26 hmmmm        not still*
04:26 VanessaE     well maybe "leak" is the wrong word then
04:27 hmmmm        don't make zeno out to be some kind of superhero, he's just a guy with massif :)
04:27 VanessaE     lol
04:27 hmmmm        speaking of memory leaks
04:27 oneZ         wait, that's not right
04:28 oneZ         I wear my underpants on the outside ya know, hmmmm
04:28 hmmmm        I wonder what happened to the guy with the patch for RBA's memory leak
04:28 hmmmm        you wear a onesie
04:28 oneZ         lol
04:28 hmmmm        i mean, that is your name after all
04:28 hmmmm        oneZ
04:28 oneZ         yes, so I *am* a superhero
04:28 VanessaE     lol
04:28 hmmmm        that's a pretty clever name
04:28 hmmmm        Zeno does indeed have one Z
04:29 Zeno`        yes
04:29 Zeno`        One Z to rule them all
04:29 Zeno`        I must get around to reinstalling massif etc al after my rebuild
04:30 VanessaE     and in the darkness bind(2) them?
04:30 Zeno`        VanessaE, you have read my history I see...
04:31 Zeno`        But seriously, I still haven't installed all the tools I use since I rebuilt my box and reinstalled /
04:31 Zeno`        Some need to be compiled manually and I've been playing games *blush*
04:32 Zeno`        hmmmm, speaking of valgrind do you think if I added valgrind hooks to the source the commit would be accepted?
04:32 hmmmm        absolutely not
04:32 hmmmm        horrible
04:32 hmmmm        why would you even bother asking
04:32 Zeno`        they have to be #ifdef of course
04:32 * est31      is still overriding his ssd with stuff from /dev/urandom, now at blazing 0 B/s according to pv
04:32 hmmmm        est31, that's not going to help
04:32 Zeno`        ok, I'll keep them in my personal repo :P
04:33 est31        hour 66, 725 gb done
04:33 hmmmm        zeno`:  sarcasm
04:33 Zeno`        I know :P
04:33 Zeno`        I'll probably clean them up because they're fairly handy
04:33 hmmmm        est31:  that ssd has a bunch of sectors that probably aren't going to get overwritten
04:33 Zeno`        (for controlling the instrumentation)
04:33 est31        hmmmm, but if its from urandom?
04:34 hmmmm        lol
04:34 est31        I mean zeros are optimised, no?
04:35 hmmmm        no, SSDs literally have a quite a large segment of spare, hidden sectors that get remapped if a couple die within the normal lifetime
04:35 hmmmm        so when you overwrite everything it doesn't actually overwrite everything
04:36 est31        ah i see
04:36 hmmmm        it's not really possible to overwrite everything unless there's a special command in the SSD's firmware to do so
04:36 VanessaE     plus, all you gotta do is fill the drive up with a few large files maybe twice and you'll use up all the spare cells (not the remappable ones but the "extras" used for better write endurance)
04:36 hmmmm        hrmm
04:36 est31        I'll perhaps make a research...
04:36 Zeno`        hammer
04:36 est31        VanessaE, thats only taking care of the filesystem
04:37 Zeno`        hammer, water, acid, microwave and then blend it
04:37 VanessaE     est31: not exactly true
04:37 hmmmm        I wonder if there's a clever way of platform-independently serializing a signed value
04:37 est31        ah these warnings TBC_x has pasted
04:38 VanessaE     I mean, you can zero-out your swap partition, but if you disable TRIM and fill up + empty out the FS a couple of times, there won't be anything left to read.
04:38 est31        ?
04:38 est31        I'm using dd
04:38 VanessaE     hmmmm: render the number as a regular ASCII string?
04:39 hmmmm        lol
04:39 est31        hehe
04:39 hmmmm        that's not very clever
04:39 VanessaE     sometimes simple works better than clever ;)
04:39 est31        also not backwards compatible
04:39 Zeno`        what warnings?
04:40 est31        Zeno`, read in the logs, yesterday or the day before TBC_x has shared a link
04:40 est31        with some linter like tool
04:40 Zeno`        you want me to READ?
04:40 est31        lotsa srp stuff
04:40 est31        either way, its external
04:41 Zeno`        Are they real warnings?
04:41 est31        no, just linter output
04:41 Zeno`        What I mean is, sometimes those static analysis packages have a lot of false positives
04:41 est31        i didnt check them
04:41 est31        but i assume hmmmm did
04:41 hmmmm        ?
04:41 est31        just saw the link, clicked it.
04:42 hmmmm        same here I just clicked it
04:42 hmmmm        seems like a lot of bogus "code style" warnings telling us to follow their style (like avoiding C-style casts) and unused functions
04:42 hmmmm        nothing much of value
04:43 Zeno`        pfft
04:43 Zeno`        false positives :D
04:43 Zeno`        I tried one lint-like program and it spat out style stuff
04:43 hmmmm        whose style anyway
04:43 est31        well, the c++ standard creators are proud of their over complicated cast system
04:44 hmmmm        over verbose at least
04:44 Zeno`        something completely stupid as well; from memory it wanted parenthesis around return values
04:44 hmmmm        lolol
04:44 est31        they even call verbosity a feature
04:44 est31        "because its easier to see there is a cast being done"
04:44 Zeno`        lol
04:44 est31        at least inside some doc page
04:44 Zeno`        yeah because (sjfsjfksjfsjfks) is pretty hard to see
04:44 est31        perhaps not part of the standard itself
04:45 est31        why again is new something different from malloc and delete? I mean it makes just life harder?
04:46 est31        (as in why is new -> free and malloc -> delete forbidden)
04:46 est31        malloc and free*
04:47 Zeno`        it calls constructors
04:47 Zeno`        and throws exceptions (unless you tell it not to)
04:47 Zeno`        but there is nothing wrong with malloc/free
04:48 Zeno`        s/it calls/new calls
04:48 hmmmm        heh
04:48 hmmmm        the overcomplicated operator new constructor semantics
04:48 hmmmm        Foobar *foo = new Foobar; vs. Foobar *foo = new Foobar();
04:49 hmmmm        iirc this changed somewhat subtely in C++11
04:53 Zeno`        great
04:53 Zeno`        the thing I hate most is having to remember to do delete[] for arrays
04:54 Zeno`        not so much remember, but if the allocation changes you have to remember to change the free as well
04:54 Zeno`        which can kind of be a maintenance issue in some instances
04:56 Zeno`        gosh... I have heaps to catch up on
04:56 * Zeno`      scrolls through commit log
04:58 Zeno`        oh, going back a bit in the conversation...   http://oclint.org/ <--- I believe that's the one that wanted parenthesis around return values
04:59 hmmmm        hmmm
04:59 hmmmm        does this look correct?  http://fpaste.org/245780/37281931/
04:59 Zeno`        looks like a valid URL to me, yeah
05:00 Zeno`        I'm not sure about the snippet
05:00 Zeno`        will have to thing about that
05:01 Zeno`        what if it's already 2s complement?
05:01 hmmmm        the ~ implicitly converts v to an unsigned integral type of the same rank
05:01 hmmmm        then it should equal itself
05:02 hmmmm        so for non-twos-complement machines, that could be defined to a no-op:  #define MAKE_TWOS_COMPLEMENT(v) (v)
05:05 hmmmm        I'm wondering if I should leave well enough alone and only change it if we get a bug report that minetest isn't working right on a PDP-8 or w/e
05:10 Zeno`        I dunno
05:10 Zeno`        what am I doing wrong: http://codepad.org/Wbe7jlcp
05:11 Zeno`        ignore the first printf... that was something I was trying first
05:11 Zeno`        I'd wait for the PDP-8 bug report myself heheh
05:15 Zeno`        hmmmm ^
05:16 hmmmm        ?
05:16 Zeno`        maybe I will implement a 1s complement VM
05:16 Zeno`        to test?
05:16 hmmmm        lol
05:17 Zeno`        I don't think it's right, btw... because if you're adding 1 wouldn't you need the unsigned integral 1 larger than the current rank?
05:17 Zeno`        to account for -0 and +0
05:18 Zeno`        I dunno... been a long time since I learned 1- and 2-s complements\
05:18 hmmmm        why should that matter?  wraparound is well defined
05:18 Zeno`        I don't know. I need my 1st grade binary representation chapter
05:19 Zeno`        I can't remember hehe
05:20 est31        also hmmmm areastore has unittests now
05:20 hmmmm        cool
05:20 hmmmm        i'll have to take a look
05:20 Zeno`        has hmmmm's status as unittest maintainer been officialised yet?
05:21 Zeno`        oh, btw.. is weblate a bot/website? I've seen some commits from them
05:21 est31        if not he has my +1
05:21 est31        Zeno`, yes it is
05:21 Zeno`        nice
05:21 hmmmm        unittest maintainer?
05:21 hmmmm        what the hell is this
05:21 est31        it has no automatic push privileges though
05:21 est31        Zeno`, https://hosted.weblate.org/projects/minetest/
05:21 Zeno`        hmmmm we have voted you as the unittest subsystem maintainer
05:21 hmmmm        i am not taking other peoples' responsibility of making sure their crap works
05:21 Zeno`        lol :-D
05:22 est31        the way weblate works is that it creates gazillions of senseless merge requests
05:22 est31        it has a button though to "clean up the history"
05:22 Zeno`        who set that up?
05:22 est31        me
05:22 Zeno`        very cool
05:22 est31        I dont host it however, the weblate creator does
05:23 Zeno`        and it's working as intended?
05:23 est31        mostly yes
05:23 Zeno`        I mean... no complaints?
05:23 est31        ??
05:23 Zeno`        cool
05:23 est31        you have to run updatepo.sh from time to time I guess
05:24 est31        I'm not sure yet which model we should adopt
05:24 Zeno`        why are all the PR's failing?
05:24 est31        because sf.net is down and thats where the bot gets irrlicht from
05:25 Zeno`        jenkins
05:25 est31        nrz androbot yes
05:26 Zeno`        sf.net has been down for over 2 days?
05:26 Zeno`        lol
05:26 Zeno`        it's probably dying :(
05:27 est31        they have a twitter page with updates
05:27 est31        somewhere
05:27 est31        bye
05:27 Zeno`        yeah, and no updates for 18 hours
05:27 hmmmm        Zeno`:  wait, looking at your codepad paste again
05:27 hmmmm        isn't that result correct?
05:28 hmmmm        0x8000 is the intended representation of INT16_MIN
05:29 Zeno`        http://codepad.org/rbvkoGpg
05:29 Zeno`        yeah so I guess it's correct
05:29 Zeno`        padded with binary 1 to the left
05:30 Zeno`        but... how is this more portable?
05:31 hmmmm        well I didn't write the corresponding readU16()
05:32 hmmmm        it's more portable because it avoids any assumptions about the bit layout of a signed type and doesn't rely on casting to an unsigned type
05:33 Zeno`        oh this is for serialised data.. sorry, forgot that bit
05:33 hmmmm        the case of conversion from signed to unsigned is well defined by the C standard when the signed integer is positive
05:33 hmmmm        it's only the negative case we have to worry about
05:33 Zeno`        yeah
05:34 hmmmm        there, i make it into something that is well defined, i.e. positive, implicitly convert that to an unsigned type, and then do unsigned bit arithmetic on it to create the twos complement representation
05:34 Zeno`        so 1's complement simply has a sign bit... correct?
05:34 hmmmm        right
05:34 hmmmm        there are way more representations of signed integers btw
05:34 hmmmm        not just ones and twos complement
05:34 Zeno`        yes, I have a few of my own
05:34 hmmmm        thing is
05:35 hmmmm        virtually no computers use them since 1970
05:35 Zeno`        (seriously, when I was writing toy VMs I implemented some weird ones just for the sake of it)
05:35 hmmmm        yea
05:35 Zeno`        which is why I said that I'd wait for the PDP-8 bug report you mentioned :D
05:35 hmmmm        it's a good way to practice your C-standard-fu
05:45 Zeno`        well if you want to implement the bit scrubbing (or whatever you want to call it) I won't say it's not useful
05:46 Zeno`        I just personally wouldn't bother heh
05:46 Zeno`        except for, maybe, floating points
05:47 Zeno`        maybe BCD is the way to go
05:47 Zeno`        nah, too hard
05:47 Zeno`        plain text
05:47 Zeno`        and compress it with snappy
05:50 Zeno`        bbl;
08:49 TBC_x        I've noticed that somebody complained about my cppcheck report containing (style) lines, use GREP god dammit
09:08 TBC_x        Tesseract: Your safe loading code has many early returns, It may leave dangling file descriptor, I suggest to use wrapper method that opens the file and then closes it
09:12 RealBadAngel TBC_x, can you link me again pasties with client.cpp changes you made?
09:13 TBC_x        k
09:14 TBC_x        http://sprunge.us/aUHM
09:15 TBC_x        that's the whole fix
09:15 TBC_x        for the minimap leak
09:15 TBC_x        you should also consider adding distance based garbage collector
09:16 TBC_x        also, are you sure the minimap textures always exist?
09:17 TBC_x        hmm, nvm
09:17 TBC_x        when getTexture() returns 0, you get segfault
09:19 TBC_x        and that is too ambiguous to fix, when it happens
09:20 RealBadAngel if (!minimap_texture)
09:20 RealBadAngel return;
09:20 TBC_x        wait, gonna look it up
09:21 TBC_x        it is in Mapper::Mapper
09:22 TBC_x        I would add exception to getTexture()
09:22 TBC_x        and unless it is handled, it would have clear message that some textures are wrong
09:23 RealBadAngel in what case you wouldnt get texture?
09:23 TBC_x        in an exceptional case
09:23 RealBadAngel its already handled
09:23 RealBadAngel fake one is created
09:24 RealBadAngel with info on that too
09:24 TBC_x        then there should be assertion unreachable()
09:25 TBC_x        still better than a segfault
09:25 RealBadAngel then fix texture source
09:25 RealBadAngel its not minimap code
09:26 RealBadAngel texture source code is in client/tile.cpp
09:29 TBC_x        hmm
09:30 TBC_x        I should stop complaining about broken code I broke myself :P
09:33 TBC_x        but still, I think that TextureSource::getTexture(u32) should throw an exception instead of NULL
09:33 TBC_x        client/tile.cpp:661
09:39 TBC_x        if (id == 0 || id >= m_textureinfo_cache.size())
09:39 TBC_x        throw TextureNotFoundException;
09:41 RealBadAngel you can modify it
09:57 TBC_x        no crashes on exception, I guess the exception is reasonable there
09:59 RealBadAngel then open a PR with it
10:35 RealBadAngel TBC_x, your minimap fixes broke radar mode
10:42 RealBadAngel do you actually test your changes?
10:48 RealBadAngel can anybody review #2934?
10:48 ShadowBot    https://github.com/minetest/minetest/issues/2934 -- Add wielded (and CAOs) shader by RealBadAngel
11:01 VanessaE     different subject:  will there be a time soon where the server can be given arbitrary new media files to be sent to clients?  for example if someone wants me to install a skin for them, currently I have to restart the server to make it available.
11:07 VanessaE     this causes people to constantly ask me when the skin (or other change) will take effect.
11:22 TBC_x        the radar mode is quite a cpu hog
11:23 TBC_x        that's probably why I didn't test it
11:31 TBC_x        are there any routines to check whether a mapblock is underneath an empty mapblock?
11:37 TBC_x        VanessaE: could you please reset my password for digitalaudioconcepts.com:30005?
11:37 VanessaE     sure, TBC.
11:37 TBC_x        thank you
11:38 TBC_x        oh
11:39 TBC_x        that's not your server
11:39 TBC_x        even localhost is denying password
11:40 TBC_x        and I never set a password for my localhost
11:41 VanessaE     heh
11:42 TBC_x        better make clean
11:44 TBC_x        btw, why aren't unit test handled by cmake and are built into the binary instad?
11:44 VanessaE     no clue
11:45 RealBadAngel TBC_x, radar mode is a hog? rotfl
11:45 RealBadAngel its less demanding mode
11:45 TBC_x        well... I get 1/3 of fps
11:46 RealBadAngel thats propably because of you guys trying to fix things
11:46 TBC_x        well, that doesn't mean that they are broken
11:46 TBC_x        well, that doesn't mean that they are not broken
11:46 RealBadAngel your fixes breaks funcionality
11:46 VanessaE     zero difference here between radar mode and surface mode
11:47 TBC_x        I want to see hmmmm's minimap
11:47 VanessaE     negligible difference between turning it on/off
11:47 RealBadAngel please do check effects of your fixes instead for looking leaks in the wrong place. your approach was wrong from the very begining
11:48 VanessaE     of course I'm using the upstream copy
11:48 RealBadAngel lemme show you something
11:48 TBC_x        I am aware of that
11:49 TBC_x        but allocating a class on the stack should not cause any leaks at all
11:50 TBC_x        I kinda understand what Linus said about C++
11:51 RealBadAngel this is how radar mode looks like after your changes: https://imgrush.com/mjEsWR8TiqdB
11:52 TBC_x        I would like to see a side-by-side comparison
11:52 Routh        I heard minimap. Is there a github for said minimap/
11:52 Routh        ?
11:53 TBC_x        latest git
11:53 RealBadAngel Routh, theres F9 key on your keyboard if you have latest build ;)
11:54 Routh        Not yet apparently, so this will be core client feature and not a mod? :D
11:54 TBC_x        the F9 is possible to remap, right?
11:54 RealBadAngel no
11:54 RealBadAngel like the other F keys
11:55 TBC_x        new stuff using keys better should be remappable
11:55 RealBadAngel remap cinematic, 3rd person, hide hud etc
11:55 RealBadAngel otherwise stop trying to look for bad code in mine
11:56 RealBadAngel current master with radar is fucked up too
11:56 TBC_x        well, that's not my work
11:56 RealBadAngel i just love guys fixing the code they do not understand
11:57 RealBadAngel and even more when they do not try what they have fixed
11:58 RealBadAngel you should get a medal made out of a potatoe for that
11:58 TBC_x        the code I do not understand I try to rewrite to keep current functionality and adding comments so everyone else can understand the code
12:02 RealBadAngel https://imgrush.com/folzWGrfHhCy.png
12:02 RealBadAngel i had to roll back quite a while to get a build with correct code
12:03 TBC_x        well... don't blame me for your broken radar then
12:03 RealBadAngel you made it even worse
12:03 TBC_x        how so?
12:03 RealBadAngel both of you have made it unusable
12:04 TBC_x        write unit tests
12:04 RealBadAngel i know where are leaks, but its not the place you were thinkin
12:05 RealBadAngel i will fix my OWN code on my own. ok?
12:05 RealBadAngel both of you just dont get it
12:05 TBC_x        you mean the destructor cannot deallocate objects, the constructor allocated?
12:06 TBC_x        what commit does you radar work at?
12:07 RealBadAngel before hmmms attempts to attach 5th wheel to my car :P
12:07 TBC_x        you need a steering wheel, right?
12:07 TBC_x        ;)
12:08 RealBadAngel i will just fix the leaks, you guys get better lookin for problems elsewhere
12:09 RealBadAngel because now i have to undo what better coders have broken
12:09 VanessaE     tbc: touché :)
12:09 TBC_x        hmm?
12:09 VanessaE     the steering wheel
12:09 TBC_x        well, i don't get it
12:09 RealBadAngel yeah, that will  be able to steer the car in all six dimensions thx to extra wheel
12:10 TBC_x        you're welcome! ;)
12:11 TBC_x        RBA: run it through cppcheck when you're done, please
12:13 RealBadAngel http://cppcheck.sourceforge.net/
12:13 TBC_x        are you using windows?
12:13 RealBadAngel btw, i was coding cpp 25 yrs ago
12:13 TBC_x        my father was coding C 20 years ago
12:14 TBC_x        it is still horrible
12:14 RealBadAngel i just hate when youngsters come and say that they do know better :P
12:14 TBC_x        get used to it
12:16 RealBadAngel i can get used to constructive comments
12:16 RealBadAngel what hmmm does is trolling
12:17 TBC_x        well... when you allocate resources in a constructor, you shall take care of they are properly destroyed in destructor
12:17 RealBadAngel TBC_x, minimap mapblocks are not meant to be deleted in mesh update thread
12:17 RealBadAngel its not allowed
12:18 RealBadAngel only proper place to delete them is mapper itself
12:18 TBC_x        I solved that by moving the pointer out of the MapBlockMesh
12:18 TBC_x        when it is used
12:18 RealBadAngel thats actually good idea
12:19 RealBadAngel and i will use it
12:19 TBC_x        and if the pointer is valid when the destructor is run, it will delete it
12:20 TBC_x        got kinda inspired by C++11
12:20 RealBadAngel its all done in threads
12:20 RealBadAngel thats not safe
12:21 RealBadAngel mapper will keep getting weird data
12:21 TBC_x        well, on my test runs, I had no corrupted mapper data
12:21 RealBadAngel radar mode is corrupted
12:21 TBC_x        when I implemented the move
12:21 RealBadAngel enough for the evidence
12:24 RealBadAngel hmmm is a master of judging the code without even trying it. atm its like we could see a black screen and author of the change is claiming, hey but i fixed the leak!
12:25 RealBadAngel so what it doesnt work properly anymore. its fixed. period ;)
12:27 TBC_x        well.. I applied the fixes to 8ac0cf500ff336c43f6c42b306431fa6564b7cc8
12:27 TBC_x        can you confirm, the broken minimap was there?
12:27 TBC_x        i mean radar mode
12:27 RealBadAngel its broken even without your fixes
12:28 RealBadAngel your  code makes it just a bit worse
12:30 TBC_x        well... I cannot fixed undefined behaviour, when the code is not really fixing undefined behaviour
12:31 RealBadAngel i will try to fix the logic of updates first
12:31 RealBadAngel it is mainly broken
12:32 RealBadAngel im done with previous task now, so i can spend a few next days on minimap
12:32 TBC_x        VanessaE: did you set any default password? I can connect to localhost but not to your server
12:33 VanessaE     TBC: the only password I set was the one you asked me to reset a bit ago.
12:33 TBC_x        oh
12:34 TBC_x        i missed the PM due to too much open channels
12:34 TBC_x        thanks
12:34 VanessaE     np
12:36 TBC_x        does the minimap use any OpenGL extensions? I have Intel graphics here
12:38 RealBadAngel turn on shaders and see
12:38 TBC_x        rather not
12:38 RealBadAngel minimap has its own shader
12:38 RealBadAngel its not that demanding one
12:38 RealBadAngel should work even on low end gpus
12:39 TBC_x        looking into the sky, drawtime 15
12:40 TBC_x        with minimap drawtime 20
12:40 TBC_x        hmm
12:40 TBC_x        looks like mesh updating issue
12:41 RealBadAngel minimap compositing the texture each frame is costly
12:41 RealBadAngel it shall be moved back to mapper thread
12:42 RealBadAngel but for that i need own image manipulating routines, irrlicht ones are not thread safe
12:42 RealBadAngel also we need double buffering there
12:42 TBC_x        just cache pixels for each zoom, for each block
12:44 TBC_x        i mean, node
12:45 RealBadAngel what do you mean?
12:46 RealBadAngel i was talkin on displaying the minimap texture. one should being worked on, another one displayed, thats double buffering
12:48 RealBadAngel this way you can safely work on a texture in a thread, when done just pass it to main thread
12:57 TBC_x        well... whatever
13:23 johnnyjoy    sfanf, is there anything I can do to help complete PR 2912?
13:25 RealBadAngel #2912
13:25 ShadowBot    https://github.com/minetest/minetest/issues/2912 -- PostgreSQL database backend by johnnyjoy
13:26 RealBadAngel squash it in the first place
13:27 johnnyjoy    Okay. I will look up how to do that, and message when it's done.
14:02 hmmmm        hmmm
14:02 hmmmm        i think when sapier or whoever wrote the new connection.cpp, there had been a fundamental misunderstanding about Buffer<T>
14:03 hmmmm        it's being used in the absolutely most inefficent manner possible
14:04 hmmmm        definitely needs cleaning up at some point.  the simplest operations involve 10-15 copies of the same data
14:05 nrzkt        yes, there are too many copies into the UDP layer
14:08 johnnyjoy    I have squashed changes for PR 2912. Please let me know if there is anything more I can do.
14:10 hmmmm        johnnyjoy, i looked at it and it seems good to me.
14:17 johnnyjoy    How will I know if the changes get pulled?
14:17 hmmmm        it'll get noted on the PR page
14:18 johnnyjoy    Thanks.
14:54 hmmmm        nrzkt:  What makes you think that enet is better than the minetest protocol?
14:54 hmmmm        nrzkt:  Have you actually looked at enet?
14:54 nrzkt        personnally i perfer native TCP connection to handle connections with a UDP for unreliable datas
14:55 hmmmm        None of this is necessary.  Just fix the existing protocol and as an added bonus there's reverse compatibility.
14:55 nrzkt        but many wants enet, i looked at ENET API it's very simple to use, this will make a very tiny connection stack on minetest and will cleanup many and many useless lines of code
14:55 hmmmm        I looked at enet and it includes a checksum in its packets.
14:56 hmmmm        That tells me the level of knowledge of its creator.
14:56 nrzkt        it's like a TCP over UDP...
14:56 nrzkt        and there is no IPv6 too
14:56 nrzkt        but maybe cleanup the whole stack could be better, maybe
14:56 nrzkt        the main thing i want to rework is our "session" system which is clientiface
14:56 hmmmm        Switching to some library isn't going to magically solve all our problems
14:56 nrzkt        no, right
14:57 hmmmm        You need to have an understanding of what the problem actually is in the first place
14:57 hmmmm        Additionally it does not seem like there is any way to disable in-order packet delivery with ENet...
14:58 hmmmm        Sort of makes me wonder what the point is to begin with.  At that point it loses a lot of advantages over TCP.
14:59 Calinou      less lag...
14:59 Calinou      isn't that all we want? ;)
14:59 nrzkt        the lag is not very high
14:59 hmmmm        How does it accomplish this
14:59 Calinou      <+nrzkt> and there is no IPv6 too
14:59 hmmmm        Don't tell me there's magic fairy dust
14:59 Calinou      possible with breaking the API
14:59 nrzkt        in my server there is 13ms of lag
14:59 Calinou      (see issue on GitHub)
15:00 nrzkt        i don't want to have a forked lib into our core.
15:00 nrzkt        stop that, use regular and propose patchs to upstream
15:01 Calinou      they'll be refused because of breaking compatibility
15:01 Calinou      enet has more "customers" than just Cube 2, there's lots of proprietary software using it... even random iOS apps
15:01 nrzkt        then have a better patch
15:04 hmmmm        Wait, enet doesn't even allow IPv6?
15:04 hmmmm        Is this a joke or something?
15:04 nrzkt        not a joke
15:04 hmmmm        I don't understand why it was even considered
15:05 hmmmm        Besides, ENet is an application-layer protocol.  Why it has a dependency upon IPv4 is completely beyond me.  Sounds like a deficiency in their API design.
15:07 nrzkt        yes
15:07 Calinou      make our own then? 8)
15:07 Calinou      just switching to mere TCP will easily add +30ms of lag on average
15:08 Calinou      you can try, but it might not be easy to have low latency
15:08 hmmmm        Right.  I advocate actually attempting to fix what we have already first before throwing it all away.
15:08 nrzkt        no problem for me
15:08 hmmmm        Seems to me like the only reason why this hasn't been done yet is due to a collective ignorance
15:09 nrzkt        will look at network stack cleanup then, okay
15:09 nrzkt        i already looked at some copies removal
15:10 nrzkt        but i don't remove all
15:11 hmmmm        I'll give a hint.  I think the primary reason for Minetest's poor bandwidth is the total disregard for IP MTU size.
15:12 nrzkt        we talk to IP to tell him to do fragmentation ? :o
15:12 nrzkt        tell it*
15:17 hmmmm        Actually, nevermind that
16:47 rubenwardy   https://github.com/minetest/minetest/issues/2913#issuecomment-122680204
16:47 rubenwardy   ~title
16:47 ShadowBot    Unexplained, random crashes (segfaults, aborts, OOM) · Issue #2913 · minetest/minetest · GitHub
16:52 rubenwardy   added a few more
17:06 est31        johnnyjoy, you there?
17:07 est31        i have a likely theory why your git squashes fail
17:08 est31        johnnyjoy, whats the first line of the output of "git show upstream/master -q".
17:27 johnnyjoy    I'm here now.
17:28 johnnyjoy    commit 7bbb9b066a8cc079512ddd3e6b32475309f49fca
17:28 johnnyjoy    Oh, of course he's gone.
18:11 TBC_x        Just wrote down a draft of an Architecture that would be cluster-enabled
18:12 nrzkt        before doing a cluster, having a good monolithic code is good :)
18:13 TBC_x        the best thing: Theoretically it can be MT 3.x compatible
18:16 TBC_x        but it also may be a nonsense as I'm very unsure of how efficent a proxy can be
18:50 TBC_x        is TOCLIENT_HP and TOCLIENT_BREATH gonna stay in the new protocol?
18:52 hmmmm        newer clients will have to respect those if the server version is older, yes
18:52 hmmmm        let's not jump the gun too fast, i feel like there's way too much time spent on how great minetest will be after client side scripting instead of focusing on the current issues first
18:54 TBC_x        I thought there will be breaking changes in network protocol
18:54 hmmmm        there is absolutely no reason why that needs to be the case
18:54 hmmmm        the server owners demand reverse compatibility
18:54 hmmmm        we'll give them what they want
18:56 Calinou      https://forum.minetest.net/viewtopic.php?f=14&t=12843
18:56 Calinou      maybe this should be a sticky?
18:57 hmmmm        maybe developers should have moderator privileges since they seem to be quite active and trusted/responsible
18:59 nrzkt        TBC_x i agree we should do it, but it's not minetest politic, else i had already done this.
18:59 nrzkt        i don't go often on forum, but i think our developpers are not kikoololz
19:00 hmmmm        I would personally be more open to the possibility of breaking reverse compatibility if there was a great amount of value to gain that can only technically be achieved by doing so
19:01 nrzkt        i'm awaiting for a major version for this, whereas i think the next release can be major, because we have done many good work and added good client features
19:01 nrzkt        i looked at master server stats
19:02 hmmmm        most clients are 0.4.10
19:02 nrzkt        i think we can remove every packet handling before 0.4.7
19:02 hmmmm        can doesn't mean you shoul
19:02 nrzkt        yes, i see that on the that
19:02 hmmmm        should*
19:02 hmmmm        i mean, what is there to gain by breaking compatibility
19:02 hmmmm        how does it make minetest /better/?
19:03 hmmmm        you know, I can still run a DOS application from the 1980s on windows 10
19:04 nrzkt        i know
19:05 Calinou      we can gain cleaner code, and more consistency for players
19:05 Calinou      no more "how do I do this? I'm on 0.4.10"
19:05 nrzkt        i will propose a PR for cleaning up < 0.4.6 packet handling this week
19:06 hmmmm        code cleanup is such a lame excuse
19:06 nrzkt        and each month looking for stats
19:06 hmmmm        perceived "messiness" wouldn't even be an issue if your organizational skills were good enough
19:07 TBC_x        I suggest adding TOCLIENT_RESOURCE which would handle stuff like health and breath, for usage in the future
19:07 hmmmm        TBC_x:  Oh, you haven't heard the plans for that, have you
19:07 TBC_x        well, no
19:07 hmmmm        TBC_x:  In the future, HP and breath will be lua-side things only
19:07 TBC_x        good thing
19:28 hmmmm        anyway I've looked into it
19:29 hmmmm        I vote against using enet
19:29 hmmmm        too many problems, there's the additional dependency, the fact that it doesn't provide any advantages over just using a combination of TCP and UDP, etc.
19:30 hmmmm        if it's determined that minetest UDP cannot be fixed for whichever reason, I'd prefer just using TCP
19:49 nrzkt        perfect, agree
19:50 hmmmm        that doesn't mean use TCP
19:51 paramat      nore, sfan5, any approval for game#581 ? i'll make the PR after approval
19:51 ShadowBot    https://github.com/minetest/minetest_game/issues/581 -- New stairs and slabs discussion
19:51 hmmmm        it doesn't have NAT hole punching capabilities, for example, and then there's the whole latency thing we're trying to avoid
21:05 paramat      hi hmmmm another one for your consideration sometime #2935
21:05 ShadowBot    https://github.com/minetest/minetest/issues/2935 -- Mgv7: Use density noise + density gradient for mountain terrain by paramat
21:27 TBC_x        http://www.isoc.org/INET97/proceedings/F3/F3_1.HTM
21:30 est31        small question: is it true that the size of a mantissa of floats and doubles isnt specified at all by c/c++?
21:31 est31        no guarantee to be IEEE 754?
21:33 est31        TBC_x, any ideas?
21:33 est31        also, whats adoption of IEEE 754
21:33 est31        can we get on a processor without it, in reality
21:34 est31        it seems all intel 8088 based processors have such an fpu
21:34 est31        but what bout arm
21:34 Sokomine     i get crashes where gdb reports  in Mapgen::propagateSunlight(irr::core::vector3d<short>, irr::core::vector3d<short>) ()      when calling vm:calc_lighting(tmin, tmax) sometimes. am i using it wrong?
21:36 est31        seems arm has it too
21:36 est31        Sokomine, can you reproduce it?
21:36 Sokomine     est31: yes
21:36 est31        whats code to reproduce it
21:37 est31        always, or just sometimes?
21:37 Sokomine     http://pastebin.com/mTRbiQ5Q   above part contains the code, which also contains debug messages which show up in gdb's output
21:43 TBC_x        why is serverCommandFactoryTable in src/network/clientopcodes.cpp using magic numbers?
21:43 nrzkt        which magic number ?
21:43 est31        ?
21:43 nrzkt        there are no magic number in the packet handlers
21:43 TBC_x        u16 channel
21:44 est31        well, its the channel
21:44 nrzkt        this is not magic, this is in the low layer UDP channel
21:44 est31        no idea what that is, but some lower layer stuff
21:44 nrzkt        est31: there is a channel for reliable and one for unreliable
21:45 nrzkt        and if i remember there are others for low layers things, but i can't remember
21:46 est31        so, are there any guarantees that that IEEE standard gives the c++ developer?
21:46 paramat      'propagate sunlight', what values of tmin,tmax are you passing?
21:47 est31        e.g. is a "float" on the IEEEE supporting processors always compiled to the 32 bit type, and a "double" to the 64 bit type?
21:47 est31        or do the compilers throw their own taste in, here, too
21:48 TBC_x        well... I don't know what the numbers mean and there is no comment on what they mean so I call them magic numbers
21:48 Sokomine     paramat: from  vm, emin, emax = minetest.get_mapgen_object("voxelmanip")      emin and emax are used as tmin,tmax
21:48 est31        "ah dammit we want to have backwards compat with IBM software, lets do some custom thing"
21:48 est31        thats wh windows has \ instead of /
21:48 est31        whyÜ
21:49 est31        why**
21:50 Sokomine     paramat: http://pastebin.com/EjZ4Vp9k  has added debug output of tmin/tmax (and what i got from get mapgen object)
21:50 Sokomine     it is a fresh world. if i join it again without deleting the map, the bug does not occour again. only at the first time the world's generated
21:51 * Sokomine   stares in annoyance at that  est31 used
21:51 TBC_x        everyone knows that \ is an escape
21:52 paramat      it might be best to pass the minp, maxp of the mapchunk. emin, emax are the extent of the mapchunk plus shell
21:52 paramat      i'm not sure though
21:53 paramat      i use 'vm:calc_lighting()' in my lua mapgens
21:53 paramat      empty brackets may be best
21:54 Sokomine     if there's a better way or sequence of writing the data back now, i'd welcome any tips as to how to use voxelmanip better. still, a crash is strange
21:54 paramat      did this start recently?
21:54 Sokomine     part of the shell may be undefined. perhaps that's why?
21:55 Sokomine     hard to tell. mysterious crashes upon test world generation have happened for some time. i decided now to run it with gdb to take a look
21:56 paramat      yes you need to use it with empty brackets
21:56 Sokomine     ah!
21:56 paramat      it then auto-selects a smaller region within the 7x7x7 volume
21:57 paramat      (7x7x7 mapblock)
21:58 Sokomine     at least it seems to help
22:01 paramat      with empty brackets, the lua api auto selects a smaller volume by looking at the extent of the full voxelmanip volume. so empty brackets is usually best
22:02 Sokomine     ah yes, now i remember why i included the shell. without it, there are a lot of shadows
22:02 paramat      =/
22:03 Sokomine     maybe i could call it a very rainy day...looks like it with the shadows :-)
22:07 paramat      the shadows will need a different solution, perhaps they're due to your complex use of the shell. also, rapid multiple use of the non-mapgen-voxelmanip can cause shadow bugs
22:10 Sokomine     the non-mapgen-voxelmanip plays no role in this. only plenty of changes to the shell i'd say
22:29 paramat      is cavegen griefing the only reason for this clever use of the shell? i recommend using only mod nodes in the schematics instead, with 'is ground content = false'
22:42 Sokomine     can't do that. houses may use stone and other normal materials for their walls. creating duplicate nodes would be annoying. and it won't help against mudflow either i guess
22:42 Sokomine     but yes, cavegen griefing is the major reason why i need to write to the shell
22:58 TBC_x        interesting article about networking http://gafferongames.com/networking-for-game-programmers/
23:36 Tesseract    Do my multi-socket, threading, and logging PRs look good to merge now?  I don't think there are any significant issues with them anymore, and I've rebased them.
23:37 Tesseract    Eh, as soon as I fix whatever I broke with the threading pull.
23:46 est31        I think now is a good moment for merging them, we have time to sort out bugs