Time Nick Message 00:00 hmmmm highlight the variable do_mapper_update, look at what value it's initialized to, and look at all the places where it's modified to some different value 00:00 RealBadAngel problem is that i knew what the code was doing 00:01 RealBadAngel but you have alterd it according to YOUR thinker :P 00:01 hmmmm so are you saying you cannot read other peoples' code? 00:01 RealBadAngel im saying it was very sensitive code 00:02 RealBadAngel and your request to show me where the update is shows that you havent understood it 00:02 hmmmm well, i guess not 00:02 hmmmm because i still don't see any such mesh update that you claim 00:02 RealBadAngel you have already broken minimap code in a few places 00:03 hmmmm ok pal. 00:03 RealBadAngel so my assumption is you cannot read others folks code too :) 00:03 RealBadAngel lemme just read it and find whats wrong, ok? 00:03 RealBadAngel no need to arguing 00:03 hmmmm i'm not sure if i actually broke any of your code or not 00:03 RealBadAngel 512 00:04 hmmmm i took your word for it the last time you brought this up and didn't talk about it any further 00:04 hmmmm all I did was replace instances of the constant "512" with a macro 00:04 RealBadAngel 512 is quite universal, dont you think? ;) 00:04 TBC_x so is 42 00:05 hmmmm so sorry if it contextually meant something different in another piece of the code, but that did not break the functionality 00:05 RealBadAngel you have replaced all the 512 you could find 00:05 hmmmm that's right, i did 00:05 hmmmm but can you explain how that broke anything 00:05 RealBadAngel gosh, im glad you havent asked what 1 means :P 00:05 hmmmm well it clearly is a valid question 00:05 hmmmm because you just admitted that the constant "512" means two different things in two places of your code used in similar manners 00:06 hmmmm I don't get it 00:06 RealBadAngel hmmm, lets stop right now, ok? 00:06 hmmmm do you write your code this way because you want to be the only person that's able to fix it or work on it? 00:06 RealBadAngel ive coded wielded shader, need it get reviewed 00:06 RealBadAngel now im working on minimap 00:07 hmmmm in any case, I'm going to assert that there is no event triggered on mapblock unload that triggers a mesh update 00:07 hmmmm i.e. you're full of shit that minimap mapblocks are deleted along with real mapblocks 00:07 RealBadAngel i will document that features in code, ok? 00:08 TBC_x is MeshUpdateResuld guaranteed to have r.mesh != NULL? 00:09 TBC_x s/MeshUpdateResuld/MeshUpdateResult/ 00:09 RealBadAngel it can get null in case of only air 00:09 TBC_x ok 00:10 TBC_x my changes looks so far like this: http://sprunge.us/eggZ 00:12 TBC_x gonna run valgrind on that now 00:13 TBC_x idk if you made some changes, but the minimap disappears on client restart 00:13 RealBadAngel i havent made any changes to minimap since my original commit 00:14 TBC_x just to let you aware of that 00:14 TBC_x accidentaly connected to Vanessa's server with valgrind on :P 00:15 RealBadAngel anyway, i need to get wielded code in first 00:15 TBC_x Rendering item textures takes ages 00:16 RealBadAngel im modyfing the very same files atm 00:16 RealBadAngel its not any good 00:17 VanessaE which server? 00:18 VanessaE I run 8 of them :P 00:18 TBC_x grep your log for TBC 00:30 TBC_x I think, the MinimapBlock handling is poorly implemented 00:31 hmmmm agreed, ownership and lifetime is way too confusing 00:31 hmmmm that doesn't mean make them into smart pointers, though. 00:31 hmmmm just structure them in a sane manner 00:32 TBC_x it is now leaking when MapBlockMesh is allocated on stack 00:34 TBC_x the simplest solution would be to make the getter to set the member pointer to NULL and add delete to ~MapBlockMesh 00:36 TBC_x and rename the getter to moveMinimapBlock 00:38 hmmmm still to this day i have no idea why the minimap mapblock is created and scanned inside of the mesh update constructor. 00:39 hmmmm this slows down the mesh update thread to do work that the minimap update thread should actually be doing 00:39 RealBadAngel hmmmm, thats because whenever mesh is updated minimap changes 00:40 RealBadAngel those two are bound, and thats the logical place to do it 00:41 hmmmm it's not the logical place to do it at all 00:42 hmmmm the two are bound to begin with by adding to the minimap update queue from mesh updates in the client thread 00:44 RealBadAngel to get minimap mapblock you have access to the map, mesh thread already has it 00:44 RealBadAngel it also needs node meshes itself 00:45 RealBadAngel so which place could be logical for you? 00:46 TBC_x is m_blocks_cache in MinimapUpdateThread NULL initialized? 00:46 RealBadAngel another thread with map access? 00:46 hmmmm i don't see where it needs node meshes 00:46 RealBadAngel it needs a top tile 00:46 hmmmm i don't see where it needs node meshes. 00:46 RealBadAngel right 00:46 hmmmm the way i refactored it doesn't require any graphics-related data 00:46 RealBadAngel i need there access to the map 00:47 RealBadAngel at exact time when mesh is updated 00:47 hmmmm check out MinimapMapblock::getMinimapNodes() 00:47 hmmmm why do you need it at the exact time of a mesh update? 00:47 hmmmm don't understand the logic behind that requirement 00:47 RealBadAngel when block changes, minimap changes 00:48 RealBadAngel and not only your actions can change the block 00:49 hmmmm yes 00:49 hmmmm so the mesh update can queue a minimap change 00:49 hmmmm that's already what you do 00:49 hmmmm mesh updates are gathered from the queued update list, and then minimap updates are queued 00:50 RealBadAngel yes, with already pre processed data 00:50 hmmmm why you do this translation from map data to your minimap mapnode format is beyond me 00:50 RealBadAngel so no further access to the map needed 00:50 RealBadAngel thx to that number of nodes scanned for full scan is greatly limited 00:50 hmmmm you're doing the same amount of work, just inappropriately matched work in a different thread 00:51 RealBadAngel im reducing number of nodes scanned by mapblock size 00:51 hmmmm really now 00:51 hmmmm because it doesn't look that way to me, it looks like it's always MAPBLOCK_SIZE^3 00:51 RealBadAngel full scan of block is triggered only on mesh update 00:52 RealBadAngel when mesh hasnt changed old minimapmapblock is used 00:52 RealBadAngel thx to that we are able to get full scan realtime 00:53 TBC_x I doubt that minimap needs to be updated in real time 00:53 RealBadAngel in minimap thread we dont have 3 nested loops for x,z, y, just for x,z 00:53 hmmmm mesh updates happen when you set a goddamn single crack 00:54 RealBadAngel i know 00:54 RealBadAngel thats the reason to get the cracks outta here 00:54 hmmmm no 00:54 hmmmm you're using that as an excuse for poor design 00:54 RealBadAngel ive coded cracks to be separete scene node almost 2 yrs ago 00:54 hmmmm you don't need to do two loops to begin with 00:54 hmmmm i have not the slightest clue why you did that 00:55 hmmmm it's so inefficient though. all you need is one 3d loop for z, x, y 00:55 RealBadAngel to not update mesh so often :P 00:55 RealBadAngel i just got rid of one loop thx to that 00:55 hmmmm since you seem set on not fixing what you started, I'm gonna have to do it 00:55 RealBadAngel 8,5kk nodes / mapblock size 00:55 RealBadAngel fuck 00:56 hmmmm realbadangel codes it, poorly, then makes me fix it 00:56 RealBadAngel im coding fixes for that, yet wasting time on stupid talks 00:56 RealBadAngel fuck off hmmm 00:56 RealBadAngel goodbye 00:59 TBC_x looks like RBA left leaks all over the place 00:59 TBC_x are you rewriting his code? 01:00 VanessaE G*d damn it hmmmm. 01:03 TBC_x hmmmm, are you rewriting his minimap? 01:05 hmmmm TBC_x, I don't really *want* to 01:05 hmmmm if you think it's bad now, you should have seen the original iteration 01:06 hmmmm i feel like gordon ramsey or something lol 01:06 VanessaE hmmmm: this is not helpful at all 01:07 hmmmm it is 01:07 hmmmm i didn't realize it at first, but I don't think that RBA is even aware that there's a much more efficient/clean way to code things 01:08 TBC_x well... he is learning after all 01:08 hmmmm he just says "welp that's the best it can be done, it takes up 100% cpu just to draw map, oh well" 01:08 TBC_x i hope he is 01:08 hmmmm and yea, the MinimapMapblocks are a huge memory leak 01:08 hmmmm he tried to tell me that they get deleted when the block gets unloaded but I know that's BS 01:09 hmmmm why would a mesh update get queued when a block is unloaded 01:09 hmmmm so basically they are never evicted from the minimap cache 01:10 hmmmm it's not a real leak because their pointers are never *lost*, it's just that there is never a point at which the cache would evict those blocks 01:10 TBC_x i added this now 01:10 TBC_x well 01:10 TBC_x at least for updated positions 01:11 TBC_x btw is 31000 world limit only because of irrlicht? 01:11 VanessaE because random :P 01:11 hmmmm it's limited by datatype width 01:12 TBC_x I get that, but is the datatype in irrlicht? 01:12 hmmmm positions are stored in a v3s16, and 31000 is more round of a number and gives a nice amount of padding so that things won't overflow 01:12 hmmmm yes it is 01:12 TBC_x why the camera isn't world origin? 01:13 hmmmm that's because of irrlicht 01:13 TBC_x server arithmetric could bypass that 01:15 TBC_x theoretically 01:16 TBC_x damn... now I'm getting lost in my own code 01:17 TBC_x fixing minimap leaks 01:19 TBC_x that is ridiculous 01:21 TBC_x if you want to know what is a clean code 01:21 TBC_x this is quite the opposite 01:24 hmmmm "who cares about that... look! new feature!" 01:24 hmmmm "look at these screenshots" 01:25 TBC_x "it eats memory!" 01:25 TBC_x "that's not my problem" 01:25 hmmmm "it only eats up memory in a thread on AMD cpus" 01:26 hmmmm that's a real quote btw 01:26 TBC_x rofl 01:26 hmmmm but anyway, it might be a good idea to leave it go. those leaks will probably not exist by the time I'm done redesigning the minimap 01:27 RealBadAngel hmmmm, better take care of your own issues instead interrupting me fixing mine 01:27 RealBadAngel and i dont call your code shit or full of shit 01:27 RealBadAngel behave 01:28 RealBadAngel youre acting as a corporate just promoted child 01:28 RealBadAngel and words i used "fuck off" according to your behaviour stays valid 01:29 RealBadAngel meanwhile i wont be wasting my time on talking to you. i will just code. 01:29 RealBadAngel and goodbye again 01:31 hmmmm he comes back to spew some insults 01:31 hmmmm I am busy fixing up more code, btw 01:32 hmmmm not RBAs, somebody elses' and something way more serious 01:33 TBC_x fixed his leaks! http://sprunge.us/eDbN :D 01:33 TBC_x won't work anyway 01:33 TBC_x that code is horrible 01:34 TBC_x and still buggy 01:35 TBC_x as it may run delete on uninitialized pointer 01:36 TBC_x nope, that's not the way to do it 01:37 TBC_x client-side mods would solve this 01:37 TBC_x your leaking minimap mod is not part of the core 01:38 VanessaE a mod should not be expected to operate in realtime like that, though 01:38 VanessaE especially if it has to deal with large amounts of data 01:39 TBC_x that's true 01:39 VanessaE there's too much of an obsession with moving stuff out-of-core that really should stay there for the sake of performance. 02:03 TBC_x http://sprunge.us/XAdW vs http://sprunge.us/eDbN 02:03 TBC_x both do the same thing 02:08 TBC_x now i'm sleepy 04:16 Calinou https://github.com/minetest/minetest/issues/2926 04:17 Calinou how is this a blocker, and even high priority? 05:08 hmmmm because he's mad 05:18 est31 hmmmm, you have time for pr closing session? 05:18 hmmmm sure 05:18 est31 #2869 05:19 ShadowBot https://github.com/minetest/minetest/issues/2869 -- Fix invisible player when the attached entity is removed by TeTpaAka 05:19 hmmmm ooh nice 05:23 hmmmm merge with GenericCAO? 05:23 hmmmm that PR modifies SAOs, not CAOs 05:23 est31 GenericCAO has children management too 05:24 est31 but i agree with him, its unrelated to the pr 05:24 est31 once when somebody feels they have enough time for a cleanup, they should make a common base class 05:25 hmmmm you know that nobody will do that 05:25 est31 yea :D 05:26 est31 I've read through it, it looks good, but I haven't tested it. 05:27 hmmmm me neither 05:29 hmmmm hmm question 05:29 hmmmm are attachment positions relative to the parent 05:30 hmmmm in other words, is this line correct? https://github.com/minetest/minetest/pull/2869/files#diff-9444313da8be4290e9304a4b1faed804R148 05:31 est31 I think the important part is the parent id no? 05:32 hmmmm the parent id of 0 means no parent, right? 05:32 est31 that would make sense at lease 05:32 est31 least* 05:33 est31 I'm looking how the carts mod does it 05:33 hmmmm yeah it seems like it's accepted that 0 is no parent by convention 05:34 est31 yea 05:34 est31 l_object.cpp 05:34 est31 int ObjectRef::l_set_detach(lua_State *L) 05:34 est31 there it does: co->setAttachment(0, "", v3f(0,0,0), v3f(0,0,0)); 05:34 est31 so thats ok 05:34 hmmmm ahhh okay 05:35 hmmmm i will say the interface sucks 05:35 hmmmm but now's not the time or place either 05:35 hmmmm maybe make a jira issue for cleaning up SAO attachments 05:35 hmmmm otherwise we'd forget 05:36 est31 ok I can reproduce the issue now 05:38 est31 I guess we can merge it if my test confirms it works? 05:38 hmmmm yeah 05:39 est31 we are github here :) 05:40 est31 yup, confirmed working 05:40 hmmmm sure 05:40 est31 pusginh then 05:40 est31 pushing* 05:44 est31 ok #2917 and #2914 05:44 ShadowBot https://github.com/minetest/minetest/issues/2917 -- Fix a typo in comment of CMakeLists.txt by DLaboratory 05:44 ShadowBot https://github.com/minetest/minetest/issues/2914 -- Change texture pack description file name by ExcaliburZero 05:44 est31 both are rather trivial 05:45 est31 2914 might need documentation 05:45 est31 no, seems it doesn't 05:46 hmmmm hmm 05:46 hmmmm nope, because of the deprecated comment 05:47 hmmmm you got me wondering though, there isn't any official documentation on how to create a texture pack, is there 05:47 est31 no 05:47 est31 we need that 05:47 est31 there is some for texture overrides 05:47 est31 but not for texture packs 05:48 est31 thats a general issue though, not the pr creator's fault. 05:48 hmmmm do we need documentation for any other task that's generally making some kind of specific directory structure? 05:48 hmmmm yeah but I'm making issues as we're going along 05:48 hmmmm need to identify what should be done 05:49 est31 yea 05:50 est31 then I gonna push those two ok? 05:50 hmmmm yeah 05:52 est31 #2818 05:52 ShadowBot https://github.com/minetest/minetest/issues/2818 -- Make acc and vel deprecated in add_particle and search for acceleration and velocity instead by TeTpaAka 05:53 hmmmm belch 05:53 hmmmm that is such bad code 05:53 hmmmm he still made it better though 05:53 est31 perhaps he should really do what he has asked 05:53 hmmmm yeah 05:54 est31 https://github.com/minetest/minetest/pull/2818#issuecomment-116590314 05:54 hmmmm that would fix the main issue here 05:54 hmmmm the main issue being the lack of understandability and consistency 05:54 est31 didnt understand it back then, because I didn't know the lua api well enough 05:55 hmmmm hrm well rather 05:55 hmmmm this PR fixes actual issues 05:56 hmmmm it's not just renaming some fields for the sake of renaming them 05:56 hmmmm as a functional PR that does what it needs to do it certainly fulfills its acceptance criteria, and does it in the least frictional manner 05:56 hmmmm I think it could be merged as-is 05:56 est31 ok 05:56 est31 pushing then 06:02 est31 #2830 06:02 ShadowBot https://github.com/minetest/minetest/issues/2830 -- Added ability to specify coordinates for /spawnentity by beyondlimits 06:04 est31 tested it, works 06:05 est31 also the things asl97 pointed out have been fixed. 06:05 hmmmm what's the reason behind adding the coordinates to begin with? 06:05 hmmmm right now entities spawn right next to the player? 06:05 est31 yes 06:05 hmmmm ah good 06:05 est31 I guess its mostly for mod creators and so on 06:06 hmmmm very minor issue - the single quotes 06:07 est31 at line 553? 06:07 hmmmm no, 548 06:07 est31 ah 06:08 est31 I can modify those 06:08 hmmmm should there be a check for nil? 06:08 hmmmm lol None. I am mixing up my scripting languages 06:10 est31 also imo the playername who invokes /spawnentity should be logged too 06:12 est31 so doing this instead: core.log("action", ("%s invokes /spawnentity, entityname=%q") 06:12 est31 :format(name, entityname)) 06:13 est31 can I push? 06:16 est31 hmmmm, I've made them double quotes 06:17 est31 also, testing confirms there is no nil check needed 06:19 est31 After that pr I'd do #2898, one of my own prs. 06:19 ShadowBot https://github.com/minetest/minetest/issues/2898 -- Add AreaStore data structure by est31 06:20 est31 but first, can i push the modified pr 06:20 est31 with "" and the player getting logged 06:23 johnnyjoy est31 and sfan5, thanks again for everything. My pull is updated. I know you are busy, but if you have the chance to look at it sometime I would appreciate it. 06:24 est31 it says the build is failing 06:24 est31 johnnyjoy, here is the cmake error: https://travis-ci.org/minetest/minetest/jobs/71524026#L5509 06:24 johnnyjoy I will have a look at it now. 06:27 est31 I guess just don't do REQUIRED in find_package("PostgreSQL" REQUIRED) 06:31 johnnyjoy I'm an idiot. I had it cached. There is still something to be fixed in the cmake files. I'll get it sorted. 06:31 est31 ok 06:34 hmmmm est31: sure 06:34 est31 pushing the /spawnentity pr then 06:34 hmmmm est31: i still need to look closer at AreaStore 06:34 hmmmm that's a bigger one 06:35 est31 yea 06:35 hmmmm unit tests? 06:36 est31 good point. 06:36 est31 will have to add them. 06:37 hmmmm https://github.com/minetest/minetest/pull/2849 06:38 est31 RBA is on fixing the wielditem bug, isnt he? 06:38 hmmmm wielditem lighting you mean 06:39 est31 Calinou: "Did you notice how anti-aliasing makes wield item rendering glitchy?" 06:39 hmmmm yea 06:39 hmmmm but RBA is working on wielditem lighting right now 06:39 hmmmm I noticed that too, I still think the setting should be added though 06:43 est31 does it work without shaders? 06:43 est31 seems it does 06:44 est31 well ok then 06:44 est31 pushing it too. 06:46 hmmmm for feature requests I think people should start writing them in story format 06:46 hmmmm As a , I want , so that I can 06:46 hmmmm and then add acceptance criteria 06:47 est31 whats not enough is what rui does at many places 06:47 hmmmm definitely not 06:47 hmmmm well, at least rui is not a business analyst 06:47 est31 something between rui and wuzzi 06:54 hmmmm are you up for more? 06:54 est31 ? 06:54 est31 more prs? 06:54 est31 yea sure 06:55 hmmmm https://github.com/minetest/minetest/pull/2908 06:56 hmmmm hmm needs work 06:56 est31 yup 06:56 hmmmm I'm going to add some comments 06:57 hmmmm https://github.com/minetest/minetest/pull/2828 ? 06:57 est31 yea 06:58 hmmmm merge 06:58 est31 ok 06:59 est31 eww doesnt apply 06:59 hmmmm yeah thought so :/ 07:00 hmmmm added the rebase label 07:00 est31 ok 07:01 est31 #2901 07:01 ShadowBot https://github.com/minetest/minetest/issues/2901 -- toolchain_mingw64.cmake use mingw-w64 by Rui914 07:01 hmmmm well, looks good to me I guess 07:02 hmmmm i have obviously no way of verifying if it actually does what it's supposed to or not 07:02 est31 yea, like me 07:02 hmmmm sfan5 commented on it and he seems to be fine 07:02 est31 but given sfans comment we can merge it 07:02 hmmmm sfan5 does mingw builds so yeah 07:02 hmmmm I take that as a +1 07:02 hmmmm merge 07:03 est31 thanks for the comment on 2828 07:04 est31 this way it can be merged the moment its rebased :) 07:04 hmmmm yup 07:04 est31 (and a coredev sees it) 07:04 est31 what's your thoughts about #2910 07:04 ShadowBot https://github.com/minetest/minetest/issues/2910 -- Treegen: Add enable_unique_ids option by est31 07:05 hmmmm I totally understand paramat's problem with it 07:05 hmmmm and I can't help but agree 07:05 est31 you really think its a slowdown? 07:05 hmmmm not a slowdown 07:05 hmmmm i think we should utilize the params we have available to the best of our ability too 07:06 hmmmm so it all depends on the implementation 07:07 est31 ? have I implemented it wrongly? 07:07 hmmmm no, I'm looking at it right now 07:07 hmmmm keep in mind I haven't looked at any of this code 07:07 est31 ok 07:18 hmmmm :| 07:18 hmmmm the fundamental problem with this PR is that there is no new content param type defined for a unique ID 07:19 est31 I see. 07:19 hmmmm if it's CPT_NONE, then there is no data there 07:19 est31 I'll fix it when i have time, other things are more important 07:19 est31 yea good idea 07:20 est31 will add a paramtype 07:20 est31 and make it two consecutive if-s 07:20 hmmmm the data that is read from a parameter where the paramtype for that is NONE is undefined 07:20 est31 Do you have an idea how it should be called? 07:21 hmmmm ID? 07:21 hmmmm CPT_ID 07:21 hmmmm CPT2_ID 07:21 johnnyjoy est31, I have fixed the CMakeLists.txt, it should build just fine. 07:21 hmmmm when this paramtype is used, that parameter is a semi-unique ID with enough enthropy as the size of the parameter allows 07:21 est31 ok 07:22 hmmmm est31: just a suggestion for enhancing functionality: if CPT_ID and CPT2_ID, use both 07:22 hmmmm so that way you get double the enthropy 07:22 hmmmm double the bits 07:22 Amaz If you're looking at pulls atm, would you be able to have a look at #2911 when you get a chance? 07:22 ShadowBot https://github.com/minetest/minetest/issues/2911 -- Allow random menu images for subgames by Amaz1 07:22 est31 makes sense hmmmm. 07:26 est31 johnnyjoy, did you forget to push? 07:26 est31 its not on gihub yet 07:30 johnnyjoy I see the CMakeLists.txt on the unified view. 07:34 Amaz I have to go out now. bbl 07:39 johnnyjoy It appears I will have to look into this more. est31. I was able to clone my repo and build on a fresh VM. 07:40 VanessaE est31: what about that ID's thing for spawn_tree() ? 07:40 est31 VanessaE, hmm has commented on it, it has open issues 07:40 VanessaE ok. 07:42 est31 johnnyjoy, thats not the point, perhaps it works if the package is installed, but you shouldn't set the setting to be default on, and fail if its not there 07:42 est31 either you make it non-failing, with complaining to log that postgresql can't be found, or you make it default off. 07:43 est31 or both 07:44 est31 but people who get minetest from git should be abled to build it only with the required packages installed, without any extra config 07:44 johnnyjoy I will do whatever you think would work best. 07:44 est31 do both, imo. 07:44 johnnyjoy Okay. 07:44 est31 we can enable it by default later, if its proven to be reliable. 07:45 johnnyjoy That makes perfect sense. And thanks again for your patience. 07:46 est31 thanks for your patch :) 07:46 est31 sfan5, why do you think one should count down for 2911? 07:47 est31 or nvm 07:47 est31 its not important at all. 08:10 johnnyjoy est31, I have made the changes and tested them. defaults to false and not required for build. 08:11 est31 ok johnnyjoy lets see what the buildbot says 08:51 est31 johnnyjoy, still not building 08:53 est31 johnnyjoy, edit database-postgresql.cpp so that its inside #if USE_POSTGRESQL #endif 08:54 est31 like redis does 08:54 est31 put the if after #include "config.h" 08:55 est31 otherwise it tries to compile it even when it hasn't found postgresql 09:03 est31 nrzkt, is the proposed change in #2922 ok for you now? 09:03 ShadowBot https://github.com/minetest/minetest/issues/2922 -- Optional reconnect functionality by est31 09:04 nrzkt reread last comments: Zeno` and are need improvements :) 09:04 nrzkt s/are// 09:04 nrzkt s/are/me/ sorry :p 09:04 kilbith https://github.com/minetest/minetest/issues/2653#issuecomment-122505388 09:05 kilbith exactly what need to be fixed 09:05 nrzkt which comment is this ? the scroll doesn't show which comment is this 09:05 kilbith your 09:05 nrzkt okay 09:05 TBC_x that is caused by the minimap code 09:06 kilbith no, that leak was present far before the minimap code 09:06 est31 yes 09:06 TBC_x well, the minimap code made it worse 09:06 est31 minimap is mini leak 09:06 est31 mesh is huge leak 09:07 kilbith that mesh leak may be present since the beginning even 09:09 TBC_x is there any tool that prints sizeof of all objects? 09:09 nrzkt valgrind 09:10 TBC_x because I have no idea how to iterpret mtrace results 09:30 est31 nrzkt, is the compromise offered by me in #2922 ok? 09:31 ShadowBot https://github.com/minetest/minetest/issues/2922 -- Optional reconnect functionality by est31 09:31 est31 I will do what zeno and you pointed out 09:31 est31 thats not the part im asking about 09:31 nrzkt i wait the next version of the pr 09:31 est31 ok, will make a next version 09:32 est31 note however i will not remove the else 09:32 nrzkt i wait the version to comment 09:33 nrzkt but as i said, we have a code for CUSTOM_STRING then we don't need to do CUSTOM_STRING on other opcodes, it's not their goal. Except for shutdown and crash, because this text can change due to environment. Other texts are fixed and are client-side onlyh 09:33 nrzkt this is the design of the packet 09:33 nrzkt if some want to override it, he should use CUSTOM_STRING and do the purpose of CUSTOM_STRING, it's why it's called like this 09:34 est31 yes, therefore the other packets will send "" in that field 09:34 nrzkt no 09:34 nrzkt they send nothing 09:35 est31 no 09:35 nrzkt we don't need to send \0 to clients 09:35 est31 packets have fixed layouts 09:35 est31 we dont send \0 09:35 est31 do you know your own serialisation nrzkt ? 09:35 nrzkt if you send "" you send in reality \0 to clients 09:35 est31 no 09:35 est31 strings aren't null terminated 09:35 nrzkt right this is exact 09:35 est31 we send c++ style strings 09:36 nrzkt sorry :) this is the morning 09:36 est31 with a length 09:36 nrzkt we send a u8 len or u16 09:36 est31 yes 09:36 nrzkt oops 09:37 nrzkt i leave the chan :p did you said something ? 09:37 nrzkt left* 09:37 est31 no 09:37 nrzkt okay 09:37 nrzkt then we don't need to send u8/u16 to client 09:37 nrzkt send only the needed informations, not more 09:38 est31 why 09:38 nrzkt i let you rewrite the PR, good luck :) i'm writing some articles on linuxfr.org 09:38 est31 nrzkt, im not your slave 09:38 nrzkt i don't said that 09:38 est31 please dont block my pr 09:38 nrzkt then remove the custom string which is not needed. 09:39 nrzkt you overwrite the packet function 09:39 est31 ? 09:39 TBC_x the network protocol could be stack based IMO 09:39 nrzkt don't overwrite static strings handled by clients. 09:39 TBC_x in future versions 09:39 est31 whats stack based 09:39 est31 nrzkt, I dont override anything 09:39 TBC_x you push arguments, then an execute packet 09:40 nrzkt you override string for static string client-side 09:40 est31 I just want to have a FIXED PACKET LAYOUT 09:40 TBC_x you can have single STRING opcode for everything for example 09:40 est31 nrzkt, the client side behaviour is outside of protocol 09:40 nrzkt no 09:40 nrzkt because client handle what you send 09:40 nrzkt if you send more informations that needed you leak informations 09:41 est31 ?? 09:41 est31 nrzkt, your attitude is arrogant, I give a fuck about what you say to my pr. 09:41 nrzkt wtf 09:41 nrzkt i'm not arrogant i'm trying to doing a proper network protocol. 09:42 TBC_x every packet would have its 'executor' ID to pair it with, and a timeout 09:42 nrzkt TBC_x it's not what about we are saying 09:42 TBC_x ikr 09:42 nrzkt we are talking about packet content, not packet opcode handling 09:42 * RealBadAngel wonders if its the sun affecting folks lately ;) 09:42 nrzkt packet opcode handling is already done properly 09:43 nrzkt i talk about packet data itself, the useful data to send over network 09:43 TBC_x ikr 09:43 nrzkt what is ikr, sorry ? 09:43 TBC_x i know right 09:43 nrzkt ty 09:44 TBC_x the basic idea is, when the client doesn't understand the opcode, it can discard it 09:44 TBC_x based on negotiated protocol version 09:45 nrzkt you shouldn't handle thing you don't understand 09:45 nrzkt this can trigger unneeded behaviour 09:45 TBC_x getting ideas from PNG format 09:48 RealBadAngel https://imgrush.com/aLOzZJdVOvp1.png 09:48 RealBadAngel dont you guys think that CAO should be of the same brightness like placed node? 09:48 nrzkt RealBadAngel , i think i understand my normalmaps issue. I'm using a texture pack and that cause problems with regular normal maps 09:48 nrzkt RealBadAngel: agree 09:49 RealBadAngel nrzkt, if you want to use parallax mapping, you should support proper data for it, dont you think so? 09:49 TBC_x RBA, http://sprunge.us/XAdW vs http://sprunge.us/eDbN 09:50 nrzkt I'm not very familiar with graphic engines, but i think i should agree :) 09:50 amadin how to enable LEVELDB if i compiled with it? 09:50 RealBadAngel TBC_x, i will take care of minimap issues when im done with current one, i cant code 2 at the same time. especially when im working on the very same files 09:51 VanessaE amadin: you just select it when you create a world, or you use the --migrate switch to move an old world to leveldb 09:52 amadin so does it enable leveldb automatically and i not need any config changes? 09:52 TBC_x the first one actually fixes leaks 09:52 TBC_x the second one spits warnings that destructor won't be run 09:55 TBC_x and it doesn't segfault 10:00 TBC_x hmm... do memory leak when you fly high up in the sky? 10:00 est31 nrzkt, "I wont read your code until you have edited it so that I like it, then and only then I consider having a look at it" thats fucking arrogant 10:01 est31 TBC_x, we already discard packet opcodes we dont know 10:01 est31 also current serialisation layer has good design 10:01 est31 no need to force some pattern on it 10:01 est31 however its called 10:05 VanessaE well I'm happy to confirm the dialog-on-disconnect works, however my client reported a timeout, rather than "server shutting down" 10:07 VanessaE nrzkt: ^^^ 10:08 est31 VanessaE, it should normally send a kick at shutdown. 10:08 est31 is the server patched too? 10:09 VanessaE the server is at 9c76f379 10:09 VanessaE plus areastore patch 10:09 est31 hrmm 10:09 est31 that should work 10:10 VanessaE well 10:10 est31 it doesnt for you 10:10 VanessaE actually the server was at f9dbec6e for that particular restart 10:11 VanessaE lemme update it and re-test just to make sure 10:13 est31 works for me 10:13 est31 I've compiled 9c76f379, it works 10:14 VanessaE sign onto Testing, kill -INT from the command line, ---> client eventually says "connection timed out" 10:14 VanessaE (takes a good 20 or 30 seconds to show the message) 10:15 est31 port? 10:15 VanessaE 30007 10:16 VanessaE ok, issuing the kill -INT... 10:17 VanessaE NOW. 10:17 est31 VanessaE, you sure? 10:17 est31 usually it prints **** server shutting down 10:17 est31 if it doesnt print 10:17 est31 then the exit isnt clean 10:17 est31 whats the stdout? 10:18 VanessaE moment.. 10:19 VanessaE http://pastebin.com/78PJsy6E 10:19 VanessaE "Program received signal SIGINT, Interrupt." 10:19 VanessaE which c55 has said before is the clean way to kill it from the commandline 10:19 nrzkt est31: sorry for to be late, i was absent. I don't say that, sorry i you misunderstood, i only want to say, i'm waiting for next version to review. And i also think about another improvement on SHUTDOWN and CRASH code handling client side 10:20 est31 nrzkt, which improvement 10:21 est31 VanessaE, look at line 142 there is your answer 10:21 est31 you are sending a sigint to gdb but it translates it into sigkill for minetest 10:21 VanessaE well that's stupid 10:21 VanessaE suggestions? 10:22 est31 whats your current gdbopts? 10:22 VanessaE run 10:22 VanessaE thread apply all bt full 10:22 VanessaE quit 10:22 VanessaE that's all. 10:23 est31 what about adding "handle SIGINT pass" as first line 10:23 VanessaE ahn that might work 10:23 VanessaE ah* 10:23 VanessaE hold plz 10:25 est31 nrzkt, the next version is uploaded 10:25 nrzkt est31: thanks, i need to buy some things to eat, i will look at it later 10:26 est31 have a nice time 10:26 VanessaE est31: nope. no good 10:26 est31 stdout? 10:27 nrzkt because the packet use client-side translations, for the server shutdown and crash we have a common part: the "Server shutting down", this part can be client side, and we add ", Reason:" which could be translated too it we see the string in shutdown packet, then we only send the useful string to client 10:28 VanessaE est31: http://pastebin.com/nJbUhLFg 10:28 VanessaE and gdbopts is now: http://pastebin.com/ 10:28 nrzkt then packet std::string could be "maintenance" and the client will do gettext("Server shutting down") + gettext(", Reason: ") + packet std::string 10:28 nrzkt then in french we could have the result: "Extinction du serveur, Raison: maintenance" 10:28 est31 wow gdbopts is pastebin.com 10:29 est31 lol :D 10:29 VanessaE fek 10:29 VanessaE http://pastebin.com/B4cGjTUY 10:29 VanessaE helps if I hit "submit". 10:29 VanessaE :P 10:29 TBC_x btw, why do you use gdb instead of core dumps? 10:29 VanessaE TBC_x: because I don't want to argue with debian to get it to generate them 10:30 TBC_x oh 10:31 nrzkt but est31, for this enhancement i said, we will review you PR and merge it when it will be ready and i will propose PR enhancement 10:31 est31 VanessaE, can you also add "handle SIGINT nostop" 10:32 TBC_x I'm not sure whether this is an issue or not, but client core dumps do leak user passwords, in case someone decides to upload it 10:32 VanessaE ok 10:32 nrzkt TBC_x: where user password is stored ? 10:32 VanessaE est31: before or after the 'pass' option? 10:32 est31 VanessaE, doesnt matter 10:32 VanessaE ok. 10:32 TBC_x the memory 10:32 est31 nrzkt, its stored at million places 10:33 TBC_x actually you can see it in a stack trace 10:33 kilbith minetest looks like a stainer reading all those leaks 10:33 est31 the password isnt leaked 10:33 est31 its stored on the stack 10:33 TBC_x not talking about memory leak, talking about security 10:33 VanessaE kilbith: it "leaks like a sieve" 10:34 kilbith i meant strainer sorry 10:34 est31 TBC_x, we need the password if we want to reconnect to the server 10:34 VanessaE est31: BINGO. 10:34 TBC_x that is right 10:34 est31 could be done with a token too 10:34 est31 and a custom login mechanism 10:34 VanessaE not sure I like it saying "Access denied" though. 10:34 VanessaE but whatever, as long as the message is correct, 10:35 est31 VanessaE, that will be changed 10:35 est31 I've made first preparations for it in my PR 10:35 VanessaE ok. 10:35 TBC_x I do suggest temporary tokens 10:36 est31 adding auth mechanisms is easy now 10:37 est31 and instead of the password itself, we can pass a pointer to the password 10:38 VanessaE nice time for X to crash :P 10:38 VanessaE it doesn't like the window manager being restarted too much :) 10:39 est31 ok 10:39 est31 what does gdb say? 10:39 TBC_x what TextureSource::getTextureId(const std::string &) does exactly? 10:39 TBC_x apart from leaking memory 10:40 VanessaE est31: me? 10:40 est31 VanessaE, you! 10:40 VanessaE lol 10:40 est31 :) 10:40 TBC_x src/client/tile.cpp:482 10:41 VanessaE est31: http://pastebin.com/9VH1xBAK looks like a normal shutdown now. 10:44 est31 VanessaE, if the timeout still occurs, file an issue 10:44 est31 im gone eating 10:45 VanessaE it seems fine now, est31 10:45 VanessaE those couple of opts sorted that out. 10:45 VanessaE bon appetit 10:45 TBC_x I think i hate Mapper::Mapper 10:51 TBC_x why is there minimap_mask_round and minimap_mask_square? 10:52 VanessaE because it has two modes, accessible from shift-F9 10:54 TBC_x the name suggests it may be square or a circle 10:55 TBC_x also, it segfaults when the texture images don't exist 10:57 TBC_x is missing texture a reason to throw an exception? 10:57 VanessaE definitely not. 10:57 VanessaE however, with the minimap...well 10:58 VanessaE I can't guess what it would look like with a "dummy" texture 11:02 TBC_x i commented out generateTexture() 11:03 TBC_x and I think it is nonsense to continue with no textures 11:03 TBC_x for a game 11:03 VanessaE agreed in general but where do you draw the line? 11:04 VanessaE is one missing texture bad enough? or 10? or say 50% (of the total count)? 11:04 TBC_x exception handlers 11:04 nrzkt VanessaE: in english we tell "Bon Appetit" in french ? 11:04 VanessaE nrzkt: we use the French phrase here too, yeah 11:05 TBC_x but I found code that don't check for missing texture and segfaults 11:05 VanessaE we have Julia Child to thank for that :) 11:05 TBC_x and i suspect that missing texture doesn't happen every tick or so 11:05 VanessaE (she popularized it with her cooking show back in the 50's or whatever it was) 11:07 TBC_x I just found uncaught exceptions easier to track down than ambiguous segfaults 11:07 nrzkt okay :D thanks for the tip :) 11:51 TBC_x we probably need to create generic cache class 11:53 TBC_x because it seems that this is the leaking thing 11:54 est31 nrzkt, I think we should send reconnect always 11:54 est31 also for custom string 11:55 est31 e.g. when people kick users they can use it to display a message 11:55 est31 you can have softkick and hardkick 11:55 est31 softkick is with a reconnect button hardkick you have to enter your password again 11:56 est31 whatever 11:57 est31 now i found out that we cant do it because of legacy 11:58 nrzkt this is exact 11:59 nrzkt i don't know if we should do it by default 11:59 nrzkt but you argument is exact 12:00 est31 ok im doing it in a way so that it can be translated by the client 12:00 est31 if the setting is the default, and not changed, we send "" 12:01 est31 then on the client side it can be translated 12:02 TBC_x I hope i finally found the leak, for real 12:02 TBC_x nobody ever gets to take out the texture trash 12:04 est31 RBA's argument: "its deleted on shutdown" 12:04 TBC_x too late 12:04 est31 yup 12:04 TBC_x i suspected it is his code 12:05 TBC_x because i saw the same thing in minimap 12:05 est31 ? 12:05 TBC_x but without the trash can 12:07 TBC_x hmm 12:09 nrzkt est31: for translation you talk about shutdown and crash, not others right ? 12:10 est31 the others can already be translated 12:14 VanessaE TBC_x: is that you on VE-Basic? 12:20 kilbith nrzkt: seems like your android builder is failing on everything 12:20 est31 kilbith, its because sf.net is down 12:21 kilbith ok 12:21 est31 https://twitter.com/sfnet_ops 12:21 est31 "pending restoral" 12:22 kilbith by failing i mean on the PRs 12:22 est31 yes 12:23 est31 its trying to get irrlicht source code from svn which is on sf.net 12:23 est31 then its failing 12:23 TBC_x VanessaE: I think, yes 12:23 est31 just look at one of the logs 12:23 est31 nrzkt, PR updated 12:27 nrzkt kilbith it's due to sf incompetence 12:27 nrzkt i hope irrlicht will migrate to github 12:28 nrzkt est31: will loook at this 12:28 est31 I hope there will be a well enough 3d engine released we can use as replacement for irrlicht 12:28 TBC_x i was thinking about OSG 12:29 nrzkt i see torque3d release this month 12:29 nrzkt est31: you didn't update conditions on client packet handling to have a simpler condition scheme ? 12:30 est31 nrzkt, I did 12:30 est31 if (denyCode == SERVER_ACCESSDENIED_SHUTDOWN || 12:30 est31 denyCode == SERVER_ACCESSDENIED_CRASH) { 12:30 est31 *pkt >> m_access_denied_reason; 12:30 est31 if (m_access_denied_reason == "") { 12:30 est31 m_access_denied_reason = accessDeniedStrings[denyCode]; 12:30 est31 } 12:30 nrzkt oh sorry: i forget github doesn't refrash tab :) 12:30 est31 u8 reconnect; 12:30 est31 *pkt >> reconnect; 12:30 est31 m_access_denied_reconnect = reconnect & 1; 12:30 est31 } else if (denyCode == SERVER_ACCESSDENIED_CUSTOM_STRING) { 12:30 est31 *pkt >> m_access_denied_reason; 12:30 est31 } else if (denyCode < SERVER_ACCESSDENIED_MAX) { 12:30 est31 m_access_denied_reason = accessDeniedStrings[denyCode]; 12:30 est31 } else { 12:31 kilbith :O 12:31 kilbith pastie ! 12:32 nrzkt it's okay for me now :) 12:32 nrzkt great job 12:33 nrzkt if i get some time i will look to use a common irrlicht code instead of downloading to fix android build 12:34 est31 also, there exist github mirrors for irrlicht 12:35 nrzkt do you know official ? 12:35 TBC_x I got Irrlicht-1.8.1 sources from a japan web 12:36 kilbith est31: https://github.com/zaki/irrlicht 12:36 est31 !title 12:36 ShadowBot zaki/irrlicht · GitHub 12:38 nrzkt http://www.endtime.at/ :o by a irrlicht dev :) 12:39 est31 so you can compile irrlicht for emscripten? 12:39 TBC_x I hate websites that cannot display without JS 12:39 est31 or is that another engine 12:39 est31 TBC_x, better than websites that cannot display without flash 12:39 nrzkt est31: agree xD 12:39 nrzkt HTML5 is great for doing good apps 12:40 est31 but yea, now is the time i guess i have to add "before it was cool" when saying "I've uninstalled flash", because before long everybody has done it 12:41 nrzkt #2930 what do you think about it est31 ? 12:41 ShadowBot https://github.com/minetest/minetest/issues/2930 -- Refactor particle code to remove the while loops by TeTpaAka 12:41 est31 I'll have to read through it 12:41 TBC_x HTML seems abused to me 12:42 est31 seen it 12:42 est31 TBC_x, HTML is abused, but its an open technology, and js code runs in a sandbox with well defined interfaces to my system 12:43 est31 I can run completely untrusted code from web pages, and feel safe 12:43 est31 try that with normal "native" code 12:43 nrzkt sfan5: are you there ? 12:44 sfan5 yes 12:44 TBC_x no OS offers prober sandboxing 12:44 TBC_x s/prober/proper/ 12:44 nrzkt can you provide me 1 year minetest version stats ? 12:44 sfan5 what do you mean 12:44 nrzkt i need to have all minetest version used 12:44 TBC_x I feel confident enough to run untrusted code inside Plan9 12:44 sfan5 in the previous year? 12:45 nrzkt on master server you do stats 12:45 nrzkt yes , or at least since 1st january 12:45 nrzkt http://meow.minetest.net/tmp/serverlist_stats_2015-03-14.txt 12:45 sfan5 so for 187h july 14 -> 17th july 15 12:45 nrzkt like this 12:45 sfan5 ? 12:45 nrzkt yes :) 12:46 sfan5 ok 12:46 nrzkt i need to have 1 year old client version stats 12:46 nrzkt don't merge 0.4.7 and lesser versions 12:46 nrzkt i need to know which protocol version can be dropped 12:46 sfan5 not my choice to merge 0.4.7 or older 12:46 nrzkt oh ? 12:46 sfan5 all of them identify with "Minetest" 12:47 nrzkt shit 12:47 nrzkt then, do better you can :( 12:48 nrzkt interesting thing could be having : 1year old stats, 6 month old stats , 2 month old stats and 1 month old if you can 12:48 nrzkt this permit me to view stats evolution 12:48 nrzkt maybe it could be interesting to send those datas to an ELK to have real stats 12:48 kilbith ideally with a graph 12:48 sfan5 http://meow.minetest.net/tmp/serverlist_stats_2015-03-14.txt thats about 5 months i think 12:48 sfan5 6* 12:49 nrzkt yes but i need all to today :s 12:49 sfan5 yes 12:49 sfan5 i know 12:49 nrzkt i need to compare the minetest version evolution on the 4 interval i quote 12:49 nrzkt and if i get time today i will give you a patch to send those useful datas to my graph engine to have a better view 12:50 nrzkt please note also to win speed: 12:50 nrzkt cat game.log | cut -d '"' -f 6-7 | grep -E "^Minetest/0\.4\.12" | wc -l 12:50 nrzkt you can do: 12:50 nrzkt cat game.log | cut -d '"' -f 6-7 | grep -c -E "^Minetest/0\.4\.12" 12:52 nrzkt this permit to read stdout only 3 times, not 3 :) 12:52 nrzkt not 4 13:12 sfan5 nrzkt: last month: http://meow.minetest.net/i/49d95864053f1cd7.txt 13:12 nrzkt thanks 13:14 sfan5 nrzkt: gUnknown is android 0.4.11 or newer 13:15 nrzkt our client has this problem ? :o if it's the case we should fix it 13:15 sfan5 i think it was already fixed 13:16 sfan5 nrzkt: do you need 2 months ago -> today or 2 months ago -> 1 months ago? 13:16 nrzkt last two month 13:16 sfan5 ok 13:17 sfan5 http://meow.minetest.net/i/7c0025805b7bbd8d.txt last two months 13:17 sfan5 but is it really that useful to compare between non-equal durations? 13:18 nrzkt you are right 13:18 nrzkt it's better to have the previous month :) 13:18 sfan5 so you want 2 months ago till 1 months ago? 13:18 nrzkt ofc :) 13:22 sfan5 nrzkt: http://meow.minetest.net/i/ae9084a62308b55c.txt 2 months ago -> 1 month ago 13:25 nrzkt ty 13:25 nrzkt this is sufficient for me atm, thanks :) 13:26 sfan5 ok 13:30 est31 there are tons of places where we can remove or refactor code, I think removing legacy compatibility is mostly a time waste 13:31 nrzkt yes est31 13:31 nrzkt i'm finishing a thing and i will do some more stats 13:31 nrzkt sfan5: your minetest logs are starting when ? 13:32 sfan5 but we should deny very very old clients from connecting 13:32 sfan5 [23/Dec/2014:13:31:13 -0500] 13:32 sfan5 i can dig up older logs if needed 13:33 nrzkt it's just for information, if you tell me when is the first log line you have i could be cool :) 13:34 sfan5 [27/Jun/2014:17:14:08 -0400] 13:34 sfan5 oldest i have 13:34 nrzkt okay, thanks 13:34 nrzkt i think this is sufficient to have 1 year logs 13:36 TBC_x is irrlicht refcounting thread safe? 13:38 est31 no idea 13:38 est31 guess not 13:38 est31 irrlicht isn't known for its thread safe-ness 13:39 est31 this is more a question for #irrlicht 13:39 est31 if you have an answer, please share it :) 13:41 TBC_x #irrlicht looks like a parking lot 13:41 TBC_x they join the # and walk away 13:45 TBC_x was irrlicht really a good pick? 13:45 nrzkt i was the original choice 13:52 est31 VanessaE has said that zeno has said that he is 49% finished with rendering engine abstraction 13:58 nrzkt oO he told me two days ago 5% xD 13:58 nrzkt this man is crazy, i like it :p 14:03 VanessaE it was 40% but that was months ago 14:03 VanessaE maybe he rolled his "counter" backward :) 14:18 Calinou we can always fork Irrlicht... this is what the STK guys did 14:18 Calinou there was nothing better back in october 2010 14:18 nrzkt sfan5: https://github.com/minetest/master-server/pull/7 14:18 nrzkt a little python code improvement 14:38 nrzkt :x 14:38 nrzkt oops vi window fail :) 14:38 sfan5 ? 14:38 sfan5 something something real programmers use emacs 14:38 nrzkt thanks for the merge 14:39 nrzkt sorry bsd-vim is sufficient for me :p 16:14 kilbith ERROR[main]: Client::handleCommand_ActiveObjectMessages: caught SerializationError: deSerializeString: couldn't read all chars 16:14 kilbith uh ? 17:19 est31 hmmmm, kahrl nore nrzkt paramat RealBadAngel sfan5 Tesseract celeron55 About the website contest, I'd like to officially announce its start. I've drafted the topic here: http://pastie.org/private/uyhmzykkwmhy8lb28efikq 17:19 nrzkt A design contest ? 17:19 nrzkt :o 17:19 nrzkt i forget something :p 17:20 * Tesseract kind of likes the current site... 17:20 Tesseract est31: You forgot ND :-P 17:21 * paramat looks 17:22 est31 Tesseract, ok will add that :) 17:24 Tesseract "neutral as possible. however." -- What does "neutral" mean. Also, "however" isn't a full sentence and it should be before what it's modifying to make it clearer. 17:24 est31 ah the however is an artifact 17:24 est31 will remove 17:25 Tesseract I would also consiter a Flask/Django or even Rails app acceptable. 17:25 est31 its mostly about hosting 17:25 Tesseract As long as it's not PHP or Perl or something like that. 17:26 est31 celeron55 only wants to host dokuwiki, and github only has jekyll 17:26 hmmmm Tesseract, any news on the threading refactor? 17:27 Tesseract hmmmm: No. I haven't heard of any issues with it and it seems to work on all platforms though. 17:28 Tesseract Just needs a rebase. 17:28 Tesseract I was working on fixing UpdateThread today, but I need something like std::condition_variable to do it right. 17:29 hmmmm pthread_cond_wait? 17:30 hmmmm in any case, what's up with the .hpp? 17:30 Tesseract hmmmm: Yes, of course, I'd need to add another threading module. 17:30 hmmmm people don't like it 17:30 Tesseract Well, it's because it's a C++ header and not just a C one. That could be changed though... 17:31 hmmmm all the rest are .h... 17:31 nrzkt Tesseract: please use .h 17:36 TBC_x .hpp feels dirty 17:44 Tesseract TBC_x: Why so? 17:48 TBC_x looks like a reference to Harry Potter with an extra P 18:18 Calinou est31, looks OK, but maybe write guidelines like "Must be reponsive", "Must not cause too much data usage (for mobile networks)" and such 18:18 Calinou stuff that isn't immediately obvious to regular people who would vote 18:19 nrzkt should use angular js :D 18:19 Calinou est31, also I don't have any Jekyll experience :( and no DokuWiki knowledge either 18:20 Calinou maybe I'll help someone who knows that, for the front-end 18:20 est31 lets see 18:20 est31 I'll make the topic then. 18:20 est31 also I'll add the mobile networks thing, thats good 18:20 Calinou where will the submission topics be posted? 18:24 Calinou est31, also, very important, which kind of content shall we include? 18:24 Calinou you probably should draw some kind of tree (tip: make a directory structure and call the "tree" command) 18:25 Calinou eg. Main, Downloads, Popular Mods/Texture Packs/Subgames, Development, link to Wiki/Forum/IRC... 18:48 celeron55 Calinou: it should have roughly the same content as the current one, but of course some of it is outdated and/or not really well made currently so those can be improved 18:49 celeron55 it's intentional that there is some freedom 18:50 celeron55 the only strict goal is to make a good updated landing site to sit in front of the forum and the wikis and all of those things that we have - the purpose is important, not how the purpose is exactly fullfilled 18:50 celeron55 fulfilled* 19:00 est31 I'm copying this :D 19:14 Tesseract hmmmm: I've rebased my threading pull and changed Thread.hpp/MutexAutoLock.hpp to thread.h/mutex_auto_lock.h. 19:15 Tesseract (Not quite finished yet though) 19:15 est31 we have CamelCase in .h files, no? 19:16 est31 no, sorry im wrong 19:16 Tesseract Just everythingisonebigwordwithnodeliniation or with_underscores. 19:17 est31 well, we dont have any style thats possible 19:17 est31 irrlichttypes_extrabloated.h 19:17 hmmmm should there be a style then? 19:17 Tesseract Well, there's gui* 19:17 est31 luaentity_common.h 19:17 est31 guiKeyChangeMenu.h 19:17 Tesseract hmmmm: Maybe. I'm fine with anything but the lowercase no deliniation thing. 19:17 hmmmm i'm not saying that code sucks unless it conforms to some specific style, it's just that i've personally noticed that when code has inconsistent style it usually has lower quality all around. 19:18 est31 !g deliniation 19:18 ShadowBot est31: http://www.watershedcouncil.org/water%20resources/wetlands/wetland-identification-and-deliniation/ | Wetland Identification and Delineation. Wetland determination (sometimes called identification) is simply the determination of whether an area is a wetland or ... 19:18 hmmmm perhaps we should agree on lowercase_underscore_unix_style_like_this 19:18 hmmmm ?? est 19:18 hmmmm also celeron? 19:19 hmmmm let's get as many opinions on this as possible before making a new rule.. 19:19 est31 as long as it isnt lower_case_under_score_unix_style 19:19 Tesseract Threading rebase pushed. 19:19 est31 +1 19:19 est31 (to hmmmm) 19:19 hmmmm lol 19:20 hmmmm est31: would you prefer lowercasewithnodeliniationstyle? 19:20 Calinou yesbecausesauerbratendoesitthiswayitissomuchbetterthanthosepeskyunderscores 19:20 Tesseract est31: Were you joking? 19:20 Calinou /typethiscommandtoquitthegameibetyoucantypeitcorrectly 19:20 est31 Tesseract, partly yes 19:20 hmmmm camelCase looks ugly for everything except method names 19:21 hmmmm imo 19:21 est31 yea 19:21 Calinou I think file names should be like_this 19:21 Calinou it's the most common in my experience 19:21 hmmmm yea 19:21 Tesseract Three main styles are UpperCammelCase, lower_underscore, and lowerCamelcase then. 19:21 hmmmm so me, calinou, and SN for lower_underscore 19:21 hmmmm Tesseract: UpperCamelCase is better known as PascalCase 19:21 est31 and CamelCase looks ugly for everything except class names 19:22 Tesseract I'm fine with any of those three, although I prefer the first two. 19:22 hmmmm same 19:22 hmmmm either PascalCase or lower_underscore_case 19:22 est31 yea 19:22 celeron55 so are we voting explicitly about file names now? 19:22 hmmmm i would prefer the latter of the two because like calinou said, it seems to be more standard everywhere and also most of the current filenames use that style 19:23 est31 its mostly something about prefference, there are no technical arguments 19:23 celeron55 i prefer lower_underscore_case 19:23 hmmmm the only outliers are guiBlahBlah.cpp and what were originally JMutex files (PascalCase) 19:24 Tesseract And things like touchscreengui.cpp. 19:24 est31 well thats ok imo 19:24 est31 as long as its not touchscreenguimanager.cpp 19:24 hmmmm that's lowercasewithnodeliniation style 19:25 hmmmm lol it's sort of like german words 19:25 est31 Reichsermächtigungsgesetz <--- evil thing 19:26 hmmmm hmm 19:26 hmmmm so est, you're the only one against lowercase_underscore_unix_style 19:26 hmmmm how do you feel about that? :D 19:27 est31 I dont like camel or pascal case 19:27 est31 just sometimes lowercasewithnodeliniation is more convenient 19:27 est31 _ is hidden behind a modifier key on my keyboard (caps) 19:28 Tesseract est31: There's a clear readability argument against that though. 19:28 Calinou not on AZERTY :) 19:28 Tesseract est31: I think it's worth the extra second typing. 19:30 est31 is areastore.h really too long? 19:30 celeron55 i'm actually also fine with lowercasewithnodeliniation 19:31 celeron55 (it's how Qt and Qt-style projects do things, if someone is wondering) 19:31 Tesseract I read that as "lower case with node liniation" until I correct myself though. 19:32 celeron55 yeah the downside of that is obvious 19:34 Tesseract It seems we can all aggree on lc_us style though. 19:34 est31 lc_us? 19:35 Tesseract lowercase_underscore 19:36 est31 es 19:36 est31 yes* 19:41 Calinou why isn't the website competition in News section? 19:44 est31 Well its no real "announcement" 19:54 Calinou also, is IE8 support necessary? 19:54 Calinou or can we develop using modern techniques? 19:55 hmmmm i don't think someone who uses IE8 would be interested in minetest 19:56 est31 wow it has 13.58% market share 19:58 Calinou yeah... I'm about to use jQuery 2.x, REM units and HSLA colors 19:58 Calinou stuff that's not supported on IE8 19:58 Calinou I have no machine with IE8 to test 20:10 Calinou got Jekyll up and running 20:14 Calinou now to configure Grunt... 20:16 TBC_x I maybe missed the discussion, but I prefer lowercase/directory 20:24 Calinou so... I'll design my site to not take IE8 into account... but I might port it if needed 20:24 Calinou it's not like we are commercial 20:25 est31 sounds good 20:26 TBC_x I was using XML and XSLT to do websites 20:27 TBC_x the freehosting couldn't put ads in xml 20:29 luizrpgluiz a friend told me that if for example the minetest client besides show ip, it could also show the mac computer, this can be useful when the admin server can give minetest ban more efficient 20:30 est31 you mean the mac address? 20:30 luizrpgluiz yes, 20:30 luizrpgluiz because anyway changing the computer IP, the client can not connect to the server which would force change computer mac 20:30 Calinou 1. faking your MAC address is possible, and rather easy with the appropriate tools 20:30 Calinou 2. think of user privacy... we are not PunkBuster or something 20:30 est31 heh, the problem is just that the mac address is completely irrelevant 20:31 est31 except inside a local network 20:31 est31 and even there you can fake. 20:31 est31 as Calinou outlined. 20:35 TBC_x yeah, basically, to the network, you can say whatever you want and they'll believe you most of the time 20:35 TBC_x in the end, it is just a stream of 0 and 1's 20:37 nrzkt mac address doesn't have to be giving to anybody. 20:37 nrzkt look at the IPv6 autoconfig patch on linux kernel recently, they remove the usage of the man to generate a stable ipv6 autoconf address 20:37 nrzkt moreover mac address collision is possible, very rare but possible 20:43 luizrpgluiz hummmm 21:08 nrzkt 0.4.12 is not very used by users :( 21:09 nrzkt currently the most used is gUnknown and 0.4.10 21:09 est31 this is general problem of software i guess, look at android version distribution 21:09 nrzkt after this is an android tag and 0.4.11 and then 0 21:09 nrzkt 0.4.12 21:09 est31 we have no other way than watching, being sad, and releasing new versions. 21:09 nrzkt maybe we should advertise users to update by talking to public server list ? 21:10 nrzkt for newer clients , for olders we don't have a such mechanism 21:10 est31 I dont think so, think of distribution package managers 21:11 nrzkt maybe we should do that work ourselves to be sure it's up to date 21:11 est31 they only include up to a certain version, then wait until the next distro is released 21:11 nrzkt go on all current distros used by our users and which are supported and package the new version 21:12 est31 thats not the problem 21:12 est31 e.g. if you are using ubuntu 12.04 like pilzadam 21:12 est31 then you are stuck with outdated minetest 21:12 nrzkt why ? 21:13 est31 because its ubuntu policy to not update with feature releases after release of OS. 21:13 est31 otherwise its rolling release os 21:16 nrzkt what about games ? 21:17 nrzkt network games especially 21:17 nrzkt or we should have a backport version and our repo for users ? 21:25 est31 there is an exception for web browsers 21:25 est31 but I guess minetest wont get it 21:26 est31 if we had as many users as minecraft, perhaps 21:48 johnnyjoy est31, I made the change you asked for last night. Please let me know if there is anything else, and thanks again. 21:49 est31 yey its building! 21:51 johnnyjoy That is encouraging. 22:00 nrzkt as i see in stats we could remove 0.4.6 and lesser support in protocol it's not used anymore. When data analysis will be finished i confirm we could cleanup 22:01 est31 well I think time is better spent doing other things, but if you insist... 22:02 est31 but its good to make a study 22:02 est31 perhaps I dont realize how much code we can spare 22:02 est31 lets see first :) 22:02 nrzkt i need to be sure, having the correct filter for those lesser versions 22:03 nrzkt the current analysis is not finished yet 22:03 est31 ok 22:07 est31 johnnyjoy, can you squash your patch? 22:07 est31 I can't apply it 22:10 johnnyjoy est31, forgive me for asking, but how do I squash it? 22:12 RealBadAngel git rebase -i HEAD~2 (where 2 is number of commits to squash) 22:12 RealBadAngel then: git push -f 22:12 johnnyjoy Thanks. 22:12 est31 also, mark all commits as "fixup" 22:13 est31 except the first one 22:13 est31 (you will be presented a text editor, where you can edit the list of commits) 22:17 johnnyjoy How many commits should I squash? 22:18 est31 all of them. if you dont use the HEAD~number notation, but direct commits, you dont have to remember the number 22:19 est31 just take the first commit thats not yours 22:19 est31 type git log, you will see a list of commits 22:19 johnnyjoy Thanks. 22:19 est31 scroll down until you get to the first one thats not yours, extract the has 22:19 est31 h 22:20 est31 in your case it would be git rebase -i b30e8d8ec689f then. 22:25 johnnyjoy had to git stash, now I have a list of picks. Should I just squash all of them? 22:26 est31 "list of picks" ?? 22:28 johnnyjoy I'm in pico with a 4 lines that start with pick, followed by a hash and a comment from a commit. 22:29 est31 yes, replace "pick" with "f" at every line 22:29 johnnyjoy Thanks. 22:29 est31 except first one 22:29 est31 that should remain pick 22:40 johnnyjoy I need to read up more on git. 22:41 johnnyjoy Now I just push? 22:41 est31 push -f 22:41 johnnyjoy Okay. 22:44 johnnyjoy est31, I get "fatal: You are not currently on a branch." 22:45 est31 johnnyjoy, did you do git checkout commit before? 22:46 johnnyjoy Not that I'm aware of. 22:46 est31 what does git status say? 22:47 johnnyjoy Not currently on any branch. 22:47 johnnyjoy nothing added to commit but untracked files present (use "git add" to track) 22:48 est31 then you should checkout the branch your changes are on 22:48 est31 and do the rebase again 22:48 johnnyjoy Okay. Thanks. 22:51 johnnyjoy It's rebased. 22:51 johnnyjoy i'm going to push. 22:53 johnnyjoy Great. Things showed up that aren't mine. 22:54 est31 ? 22:55 est31 ah I see 22:56 est31 well thats bad 22:57 est31 ok rescue mission 22:57 est31 do git checkout your branch name 22:57 est31 then do "git reset --hard b6939af3332bf3071" 22:57 est31 then you should have the state before the rebase 22:58 est31 if you have done that, rebase your pr again. 22:59 johnnyjoy Okay. 23:01 johnnyjoy fatal: ambiguous argument 'b6939af3332bf3071': unknown revision or path not in the working tree. 23:02 johnnyjoy That is the error I'm getting. 23:03 est31 ahh 23:04 est31 whats the output of git reflog | grep "USE_POSTGRESQL" 23:05 est31 or just git reflog, and put it in a pastebin 23:06 johnnyjoy git reflog | grep "USE_POSTGRESQL" 23:06 johnnyjoy nothing 23:06 johnnyjoy git reflog 23:06 johnnyjoy 2e9cd4d HEAD@{0}: clone: from https://github.com/johnnyjoy/minetest.git 23:07 est31 did you remove the directory, and then clone??? 23:07 est31 fresh clone? 23:07 johnnyjoy Fresh clone. 23:07 est31 oh dude 23:08 est31 git gives you guarantees, no commit is lost and so on, but if you remove it, and do a fresh clone, you lose this guarantee 23:09 johnnyjoy Ah, I did not remove the other copy. 23:09 johnnyjoy I can go back to that one. 23:09 est31 yes do it 23:09 johnnyjoy git reflog | grep "USE_POSTGRESQL" 23:09 johnnyjoy b6939af HEAD@{36}: commit: Added #if USE_POSTGRESQL #endif 23:10 est31 well, here the command from above should work 23:10 est31 the reset --hard one 23:10 johnnyjoy it did. 23:13 johnnyjoy I'm in the rebase text file in pico. I should change pick to 'f' for all but the last one? 23:13 est31 for all but the first one 23:13 johnnyjoy Glad I asked. 23:14 est31 the one you want to "keep" 23:14 est31 at least if im not wrong 23:14 est31 whats the first and last entries? 23:15 johnnyjoy Dang. I saved the file and it rebased. Sorry. 23:15 johnnyjoy I have back ups, so nothing can be lost. 23:15 est31 no problem 23:15 est31 also, nothing is lost in git 23:16 est31 if you dont do really dangerous stuff 23:16 johnnyjoy That's like my mom's house. Nothing is lost, but it's also not easy to find. 23:16 est31 git reflog is most times a good helper, to find lost commits 23:17 johnnyjoy Thanks. 23:17 johnnyjoy It's clear I need to spend a few hours learning more about git an github. 23:17 est31 yea 23:17 est31 but its worth it i think 23:17 johnnyjoy Do I just push now that it's rebased? 23:17 est31 push -f 23:18 johnnyjoy fingers crossed 23:19 TBC_x well... you learn git by using it 23:19 TBC_x not once I had to do recovery from unlinked commits 23:19 johnnyjoy I think that might be the best way. 23:20 TBC_x just write useful code for MT, git skills will come with it 23:20 johnnyjoy Oh, boy. It seems to still include a number of files that should not be there. 23:20 johnnyjoy Come for the MT, stay for th git. ;) 23:21 TBC_x I sometimes commit changes in multiple files, then just squash commits 23:21 johnnyjoy I'm not worried. I just feel like the guy who doesn't know how to get his first pickaxe. 23:22 est31 can you get it back to the state before the rebase, and push that? 23:22 est31 we can take care of it later 23:23 johnnyjoy I'm not sure if I can. How do you un-rebase? 23:23 est31 do that git reset --hard thingy i told you before 23:23 johnnyjoy Okay. 23:23 TBC_x cppcheck http://sprunge.us/AXMQ for 8ac0cf500ff336c43f6c42b306431fa6564b7cc8 23:25 johnnyjoy The hard reset worked. 23:30 johnnyjoy I have to take care of things in the real world for a few hours. If this is going to be a big problem I could make a new PR. 23:51 paramat hi hmmmmmm any comments on #2932 ? 23:51 ShadowBot https://github.com/minetest/minetest/issues/2932 -- Cavegen: Mgv6: No small caves entirely above ground by paramat 23:51 paramat http://i.imgur.com/x7Ryciv.png 23:52 hmmmmmm the ravines do suck, don't they :p 23:52 paramat heh 23:52 hmmmmmm 3d noise caves are so much nicer 23:52 hmmmmmm also 3d noise caves do create natural ravines at times 23:53 paramat yeah 23:54 hmmmmmm wait 23:54 hmmmmmm what are you doing to V6 caves 23:55 paramat enabling that 'Do not make large caves that are entirely above ground' check for small caves too 23:55 hmmmmmm no don't do that 23:55 hmmmmmm you need entrances to caves on mgv6 23:56 paramat we won't lose entrances 23:56 paramat i rewrote that code to only 'return' if both start and endpoint are above ground 23:56 paramat so caves will still pass through the surface 23:57 paramat i had to do that to preserve how large caves shape mgv6 surface 23:57 hmmmmmm alright good 23:57 paramat and tested by making large caves water 23:57 hmmmmmm so now why is this being done anyway? 23:57 hmmmmmm it wasn't a problem for the longest amount of time 23:57 paramat the code is copied from mgv7 cavegen 23:58 paramat oh.. 23:58 paramat shadow bugs in mgv6 were being caused by large caves high above ground 23:58 TBC_x why ScriptApiSecurity::safeLoadFile does even use stdin? 23:58 paramat see #1190 23:58 ShadowBot https://github.com/minetest/minetest/issues/1190 -- Strange bug in light spreading 23:59 paramat fixed by that check on large caves 23:59 TBC_x at src/script/cpp_api/s_security.cpp 23:59 est31 TBC_x, you might want to talk with Tesseract about this 23:59 est31 its his code 23:59 TBC_x looks dirty