Minetest logo

IRC log for #minetest-dev, 2016-05-02

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

All times shown according to UTC.

Time Nick Message
01:27 Void7 joined #minetest-dev
01:54 ABun joined #minetest-dev
02:19 DI3HARD139 joined #minetest-dev
03:04 RichardTheTurd joined #minetest-dev
03:16 misprint joined #minetest-dev
04:16 Zeno` joined #minetest-dev
04:26 Zeno` How about: http://dpaste.com/16DHSTJ
04:26 Zeno` when indented properly of course
04:29 Zeno` (regrading #4068)
04:29 ShadowBot https://github.com/minetest/minetest/issues/4068 -- Mingw cross-compiler error for minetest ver 8fe753c
04:36 hmmmm sure, i guess that's fine
04:40 Zeno` it's probably the neatest solution without restructuring everything
04:40 Zeno` I'll merge it soon then
04:51 hmmmm gahk
04:51 hmmmm the mapgen is a total mess
04:58 hmmmm question:  you have a class that you wanted to abstract away, so you made a base class that's shared with other similar classes
04:59 hmmmm however you forgot to delete one of the members from the derived class that is now present in the base class
04:59 hmmmm now, when the member gets assigned in the newly derived class, it'll get applied to the derived instance of the variable, not the base instance of the same name
04:59 hmmmm how can you prevent this mistake from happening?
05:00 hmmmm frankly i don't trust my eyes
05:03 Zeno` huh
05:06 hmmmm https://paste.fedoraproject.org/361697/62165558/
05:06 Zeno` The compiler doesn't even emit a warning?
05:06 hmmmm nopers
05:07 hmmmm [ryan@titan] ~/dev/minetest% clang++ -Wall -pedantic test.cpp -o test
05:07 hmmmm [ryan@titan] ~/dev/minetest%
05:07 jin_xi joined #minetest-dev
05:08 Zeno` O.o
05:08 gregorycu joined #minetest-dev
05:09 Zeno` even Weverything doesn't give a warning. I dunno
05:10 hmmmm now there's something i'd like a warning for
05:10 hmmmm that, and omitting a statement's effect due to undefined behavior technically allowing it to do nothing
05:10 Zeno` I don't like it
05:11 * Zeno` writes to the C++ committee
05:11 hmmmm write to the clang committee instead
05:11 Zeno` and gcc
05:11 Hunterz joined #minetest-dev
05:11 gregorycu Oh, standards questions/issues, I love these
05:12 Zeno` nah, it's more of a warnings issue
05:12 Zeno` https://paste.fedoraproject.org/361697/62165558/
05:12 gregorycu "Nothing" is a subset of "anything"
05:12 Zeno` deep
05:13 hmmmm compilers have all the most useless warnings you can imagine
05:13 hmmmm but the silent, deadly, and subtle stuff?  naah
05:13 gregorycu What's the undefined behaviour there?
05:13 hmmmm nothing is undefined
05:13 gregorycu oh...
05:14 gregorycu That will print 3 and 5 right?
05:14 hmmmm right
05:14 gregorycu So... what's the comment?
05:14 hmmmm my original question was, since the compiler doesn't print a warning about this, how could you prevent this mistake from happening?
05:14 Zeno` it's not too bad when the classes are small and right next to each other
05:14 gregorycu Ahh ok
05:16 gregorycu I suppose it's not a warning cause you can't avoid it
05:17 gregorycu Well, you can change the name I suppose
05:17 * gregorycu sees topic
05:17 gregorycu Hooray, we are in freeze!
05:17 hmmmm it's horrible because look
05:18 hmmmm let's say you're refactoring your Zorp
05:18 gregorycu Stupid Zorp
05:18 hmmmm and you noticed that ZorpBlah and ZorpFoo both share a lot of code
05:18 gregorycu I get why it's stupid
05:18 hmmmm "i know, i'll abstract it to Zorp and have ZorpBlah and ZorpFoo derive from Zorp"
05:18 gregorycu Several compilers warn when you shadow member functions
05:18 hmmmm one of the things you abstract away is a Foobar * to something
05:19 Zeno` well, let's say the base class isn't even yours (it's upstream) and upstream adds a new member variable that just happens to have the same name you've used in your derived class
05:19 hmmmm well turns out you forgot to remove the Foobar * declaration from ZorpBlah and it assigns the ZorpBlah to your Foobar, not the Zorp
05:19 hmmmm so when the Zorp code tries to use your foobar, you're screwed
05:20 gregorycu Zeno` has a point
05:20 gregorycu Either way, you're a bit boned
05:20 hmmmm I know
05:20 hmmmm that's the argument for it not being a warning
05:20 Zeno` that'd take a while to find I imagine
05:20 Zeno` I don't look at header file changes hehe
05:20 Zeno` (when I update package foobar)
05:20 gregorycu Right
05:21 gregorycu Did you see my pathfinder hmmmm
05:21 hmmmm yea
05:21 hmmmm excellent work
05:21 gregorycu Good
05:21 gregorycu I did it to impress you, so I'm glad you're happy!
05:23 hmmmm wth
05:23 hmmmm so i just found out that gcc/clang have -Wshadow
05:23 hmmmm i enable that, it still doesn't warn
05:25 Zeno` -Weverything enables everything so I could have told you that :P
05:26 gregorycu lol
05:26 gregorycu Yeah, all vs everything
05:26 gregorycu Fun for the family
05:26 Zeno` yep
05:26 Zeno` everything is more than all!
05:27 * gregorycu watches math majors tremble in rage
05:27 gregorycu What should I work on
05:27 Zeno` and philosophers nod their heads sagely
05:28 hmmmm \forall
05:29 hmmmm \forall gregorycus, \exists bug \in minetest such that he should solve it
05:29 hmmmm Proof:  Left as an exercise for the reader.
05:29 Zeno` nah QED
05:30 hmmmm hah
05:30 hmmmm this one prof i had would always write QED to take up all the remaining space on the chalkboard when he got done with a theorem
05:30 gregorycu I'll work on the pathfinder some more
05:31 hmmmm he'd say, "Qed, baby!"  actually pronounced it out like "qued"
05:31 Zeno` good idea. then nobody can add stuff to the end. LOL at qued
05:31 hmmmm fun times
05:37 gregorycu hmmmm: That was like... what... 30 years ago?
05:37 hmmmm ?
05:38 gregorycu You're old and grizzled right?
05:38 hmmmm no lol
05:38 gregorycu At uni, whiteboard were all the rage
05:39 hmmmm in the new buildings there were whiteboards
05:39 Zeno` UNSW still uses chalkboards
05:39 Zeno` particularly in the older buildings; if it aint broke don't fix I guess
05:39 hmmmm i don't like whiteboards though
05:41 Zeno` they're the wrong colour for a start
05:41 * nore agrees
05:42 nore We still use blackboards here too, these are a lot better
05:43 nore It's impossible to get a pen that still writes on a whiteboard after an hour...
05:43 nore Hi all btw :)
05:44 * hmmmm waves
05:44 * Zeno` waves at nore
05:51 gregorycu You know that topic I always bring up
05:52 gregorycu C++11, when are we switching
05:58 nore gregorycu: some day (tm)
05:58 nore well, I'd like to switch to C++11 too
05:59 nore IIRC, we had to wait until Ubuntu LTS (I don't remember which version, but it didn't have C++11 support) was no longer supported
05:59 nore and I think this has just happened, hasn't it?
06:01 hmmmm well
06:01 hmmmm you know what they say, right?
06:01 hmmmm don't bother using a technology that isn't at least 10 years old
06:01 hmmmm just 5 more years guys
06:05 kahrl /msg centbot c6eol
06:05 kahrl CentOS 6 will go EOL on 30 November, 2020 -- in 4 years, 30 weeks, 2 days, 17 hours, 55 minutes, and 21 seconds
06:05 nore hmmmm, so I should wait 5 years before playing minetest too? :p
06:05 hmmmm possibly
06:05 gregorycu That's when it will be ready
06:05 kahrl those 21 seconds are already over!
06:06 nore kahrl: CentOS 6 has no C++11 support either?
06:06 gregorycu Why does that exist, that bot
06:06 kahrl nore: it doesn't
06:06 nore too bad
06:07 kahrl it has gcc 4.4.7
06:08 gregorycu 1000 pathfinding calls takes 1357 milliseconds :(
06:09 hmmmm for the amount of work that pathfinding actually does, that's not bad!
06:09 nore gregorycu: over which distances?
06:09 gregorycu It was 26
06:09 gregorycu But it also wasn't that convoluted of a path
06:10 nore well, it's not bad at all actually then
06:10 nore gregorycu: most of the work is in surface detection anyway
06:10 gregorycu I was profiling it, I know how to make it faster
06:11 gregorycu if (std::find(visited_nodes.begin(), visited_nodes.end(), node) != visited_nodes.end())
06:11 gregorycu visited_nodes is a vector
06:11 nore WHAT
06:11 nore but... that's killing the complexity
06:11 gregorycu I SAID, visited_nodes IS A VECTOR
06:12 gregorycu vector is faster than set for small n
06:12 gregorycu Guess n isn't small enough
06:12 gregorycu I'll make it a set
06:12 nore lookup table is best usually, but I guess we don't renumber the vertices
06:13 hmmmm in my testing, a set outperforms a vector after 4 or 5 elements
06:13 nore use est31's GridContainer (or whatever the name was) maybe
06:13 hmmmm at least on my processor, on my platform, with my specific libc
06:13 gregorycu Yeah, I've heard the cutoff is 50
06:13 gregorycu But it's different for everything
06:13 hmmmm in my test it was comparing u8s
06:14 gregorycu lol
06:14 gregorycu um
06:14 gregorycu Making it a set made it worse
06:14 gregorycu 2100 milliseconds
06:14 hmmmm https://paste.fedoraproject.org/361710/62169690/
06:15 nore gregorycu: and a position->bool map?
06:15 hmmmm this is how i decided to go with a set over a vector for storing biomes in decorations
06:15 nore (well, when I say map, it can be an array actually)
06:15 gregorycu position to bool may be faster
06:15 gregorycu May use a lot of memory too
06:16 hmmmm yea you want him to use a hashtable basically
06:16 gregorycu I'll try an unordered set
06:16 gregorycu Yeah, hashtable
06:16 hmmmm all in due time, you just need to wait 5 more years
06:16 gregorycu :P
06:17 gregorycu To be honest, it could switch between set and unordered set depending on the compiler version
06:17 gregorycu So those plebs stuck on old compiler can continue to enjoy set
06:18 nore unordered_set is C++11?
06:18 hmmmm yes
06:18 hmmmm why do you think minetest doesn't use any unordered maps/sets?
06:18 nore ...
06:18 nore hadn't thought about it
06:19 hmmmm gregorycu, are you using -O2?
06:19 gregorycu Of course
06:19 gregorycu lol wait
06:19 hmmmm well maybe that's the problem
06:20 gregorycu My bad
06:20 gregorycu std::find with map iterator arguments may not do the smart thing
06:22 gregorycu 1150 milliseconds
06:22 nore a bit more efficient then
06:23 nrzkt joined #minetest-dev
06:24 gregorycu I have to try with unordered_set
06:29 hmmmm https://github.com/kwolekr/minetest/commit/ff3e883e740e3f4f88b5e600f3e101b40c93b4c0
06:33 gregorycu lol
06:33 gregorycu 1100 milliseconds
06:33 hmmmm 1161 deletions
06:33 hmmmm suckit
06:33 gregorycu Doesn't paramat want duplication deliberately?
06:34 hmmmm lol :p
06:34 hmmmm possibly!
06:35 hmmmm the contributor ranking is based off of number of commits, not number of lines changed
06:35 sofar <hmmmm> 1161 deletions, suck it
06:35 sofar well said!
06:37 hmmmm liposuction
06:40 gregorycu lol, I want 1000 tps
06:41 gregorycu And at the moment it takes 1050ms to do 1000 pathfinding calls
06:41 gregorycu It's like it's trolling
06:41 hmmmm you can probably beat it by using a custom allocator
06:41 gregorycu I'm not that desperate
06:42 hmmmm Ok friend
06:55 gregorycu 850ms
06:55 gregorycu Replace a std::deque with a std::list
06:56 gregorycu (Inserting into the middle of a std::deque isn't that fast)
07:04 Zeno` stuck chat window lol
07:04 Zeno` I will attack all the BIG bugs like this one
07:08 Zeno` need a rest after that
08:57 proller joined #minetest-dev
09:18 mimi89999 joined #minetest-dev
09:19 mimi89999 left #minetest-dev
09:25 Fixer joined #minetest-dev
09:32 gregorycu 850ms for 1000 calls to the pathfinder
09:39 numZero joined #minetest-dev
09:45 nore gregorycu: ordered or not?
09:45 gregorycu What do you mean?
09:45 nore For these 850ms
09:45 nore Ordered or unordered set?
09:45 gregorycu Oh
09:45 gregorycu I rolled my own unordered set
09:46 nore :D
09:48 gregorycu I'm cheating a little
09:48 gregorycu I'm retaining allocated memory to use next time
10:02 sofar joined #minetest-dev
10:29 sofar joined #minetest-dev
10:34 misprint_ joined #minetest-dev
10:39 rubenwardy joined #minetest-dev
10:54 lisac joined #minetest-dev
11:17 Fixer !tell millersman not sure why this is not going down with your PRs: https://i.imgur.com/Eo0gaMG.png (stuck flowing nodes only, including up)
11:17 ShadowBot Fixer: O.K.
11:21 sofar joined #minetest-dev
11:23 gregorycu 450 milliseconds
11:23 gregorycu Just saying
11:24 gregorycu Actually, more like 250ms
11:25 gregorycu Fuck I'm good
11:26 Fixer you are famous
11:26 * Fixer plays with water flows
11:26 gregorycu Yeah, even my mum knows who I am
11:33 Fixer that water PRs fix works good to me at this second
11:34 Fixer max_lag 0.4 or less
11:36 Fixer fixed all those horrible stuck liquids on my test map
11:43 nore gregorycu: wow
11:44 gregorycu It was about 4300 paths per second before
11:44 gregorycu With a distance of 26
11:45 Zeno` lots of sheep
11:45 Zeno` It'll be like New Zealand
11:45 gregorycu Ok, I'll delete it all
11:46 Zeno` ?
11:46 gregorycu We don't want it to be like nZ
11:46 gregorycu by the way, std::priority_qeueue is boss
11:46 Zeno` lol
11:46 gregorycu Heaps better than std::list
11:46 gregorycu PUN INTENDED
11:48 Fixer !tell millersman nevermind, it is going down fine :)
11:48 ShadowBot Fixer: O.K.
12:02 Icedream joined #minetest-dev
12:03 jin_xi joined #minetest-dev
12:23 damiel joined #minetest-dev
12:51 Player_2 joined #minetest-dev
13:05 proller joined #minetest-dev
13:46 proller joined #minetest-dev
13:52 rubenwardy joined #minetest-dev
14:00 luizrpgluiz joined #minetest-dev
14:09 KaadmY joined #minetest-dev
15:05 crazyR joined #minetest-dev
15:10 hmmmm joined #minetest-dev
15:12 johnnyjoy1 joined #minetest-dev
15:15 hmmmmm joined #minetest-dev
15:18 Robby_ joined #minetest-dev
15:23 OldCoder joined #minetest-dev
15:38 sofar joined #minetest-dev
15:40 EvergreenTree joined #minetest-dev
15:41 eeew joined #minetest-dev
16:01 Wayward_One joined #minetest-dev
16:14 DFeniks joined #minetest-dev
16:15 paramat joined #minetest-dev
16:16 paramat now looking at your work hmmmm
16:33 est31 joined #minetest-dev
16:33 est31 nice to see the freeze in effect
16:34 paramat in full effect maaan
16:34 est31 just came here to acknowledge that
16:34 est31 11th as date is fine
16:35 Zeno` lol
16:35 Zeno` paramat and est31 are going on a date!
16:36 paramat :}
16:43 Fixer is v5 cave huge one? https://i.imgur.com/FYlQP5A.jpg
16:44 Fixer testing reflow prs here
16:44 paramat that's mgvalleys
16:44 Fixer never seen so huge caves
16:44 Fixer 200-300 nodes from buttom to ceiling
16:44 Fixer or more
16:44 paramat those are a copy of my 'subterrain' mod
16:45 Krock joined #minetest-dev
16:45 paramat they're not pseudorandom they use 3D noise, so are unlmited in size
16:46 Fixer very nice caves
16:49 crazyR_ joined #minetest-dev
17:13 Hunterz joined #minetest-dev
17:40 ssieb joined #minetest-dev
17:46 paramat :/ github did it again, 5 pages of PRs were 'updated 13 hrs ago'
17:50 nore paramat: I guess these are the PRs whose diff had to be retested and where the Travis build was run again
17:50 paramat i see
17:57 nrzkt joined #minetest-dev
17:58 nrzkt joined #minetest-dev
18:00 paramat removed #4050 from milestones
18:00 ShadowBot https://github.com/minetest/minetest/issues/4050 -- LBM's stop getting generated after a while
18:01 Zeno` joined #minetest-dev
18:07 Player_2 joined #minetest-dev
18:14 Zeno` sodder!
18:15 Zeno` lol
18:15 Zeno` they cannot pronounce solder
18:16 paramat hehe
18:25 * Zeno` sodders together an helicopter
18:40 Void7 joined #minetest-dev
19:34 DFeniks_ joined #minetest-dev
19:34 DFeniks__ joined #minetest-dev
19:46 dzho joined #minetest-dev
20:25 pozzoni_ joined #minetest-dev
20:28 cheapie_ joined #minetest-dev
20:49 nore paramat: maybe we can merge #3907 now that we are in freeze
20:49 ShadowBot https://github.com/minetest/minetest/issues/3907 -- Update credits tab by est31
20:50 paramat possibly, although i understood that as being merged just before release
20:51 paramat will merge #4078 later if no objection
20:51 ShadowBot https://github.com/minetest/minetest/issues/4078 -- Lua_api.txt: Add warnings of l-system lighting bug by paramat
22:49 loggingbot_ joined #minetest-dev
22:49 Topic for #minetest-dev is now Minetest core development and maintenance. Feature freeze since 2016-05-01, release on 11th. Last release: 0.4.13, Aug 20 2015. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.net/minetest-dev/ http://dev.minetest.net/
23:04 yang2003 joined #minetest-dev
23:38 thatgraemeguy joined #minetest-dev
23:42 paramat now merging #4079
23:42 ShadowBot https://github.com/minetest/minetest/issues/4079 -- Settings_translation_file: Update mapgen with cave width parameter by paramat
23:47 paramat merged

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