Minetest logo

IRC log for #minetest-dev, 2015-04-04

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

All times shown according to UTC.

Time Nick Message
00:25 Fritigern joined #minetest-dev
00:35 est31 joined #minetest-dev
01:02 hmmmm i'm gonna try a bit harder to get above-water-level lakes for the next mapgen
01:02 hmmmm http://i.imgur.com/WiqbgvF.jpg  this is ultimately what i'd like to replicate
01:36 est31 joined #minetest-dev
01:53 est31 about mesh caching
01:53 est31 It requires vast amounts of memory
01:54 est31 and only pays out when you have loaded very much things
01:54 est31 perhaps set the default to disable?
01:55 est31 until it is improved so that it behaves more like a real cache
01:55 est31 right now that is responsible for a majority of the load time and a majority of the allocated memory
01:57 est31 I dont have enough insight into irrlicht to really improve the cache
01:58 est31 my idea would be: at the start, the cache is empty, and when a special rotation is requested, it gets cached.
01:59 est31 and we should add a cool-down, so that the cache doesn't behave like a memory leak for the first 600 MB
01:59 est31 (or a cap)
02:00 est31 so that the cache throws non used items out when its full
02:01 est31 will make an issue...
02:05 est31 or PR...
02:07 ShadowNinja hmmmm: Do you have a chance to look at the mailing list now?
02:07 hmmmm yeah
02:07 hmmmm i should go do that
02:10 est31 btw, idk why android is failing for #2596. It fails in the linker step because it cant find a function I use now.
02:10 ShadowBot https://github.com/minetest/minetest/issues/2596 -- Crafting speedup by est31
02:13 hmmmm est31, when you say mesh cache, do you mean VBOs?
02:14 est31 hmmmm, https://github.com/minetest/minetest/commi​t/dd4c21c1808acedfbcf8402c09ce9129b6ac31c7
02:14 est31 and my PR #2597
02:14 ShadowBot https://github.com/minetest/minetest/issues/2597 -- Disable mesh cache by default by est31
02:15 hmmmm oh it's already there and enabled
02:15 hmmmm I'll have to test and see what kind of different i personally see
02:15 hmmmm we should get a consensus of whether it helps or hurts the majority of people
02:19 est31 added ideas
02:19 est31 (to 2597)
02:30 hmmmm ShadowNinja:  what does the Mailman list do?
02:30 hmmmm do I sign up for that?
02:30 chchjesus joined #minetest-dev
02:31 ShadowNinja hmmmm: Well, it's a mailing list like you wanted.  It doesn't really do anything unless someone sends messages to it.
02:31 hmmmm yea doing that =]
02:31 hmmmm so anymore when I go on my rants about design matters, it's going to be on the dev mailing list
02:31 ShadowNinja hmmmm: You can subscribe to receive messages from it, and I can add you as a moderator if you like.
02:31 hmmmm and if somebody asks me, I'll say, "check the mailing list"
02:31 hmmmm sure
02:32 ShadowNinja It currently requires you to send one approved message before you can send unapproved messages.
02:35 est31 hm, I can reproduce that build problem locally
02:36 est31 ah I know what the issue is
02:36 est31 or guess
02:36 est31 think
02:37 est31 the android makefile has its own file list
02:46 est31 ok android build is fixed now
02:46 est31 bye
02:54 * ShadowNinja looks at the main menu code and cringes.
02:54 ShadowNinja Pushing without popping, looking up one table a dozen times, using functions meant for function argumens for table lookups...
02:55 ShadowNinja ModApiMainMenu::get*Data has to go.
02:56 ShadowNinja Also, using globals for *everything*.
02:58 hmmmm hmmm
02:58 hmmmm ShadowNinja:  do you think we should post our public keys on the main minetest.net?
02:58 ShadowNinja *shrug*
02:59 ShadowNinja I have a GnuPG key somewhere, but I may have lost it.
03:00 OldCoder joined #minetest-dev
03:03 hmmmm are you able to modify the main website?
03:03 hmmmm my pubkey:  http://fpaste.org/207139/28116607/
03:09 hmmmm ShadowNinja, I sent something to the mailing list
03:09 hmmmm now what
03:09 hmmmm http://lists.minetest.net/archives/minetest-dev/
03:09 hmmmm it says there's nothing posted
03:11 ShadowNinja hmmmm: 1. It has to be reviewed first.  2. Yandex's servers are being greylisted.
03:11 ShadowNinja (Temporary failure returned to see if the server will try again)
03:13 * ShadowNinja looks into whitelisting yandex
03:14 ShadowNinja Yandex is retrying a bit too fast.
03:14 Tablet_One joined #minetest-dev
03:17 ShadowNinja Aaand moderation request received...
03:18 ShadowNinja hmmmm: Should I approve it?
03:18 hmmmm yes
03:18 ShadowNinja hmmmm: Both of them?
03:18 hmmmm the first one I guess
03:18 hmmmm :d
03:19 ShadowNinja hmmmm: First approved, second discarded.
03:20 hmmmm http://lists.minetest.net/archives/​minetest-dev/2015-April/000000.html
03:20 hmmmm :D
03:20 hmmmm awesome
03:20 hmmmm I wonder if I should have some kind of snarky signature
03:20 hmmmm rkwolek < AT > minetest < DOT > net
03:20 hmmmm c0ding the shit outta j0o0o0o0o
03:21 hmmmm nah just kidding
03:43 Wayward_Tab joined #minetest-dev
03:47 ZeraRoox +hmmmm
03:48 hmmmm ZeraRoox, what?
03:48 ZeraRoox You checked email?
03:48 hmmmm I suppose you're Fabiano Sk?
03:48 hmmmm I don't get what you're asking me to do
03:49 ZeraRoox Yes
03:50 ZeraRoox i send .doc now with details
03:50 hmmmm what?
03:50 hmmmm don't send me a .doc
03:50 hmmmm I can't even read .doc, just tell me what it is you want.  stop being so cryptic.
03:51 hmmmm i'm not going through all of this effort just to decode what some random person soliciting me wants
03:52 hmmmm if I were a windows user, in fact, I'd be weary that you just sent me malware
03:52 hmmmm s/weary/wary/
03:52 ZeraRoox sorry, i am buiness in Brazil and i need a ppl to code one project i pay good
03:52 ZeraRoox and a found u in github
03:52 hmmmm oh, a consulting gig?
03:52 hmmmm I charge $200/hr
03:52 ZeraRoox https://github.com/kwolekr/proxier
03:56 ZeraRoox i cant send details here
03:56 ZeraRoox if possible talk in private msg
03:57 hmmmm lol.
03:57 hmmmm I'm not interested in your gig
03:57 ZeraRoox ok
03:57 hmmmm and you probably can't afford me either
03:57 ZeraRoox ?
03:59 sofar hmmmm: I'd just remove him from this channel, soliciting/off-topic
03:59 hmmmm yeah
03:59 hmmmm I've never had to ban anybody from #minetest-dev though
03:59 hmmmm cept for that one spammer guy
04:01 hmmmm I just opened his .docx with the details too.  it seems like he wants to make some kind of malware that redirects network connections
04:02 hmmmm this is pathetically hilarious
04:02 ZeraRoox I just enjoyed their job but if you do not have Interest okay
04:02 ZeraRoox no have malware
04:02 ZeraRoox i only need a code
04:02 hmmmm here, have a code: 001101011
04:02 ZeraRoox lol
04:06 ZeraRoox I do not understand why you're being rude
04:06 sofar ZeraRoox: you're displaying all the properties of a typical troll
04:06 sofar just stop and leave this channel
04:06 hmmmm once upon a time, talking about something non-minetest-development related would be an instantaneous ban
04:13 ZeraRoox If you have no interest okay
04:13 ZeraRoox I will retire
04:18 Miner_48er joined #minetest-dev
04:29 ZeraRoox My offer was 5k+ usd
04:29 ZeraRoox Good luck!
04:29 ZeraRoox byebye
04:29 hmmmm lol, suuure
04:30 hmmmm there was a 98% chance he wanted to scam me anyway
04:46 OldCoder joined #minetest-dev
05:09 Player_2 joined #minetest-dev
05:11 Calinou joined #minetest-dev
05:26 hmmmm oh my god i'm stuck in a world without pretty printing of STL containers
05:26 hmmmm this is horrible
05:27 hmmmm I might have to switch from clang to gcc49 just to get pretty printing
05:30 hmmmm in order to see the contents of a std::string inside of a std::list, i need to:  p listname.__end_.__prev_.__val​ue_.__r_.__first_.__s.__data_
05:37 Calinou (-:
05:53 ShadowNinja Multi-socket listening now works!!1!11!1  :-D
05:54 sofar a server listening on multiple sockets?
05:54 ShadowNinja sofar: Yep.
05:54 sofar sorry, that shouldn't be so hard. Still nice once you get it working though ;^)
05:55 ShadowNinja sofar: You could do multi-proto before if you listened on :: and and IPV6_V6ONLY off.
05:55 sofar what's the use case?
05:55 ShadowNinja sofar: Over 2000 line changes..
05:55 ShadowNinja And loads and loads of debugging/
05:56 sofar well sure, it gets messy once you cover every edge case
05:56 ShadowNinja Now this will probably break in ten different ways on Windows, but at least it works here.
05:57 sofar yup :)
05:58 ShadowNinja I just have to figure out what do do with the --port option and some main menu stuff now -- and remove any debuggung things I added.
05:58 Wayward_Tab joined #minetest-dev
06:00 ShadowNinja Also, select() is obviously *really* inefficient since you have to iterate over every socket.  I kinda want to add epoll support.  But it's probably not worth it when you'll only have 1-8 sockets or so.
06:01 sofar it'll be worth it
06:01 ShadowNinja Now, if we were using TCP it might be a different story...
06:01 sofar imagine how many packets you get
06:02 sofar ah, sure
06:02 sofar still it's nice to know you're picking the best solution
06:02 ShadowNinja sofar: select is O(n) where n is the number of sockets, and with UDP yu only need one socket.
06:02 sofar I don't even know if windows has epoll
06:03 hmmmm it doesn't
06:03 ShadowNinja sofar: epoll = Linux, kqueue = BSD, fow others for other OSes.
06:03 hmmmm typically people use libevent if they want high-performance socket multiplexing for all OSes
06:03 sofar shrug, last time I programmed on windows was 20+ years back
06:03 ShadowNinja ^ (or libev)
06:03 hmmmm it's way too heavyweight for what we want though
06:04 hmmmm in any case I had planned adding support for each OSs' own high-performance-poll type API
06:04 hmmmm https://github.com/kwolekr/chiisai​-bnetd/blob/master/src/conn.c#L62  i have some of it right here already
06:04 ShadowNinja If we used TCP it might be worth it since TCP uses n+m sockets, where n is the number of listen addresses and m is the number of clients.
06:05 ShadowNinja But with UDP ther'll usually only be 2 sockets.
06:05 hmmmm so basically for Windows there's only select(), no poll().  select() is what you use if you want to be portable to all platforms
06:06 hmmmm but the Super fast awesome(tm) version of select() on windows is WSAWaitForMultipleEvents()
06:06 hmmmm and as of Vista, WSAPoll(), but that's useless because it's so incompatible
06:06 hmmmm Linux == epoll, FreeBSD and NetBSD == kqueue(), Solaris has /dev/poll
06:08 hmmmm using high-performance multiplexing apis is a good optimization, but it's just that, an optimization.  and frankly implementing that isn't worth the effort given the sheer amount of other low-hanging fruit because minetest is so horribly unoptimized.
06:18 Wayward_Tab joined #minetest-dev
06:20 jin_xi joined #minetest-dev
06:29 jin_xi hmmmm: i tried moving particle spawner stuff to env, but not sure if i understand right: https://github.com/obneq/minetest/commit/​dbcbf42cd50f430541e2b8196ca18cd39dc22e08
06:37 kilbith joined #minetest-dev
06:48 hmmmm looks good
06:50 hmmmm hrmm that's a very interesting way of incrementing your iterators...
06:50 hmmmm not sure I understand the logic of that expiration loop
06:51 jin_xi it used to be a vector of ids and used find
06:53 hmmmm unless i'm mistaken, wouldn't that become an infinite loop for particlespawners with an expire time of -1?
06:54 jin_xi spawners with time 0 will not expire, -1 is my crappy magic number.
06:55 hmmmm erm... sure, but that looks like a bug to me
06:55 hmmmm the iterator never gets incremented
06:58 jin_xi hmmmm: should be same as here https://github.com/minetest/minetes​t/blob/master/src/server.cpp#L2956
06:58 jin_xi but with for loop instead of find...
06:58 hmmmm ermm... I'm not talking about that loop at all
06:58 jin_xi oh
06:59 hmmmm https://github.com/obneq/minetest/commit/d​bcbf42cd50f430541e2b8196ca18cd39dc22e08#di​ff-baa4d2d0ffafdec2b86baf065fba252bR1260
06:59 jin_xi oh right
07:04 hmmmm that entire loop is kind of nasty imho
07:04 hmmmm it relies on undefined behavior to work
07:05 hmmmm if this were C++11, I would recomend you write i = m_particle_spawners.erase(i); but you can't quite do that
07:07 hmmmm ah actually that is a rather idiomatic way of deleting it since you advance it to the next *before* invalidating it
07:07 hmmmm nevermind about that
07:08 jin_xi well im sure my code is mor idiotomatic than anything so every  bit of help is appreciated
07:08 hmmmm lol.
07:08 hmmmm idiotmatic
07:09 OldCoder joined #minetest-dev
07:10 hmmmm erm, maybe it'd be better to write that loop like so:  http://fpaste.org/207153/14281314/
07:12 jin_xi yes that looks better
07:12 hmmmm hey another thing
07:13 hmmmm the addParticleSpawner code looks like of interesting
07:13 jin_xi the mess in env
07:13 jin_xi ?
07:13 hmmmm so it's intentional that the id is never == 0?
07:14 jin_xi well i just took that from existing code and yes it looks like it
07:14 hmmmm so basically you just removed the std::find() for whatever erason
07:15 jin_xi yes
07:15 hmmmm you could take advantage of the fact that a std::map is ordered
07:15 hmmmm but then again, since these are numerically increasing, why store them in a map at all?
07:15 hmmmm err monotonically increasing*
07:16 jin_xi old ids get reused, or do you think it was intentional that expired ids were never deleted?
07:16 hmmmm the original code was quite poor in quality so i'm willing to bet if it's weird looking, it wasn't intentional
07:17 hmmmm well i don't know, what do you personally think?
07:17 hmmmm should there be a reason why old ID numbers can't be reused?
07:17 jin_xi i dont care about leaked id numbers, but corresponding s32s in a vector need to go
07:17 jin_xi right?
07:18 hmmmm huh? what do you mean
07:18 hmmmm oh you mean m_particlespawner_ids?
07:18 jin_xi yes
07:18 hmmmm yeah... it's quite weird
07:20 hmmmm i still think you should use a vector
07:20 hmmmm just use it for something different
07:20 hmmmm the vector would map the ID to the expiration, instead of the ...something to the ID
07:21 jin_xi so a vector of pairs or so?
07:21 hmmmm pairs?  why pairs?
07:21 jin_xi id exptime pairs
07:21 hmmmm the id is the index to the exptime
07:21 hmmmm and maybe you can make an exptime of -2 or something to represent "unused ID space"
07:22 jin_xi so 'sparse' vector of exptimes indexed by id
07:22 hmmmm yes
07:23 jin_xi cool will do
07:24 hmmmm maybe like this http://fpaste.org/207156/13229114/
07:25 hmmmm I don't think it's a fantastic idea to use floats for special values though... maybe it ought to map to a pair
07:25 jin_xi yes that was another thing i was wondering
07:25 hmmmm std::vector<std::pair<bool, float> > m_particle_spawners;
07:26 jin_xi and indexed by id, i think i got it
07:26 hmmmm pair.first == true if the ID is taken
07:26 hmmmm float == exptime
07:26 hmmmm err, pair.second i mean
07:27 hmmmm also it's not a good idea to compare to -1 and set to -1 when you're talking about floats
07:27 hmmmm well, actually nevermind that
07:27 hmmmm as long as no conversions are being done on the number it should be consistent
07:28 jin_xi i know i should not be doing cpp... it takes me ages to come up with inadequate solutions
07:28 hmmmm -1.f == -1.f on the same processor all the time =] at least we can know that much for sure
07:28 hmmmm naw, you're okay
07:29 hmmmm it's just that comparing exact numbers as floats makes me nervous
07:29 hmmmm even though it is okay in this particular case
07:33 Hunterz joined #minetest-dev
07:59 hmmmm you guys realize that CMakeLists.txt was broken the whole while?
08:00 hmmmm all of the cflags were being ignored and overwritten by cmake because it thinks it knows better than we do and we didn't use FORCE in set()
08:28 err404 joined #minetest-dev
08:37 Player_2 joined #minetest-dev
09:39 neoascetic joined #minetest-dev
09:42 ElectronLibre joined #minetest-dev
10:03 cib0 joined #minetest-dev
10:08 cvtsx joined #minetest-dev
10:41 book` joined #minetest-dev
11:37 Jordach joined #minetest-dev
13:21 Zeno` joined #minetest-dev
13:37 roniz joined #minetest-dev
13:56 MinetestForFun joined #minetest-dev
14:00 ElectronLibre joined #minetest-dev
14:10 VanessaE joined #minetest-dev
15:29 nore joined #minetest-dev
16:09 Elinvention joined #minetest-dev
16:24 hmmmm joined #minetest-dev
16:44 lolmac joined #minetest-dev
16:48 Lunatrius joined #minetest-dev
16:50 leat joined #minetest-dev
16:59 selat joined #minetest-dev
17:16 Krock joined #minetest-dev
17:19 SopaXorzTaker joined #minetest-dev
17:41 MinetestForFun joined #minetest-dev
17:59 MinetestForFun joined #minetest-dev
18:09 lolmac joined #minetest-dev
18:22 ElectronLibre joined #minetest-dev
18:28 est31 joined #minetest-dev
18:30 est31 ShadowNinja, why is yandex greylisted?
18:31 est31 mtest31@yandex.com is also my address.
18:33 err404 joined #minetest-dev
18:35 rubenwardy joined #minetest-dev
18:38 celeron55 > Linux == epoll, FreeBSD and NetBSD == kqueue(), Solaris has /dev/poll
18:38 celeron55 you know what? this is sad
18:39 celeron55 i don't understand why it's so hard to make an efficient and portable interface... but oh well
18:46 hmmmm can somebody help explain to me how cmake works?  i just tried building with VERBOSE=1 and got this at the link stage: http://fpaste.org/207258/28173180/
18:46 hmmmm 1). how do I make cmake add an -L/usr/local/lib
18:47 hmmmm 2). what is that -Wl,-rpath,/usr/local/lib thing at the end which is obviously malformed
18:51 err404 joined #minetest-dev
19:14 sfan5 hmmmm: I'd imagine -Wl,-rpath,/usr/local/lib: is turned into -rpath /usr/local/lib: which would be correct
19:46 kahrl isn't /usr/local/lib in the default search path anyway though
19:47 Elinvention joined #minetest-dev
19:49 est31 joined #minetest-dev
19:52 MinetestForFun joined #minetest-dev
19:53 MinetestForFun joined #minetest-dev
20:11 MinetestForFun joined #minetest-dev
20:18 hmmmm no, /usr/lib is
20:18 hmmmm sfan5:  i was asking more or less "what option does it come from"
20:19 sfan5 no idea
21:04 Wayward_Tab joined #minetest-dev
21:28 johnnyjoy joined #minetest-dev
21:34 ElectronLibre left #minetest-dev
21:41 Miner_48er joined #minetest-dev
22:32 hmmmm pfth
22:32 hmmmm there's basically no possible way to debug C++ applications compiled using the default, base cc on freebsd
22:32 hmmmm this is really nice
22:33 hmmmm for now I guess what I can do is provide a temp patch to compile against gcc49's libstdc++
22:33 hmmmm then people should be able to use gdb781
22:35 hmmmm or simply: don't compile using clang anymore
23:56 paramat joined #minetest-dev
23:59 paramat can anyone approve my PR for mtgame? game#484 caves are making a mess of mgv6 icesheet
23:59 ShadowBot https://github.com/minetes​t/minetest_game/issues/484 -- Default/nodes: Make ice not ground content by paramat

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