Time |
Nick |
Message |
00:14 |
|
Boingo joined #minetest |
00:18 |
|
Alias2 joined #minetest |
00:27 |
|
v-rob joined #minetest |
01:02 |
|
kamdard_ joined #minetest |
01:14 |
|
v-rob joined #minetest |
03:28 |
|
queria joined #minetest |
03:34 |
|
queria joined #minetest |
03:36 |
|
kamdard joined #minetest |
03:37 |
|
v-rob joined #minetest |
03:41 |
|
riff-IRC joined #minetest |
05:00 |
|
MTDiscord joined #minetest |
05:07 |
|
Yad joined #minetest |
05:11 |
|
lemonzest joined #minetest |
05:42 |
|
Oksanaa joined #minetest |
06:01 |
|
riff-IRC joined #minetest |
06:30 |
citrons |
I am having formspec problems. I can't get the scrollbar to work |
06:31 |
citrons |
I don't understand what units it uses, and whatever I set min or max to in scrollbaroptions, it doesn't do anything |
06:31 |
citrons |
the handle of the scrollbar just takes up the entire scrollbar |
06:33 |
citrons |
I have code which generates a formspec that looks like this https://0x0.st/oXCI.txt |
07:17 |
|
calcul0n joined #minetest |
07:25 |
|
v-rob joined #minetest |
07:35 |
|
definitelya joined #minetest |
08:12 |
definitelya |
### `scrollbar[<X>,<Y>;<W>,<H>;<orientation>;<name>;<value>]` |
08:13 |
definitelya |
line 2758 in lua_api.txt |
08:13 |
|
Markow joined #minetest |
08:14 |
|
independent56 joined #minetest |
08:16 |
definitelya |
>0< |
08:29 |
|
Talkless joined #minetest |
08:35 |
definitelya |
lines from 1346 for coordinate info. |
08:49 |
|
grouinos joined #minetest |
09:35 |
|
moongaia joined #minetest |
09:55 |
erlehmann |
wanna breack bedrock in mineclone2 current master branch? just use blazes, their explosions can do that. |
10:02 |
|
tech_exorcist joined #minetest |
10:06 |
|
Fleckenstein joined #minetest |
10:11 |
|
Fixer joined #minetest |
10:14 |
Ingar |
n |
10:17 |
|
specing joined #minetest |
10:23 |
MTDiscord |
<Sublayer plank> breaking bedrock on t h e o l d e s t a n a r c h y s e r v e r i n m i n e t e s t |
10:30 |
erlehmann |
i believe that was clamity |
10:30 |
erlehmann |
and yes, i did berak a bit of bedrock there lol |
10:30 |
erlehmann |
using multiple methods |
10:30 |
erlehmann |
but tbh i never figured out the blaze thing until this morning |
10:30 |
erlehmann |
mineclone2 mobs were cool, then jordan made them more cool, but abandoned it halfway through |
10:31 |
erlehmann |
so now you have stuff like this for, i don't know, probably more than 10 months |
10:31 |
erlehmann |
cora proposed to just copy over the old mobs from mineclonia to have something that works |
11:01 |
|
Andrew joined #minetest |
11:01 |
Andrew |
Has anyone seen the Amongus mod recently? |
11:01 |
Andrew |
I'm testing it on a test server, it seems to work |
11:02 |
Andrew |
(fly and noclip are messed up, not a problem lol) |
11:12 |
tech_exorcist |
Andrew: https://github.com/search?q=minetest%20among%20us one of those? (I did look on the forums and on content.minetest.net, and I only found a game request from 2020: https://forum.minetest.net/viewtopic.php?f=49&t=25485) |
11:13 |
Andrew |
https://github.com/Graines2Tech/minetest-amongus |
11:13 |
tech_exorcist |
thanks |
11:14 |
Andrew |
It's quite good, just hard to figure out without any documentation |
11:14 |
Andrew |
* quick start guides, etc |
11:15 |
|
jvalleroy joined #minetest |
11:20 |
|
jvalleroy joined #minetest |
11:20 |
tech_exorcist |
is it available in any languages other than French? |
11:22 |
|
kabou joined #minetest |
11:22 |
Andrew |
It seems to be in English to me |
11:22 |
kabou |
Q about the android version of minetest: |
11:22 |
Andrew |
Granting worldedit by default, are you kidding me? |
11:23 |
kabou |
is there a way to get back to the menu? |
11:23 |
kabou |
I've looked at docs, wiki, etc, but no mention of it anywhere |
11:23 |
tech_exorcist |
kabou: press your device's "Back" button, which will open the pause menu |
11:24 |
kabou |
tech_exorcist tnx a bunch |
11:24 |
tech_exorcist |
from there, press "Go to Menu" or similar (I forgot how it's called in English) |
11:24 |
tech_exorcist |
you're welcome :) |
11:24 |
kabou |
wish that was documented somehow |
11:24 |
kabou |
gonna test if it actually works for me and put in an issue about the lack of documentation |
11:25 |
kabou |
such an issue would at least serve as documentation for others who are looking for that answer |
11:25 |
tech_exorcist |
maybe you can add it somewhere in the wiki |
11:25 |
tech_exorcist |
let me check |
11:25 |
kabou |
I have no wiki privs |
11:25 |
erlehmann |
amogus |
11:25 |
erlehmann |
i have a friend in rome you know |
11:25 |
erlehmann |
anyone can guess his name? |
11:25 |
Andrew |
It works partially |
11:25 |
MTDiscord |
<Sublayer plank> amogus |
11:25 |
Andrew |
many bugs, irnoing out |
11:25 |
erlehmann |
SUSSUS AMOGUS |
11:26 |
erlehmann |
he has a wife you know |
11:26 |
erlehmann |
they call her |
11:26 |
erlehmann |
IMPOSTORIA |
11:26 |
tech_exorcist |
https://wiki.minetest.net/Minetest_on_Android |
11:27 |
kabou |
tech _exorcist confirmed hte back button works |
11:27 |
MTDiscord |
<Sublayer plank> minetest on android, and 99 other hilarious jokes |
11:27 |
kabou |
but I did not find any mention of it on the wiki |
11:28 |
kabou |
did i miss it? |
11:28 |
|
independent56 joined #minetest |
11:28 |
kabou |
sublayer_plank indeed and it crashes and burns since 5.5 |
11:28 |
erlehmann |
hey kabou about the mapping table |
11:28 |
erlehmann |
the reason i do not have one is simply because i want my improved mcl_maps to work first |
11:29 |
erlehmann |
i am laying the ground work |
11:29 |
kabou |
erlehmann all mcl games crash upon startup on android with no usable info in debug log |
11:29 |
MTDiscord |
<Sublayer plank> kabou: does minetest 5.5 crash on android? |
11:29 |
erlehmann |
that is unfortunate |
11:29 |
erlehmann |
literally *no* info in debug log? |
11:29 |
kabou |
erlehmann the mmaps its fine, just wanted to give you a pointer to consider for later times when the cart. table may be added |
11:29 |
MTDiscord |
<Sublayer plank> please check logcat if you're able to, it should give a stacktrace |
11:29 |
erlehmann |
kabou did you try maps pr branch? |
11:29 |
kabou |
erlehmann it seems to be a hard crash in mt engine |
11:30 |
erlehmann |
well there are lots of ways that can happen |
11:30 |
kabou |
erlehmann no, busy with other stuff, sry |
11:30 |
erlehmann |
ok |
11:30 |
erlehmann |
so about the android |
11:30 |
erlehmann |
what does logcat say |
11:30 |
MTDiscord |
<Sublayer plank> unfortunately there's no accessible debug apks without building from source so the stacktraces will be more or less useless... >.> |
11:31 |
kabou |
erlehmann couldnt yet be bothered to install full on android dev suite in order to use logcat |
11:31 |
kabou |
but rubenwardy is looking into it |
11:31 |
erlehmann |
yes android sucks i know lol |
11:31 |
erlehmann |
good |
11:31 |
kabou |
there is an mt issue about it |
11:31 |
|
lemonzest joined #minetest |
11:31 |
MTDiscord |
<Sublayer plank> you just need adb which is part of the regular android platform tools |
11:31 |
tech_exorcist |
^ |
11:32 |
kabou |
right now on my agenda is getting familiar with lua, mt lua api, mcl api and conventions |
11:32 |
kabou |
android dev stuff is low prio |
11:32 |
kabou |
I'd rather focus on getting my android devs freed up with true free software |
11:33 |
kabou |
so not very interested in diving into the google dev ocean |
11:33 |
kabou |
it may be ocean sized, but IMHO it is still a swap |
11:33 |
kabou |
swamp |
11:34 |
Andrew |
Is there --terminal in minetestserver? One way to find out |
11:34 |
definitelya |
Android is the deepest swampiest swamp for mobile progress. |
11:34 |
MTDiscord |
<Sublayer plank> hm, I probably should try to reproduce the crash using a debug apk and see if there's anything useful in the stacktraces |
11:34 |
kabou |
imma bit of a free software cultist |
11:34 |
kabou |
tho pragmatic |
11:34 |
MTDiscord |
<Sublayer plank> minetest android 5.5 seems to be really unstable, the update was even halted for the play store |
11:34 |
Andrew |
Yes, there is |
11:35 |
kabou |
my device got the update, so that I could witness the breakage |
11:35 |
MTDiscord |
<Sublayer plank> Andrew: minetestserver is basically just minetest but without a client so yeah, all commandline arguments still exist |
11:35 |
Andrew |
Yeah |
11:35 |
Andrew |
*uses --go --address* |
11:36 |
kabou |
allright, i have another question, about thye forums |
11:36 |
MTDiscord |
<Sublayer plank> ugh, when is the android version getting the gamebar, I'm sick of having to mod builtin to get it |
11:37 |
kabou |
cora took up maintenainership of mineclone2 but the lead post of the mineclone2 thread in the wip games subforum is still owned by eliasfleckenstein, who resigned recently |
11:37 |
kabou |
who can fix this up on the forum? |
11:38 |
kabou |
cora isn't a forum regular and I don't even have a forum account, but this should be fixed by a forum admin |
11:38 |
kabou |
who to talk to? |
11:39 |
MTDiscord |
<Sublayer plank> hm, I can't reproduce the crash on android with mcl2 |
11:39 |
MTDiscord |
<Sublayer plank> 5.5 ofc |
11:42 |
kabou |
Sublayer plank try installing any of the mineclones |
11:44 |
MTDiscord |
<Sublayer plank> can't reproduce either with mcl2 or 5 >.> |
11:45 |
MTDiscord |
<Sublayer plank> is it because I use ogles2? |
11:49 |
kabou |
dunno, how much ram does you android thingy have? |
11:50 |
kabou |
mine has 2GB RAM, which mt adroid apparently finds lacking# |
11:51 |
kabou |
my android is ver 8.smth |
11:52 |
* Andrew |
builds the amongus server with another person |
11:52 |
kabou |
issue submitted #12070 |
11:52 |
ShadowBot |
https://github.com/minetest/minetest/issues/12070 -- Getting back to menu on android client underdocumented |
11:52 |
MTDiscord |
<Sublayer plank> I've got 4GB, so maybe it's an OOM issue? |
11:53 |
kabou |
Sublayer_plank that is what #12062 suggests |
11:53 |
ShadowBot |
https://github.com/minetest/minetest/issues/12062 -- Frequent crashes on Android, no error log in debug.txt |
11:55 |
kabou |
imho its defo an issue, as a) no crash info logged; b) lots of android clients have 2GB ram |
11:56 |
erlehmann |
minetest should not even use 2GB RAM using any of the mcl games |
11:57 |
erlehmann |
the only time where i have seen it using more than ~1.6G VIRT ~900 RES or so was when a memory leak happened |
11:57 |
erlehmann |
which can indeed be the case |
11:57 |
erlehmann |
look at the mineclonia fire PR, there were two memory leaks in fire spread code |
11:57 |
erlehmann |
i believe mineclone5 may have included that code, not sure |
11:58 |
erlehmann |
(the one where the bugs were not fixed, surely it will have the fixed version soon) |
12:11 |
Andrew |
Wait, what's the difference between //allocate and //load? |
12:11 |
Andrew |
I only used load |
12:12 |
MTDiscord |
<Sublayer plank> minetest has memory leaks even on desktop where it will just progressively use more and more memory as you leave it open and repeatedly join and quit worlds, it's probably way worse on a device with more limited resources like a phone |
12:12 |
MTDiscord |
<Sublayer plank> I've got some older phones with less memory, I should probably build a debug apk of 5.5 and test it there |
12:13 |
* Andrew |
wants a way to load mods without restarting |
12:16 |
MTDiscord |
<Sublayer plank> how would that work lol |
12:16 |
erlehmann |
the answer is obviously: software is magic and I WANT IT TO JUST WORK |
12:17 |
kabou |
do what I mean, not what I say |
12:17 |
kabou |
the core essence of people's computer problems |
12:18 |
kabou |
I learned so much about humans from computers |
12:19 |
kabou |
I even came to believe that there are parapsychological aspects to language |
12:19 |
definitelya |
kabou: Why did you need to learn about humans? Are you cyborg? >.> |
12:19 |
kabou |
the transference of meaning |
12:19 |
kabou |
if you want to ponder about what it means to be human, watch these movies: |
12:19 |
kabou |
blade runner |
12:19 |
|
TomTom joined #minetest |
12:19 |
kabou |
2001 a space oddysee |
12:20 |
kabou |
in space odyssee, HAL is actually the only round person |
12:20 |
kabou |
ie the only one exhibiting feelings and active empathy |
12:20 |
erlehmann |
next up: cylons did nothing wrong, change my mind |
12:21 |
kabou |
all th ehuman characters appear robotic |
12:21 |
kabou |
check it out if you want |
12:21 |
|
independent56 joined #minetest |
12:21 |
kabou |
in blade runner, it is even more dramatic, tho more obfuscated |
12:21 |
kabou |
basically "replicants" are what humans are and do |
12:21 |
kabou |
no real emotions |
12:22 |
kabou |
stunted development |
12:22 |
kabou |
there was a big discussion in the blade runner fan communtiy wether deckard (the protagonist) was himself a replicant |
12:23 |
erlehmann |
i know the answer to the turtle in the desert question |
12:23 |
kabou |
if you look closely (andspell out the dialogue) it is kinda obvious that all the personages are replicants |
12:23 |
erlehmann |
you encounter a turtle in the desert lying on the back, but you do not help it to get upright, why |
12:23 |
erlehmann |
there are two answers to this |
12:23 |
kabou |
there is only doubt wether Gaff is one. he might be, might not be |
12:23 |
definitelya |
help truttle |
12:23 |
erlehmann |
the answer is |
12:24 |
erlehmann |
1. you are yourself a turtle lying on its back |
12:24 |
definitelya |
hot |
12:24 |
erlehmann |
2. turtles are shaped like gömböc and can upright themselves |
12:24 |
definitelya |
Cause it's a desert |
12:24 |
erlehmann |
https://en.wikipedia.org/wiki/G%C3%B6mb%C3%B6c |
12:24 |
kabou |
erlehmann notice how the interviewee is dressed as an institutionalized mental patent and the interviewer as a psychiatrist |
12:24 |
definitelya |
Hot turtle |
12:24 |
kabou |
also noticed |
12:24 |
erlehmann |
> known physical example of a class of convex three-dimensional homogeneous bodies, called mono-monostatic, which, when resting on a flat surface have just one stable and one unstable point of equilibrium. The existence of this class was conjectured by the Russian mathematician Vladimir Arnold in 1995 and proven in 2006 |
12:25 |
kabou |
also notice the ambience of hypnotism and intimidation about the questioning |
12:25 |
erlehmann |
> Gömböc, is the first mono-monostatic shape which has been constructed physically. It has a sharpened top, as shown in the photo. Its shape helped to explain the body structure of some tortoises in relation to their ability to return to equilibrium position after being placed upside down. |
12:25 |
definitelya |
kabou: Those movies are really transcendental, well said. |
12:26 |
definitelya |
They almost let you grasp the concept of a singularity (man and machine, united in body and spirit). |
12:26 |
kabou |
definitely I have always wondered why I rarely read the observations I made above in discussions about / descriptions of these movies |
12:27 |
kabou |
it seems so fundamental to the drama of these art works |
12:27 |
kabou |
btw, another funny one is "the birds" by hitchcock |
12:27 |
kabou |
the birds are really "women" |
12:28 |
kabou |
"bird" is british slang for "girl" |
12:28 |
erlehmann |
wow |
12:28 |
erlehmann |
soon you say |
12:28 |
kabou |
look at the movie from a distance and it makes total sense |
12:28 |
erlehmann |
that the train going into a tunnel |
12:28 |
erlehmann |
is a symbol for something sinful |
12:28 |
Fleckenstein |
cheese pizza |
12:28 |
kabou |
the bird expert featured in the movie is a lesbian - lol |
12:28 |
erlehmann |
the bird is the word |
12:29 |
erlehmann |
b-b-b-bird-bird-bird |
12:29 |
erlehmann |
b-b-bird |
12:29 |
kabou |
btw the author of the original story that hitchcock made into a movie is also interesting |
12:31 |
definitelya |
>0< |
12:32 |
definitelya |
Something sinful |
12:32 |
independent56 |
Is there a mod which detects crashes and gives users the error info when they join? |
12:32 |
Fleckenstein |
no |
12:33 |
Fleckenstein |
because when the server crashes |
12:33 |
Fleckenstein |
its crashed |
12:33 |
Fleckenstein |
ded |
12:33 |
kabou |
daphne du maurier, alleged part time lesbian herself, was the granddaughter of george du maurier - author of "svengali" |
12:33 |
independent56 |
Shame |
12:33 |
definitelya |
Fleckenstein: Please beehave |
12:33 |
Fleckenstein |
wdym |
12:33 |
definitelya |
s/beehave/behave |
12:33 |
Fleckenstein |
this is an answer to the question |
12:33 |
kabou |
svengali is a true depth charge that is commonly looked away from in contemporary cultural review |
12:34 |
definitelya |
I have been defeated, once more. |
12:34 |
erlehmann |
https://youtube.com/watch?v=uSlB4eznXoA |
12:34 |
erlehmann |
“alleged part time lesbian” |
12:34 |
erlehmann |
lol |
12:35 |
erlehmann |
b-b-bird-bird-bird |
12:35 |
erlehmann |
b-b-bird |
12:36 |
kabou |
I'd like to see family guy's take on "svengali" - considering how the show is a big toddlerish witewash of the cia |
12:36 |
kabou |
nuff spiracies for now |
12:36 |
kabou |
figure it out ppl |
12:36 |
erlehmann |
you are confusing family guy with american dad |
12:36 |
kabou |
oh yeah right, sry |
12:37 |
kabou |
i'm not really into tv and stuff |
12:37 |
kabou |
beavis and butthead is where i tuned out and turned off |
12:38 |
* kabou |
counts his grey hair |
12:38 |
kabou |
surprisingly few actually |
12:39 |
* kabou |
lives the easy life |
12:40 |
kabou |
motto: don't fuck the system, let the system fuck itself |
12:40 |
kabou |
just stand and watch in bemuse awe |
12:40 |
kabou |
bemused |
12:46 |
|
GNUHacker joined #minetest |
12:48 |
MTDiscord |
<Sublayer plank> man why does minetest android always build so much faster than minetest on any other platform |
12:48 |
MTDiscord |
<Sublayer plank> that makefile must contain magic |
12:49 |
MTDiscord |
<Sublayer plank> oh no wait, it uses clang right? must be it then |
12:49 |
Fleckenstein |
i just disabled vsync in my game and got 250 FPS |
12:49 |
Fleckenstein |
on a machine that runs Minetest with 45 FPS |
12:50 |
MTDiscord |
<Sublayer plank> coolio |
12:51 |
MTDiscord |
<Sublayer plank> I wonder if the gamebar will be enabled by default on android for 5.6.0 |
12:51 |
MTDiscord |
<Sublayer plank> it sure could use it |
12:56 |
erlehmann |
sublayer plank, why would compiling using clang be much faster? |
12:56 |
erlehmann |
Fleckenstein did you get tear effects and such without vsync? |
12:57 |
Fleckenstein |
no |
13:02 |
MTDiscord |
<Sublayer plank> erlehmann: dunno, it's the only other difference between building for android and linux I can think of |
13:03 |
erlehmann |
??? |
13:03 |
erlehmann |
i thought android is linux? |
13:03 |
|
Flabb joined #minetest |
13:04 |
MTDiscord |
<Sublayer plank> well I mean desktop linux, where you usually compile minetest with GCC (I do, at least) |
13:04 |
MTDiscord |
<Sublayer plank> I should probably also do a bit of a more scientific comparision than "hm it feels like android build is more brr" |
13:05 |
erlehmann |
I'd just like to interject for a moment. What you're refering to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. |
13:05 |
erlehmann |
https://stallman-copypasta.github.io/ |
13:05 |
erlehmann |
^^ |
13:06 |
erlehmann |
sublayer plank if you want to have a faster build on desktop you a) should probably ditch make b) should eventually ditch cmake c) only use ninja if you manage to make it check deps based on hashes, not timestamps (it's dog slow otherwise) |
13:07 |
erlehmann |
or ask josiah_wi who is working on that |
13:07 |
erlehmann |
that cmake monstrosity |
13:07 |
erlehmann |
josiah_wi probably knows much better what makes the build slow than i do |
13:07 |
Fleckenstein |
what do i do about #include dependency hell? |
13:08 |
erlehmann |
fleckenstein explain more? |
13:08 |
Fleckenstein |
well i dont really know what files to include and what not |
13:08 |
MTDiscord |
<Sublayer plank> funnily enough android is not GNU/Linux since it uses busybox and its own libc |
13:08 |
Fleckenstein |
i mean i can add include directives until it works |
13:09 |
MTDiscord |
<Sublayer plank> anyways does cmake-generated ninja files check based on hashes? |
13:09 |
erlehmann |
sublayer plank yeah you mean android/linux vs gnu/linux |
13:09 |
erlehmann |
sublayer plank AFAIK ninja rejected the patch to make it use hashes lol |
13:09 |
Fleckenstein |
but if there is file.h that includes stdbool because it needs that for one of its data structures, and i have file.c that includes file.h and uses data structures from there as well as bools |
13:09 |
definitelya |
Android is Goog/Linux(TM) |
13:09 |
MTDiscord |
<Sublayer plank> oh welp that sucks |
13:09 |
Fleckenstein |
should i include stdbool in file.c again or no |
13:09 |
Fleckenstein |
and is there some way to automate it |
13:09 |
erlehmann |
Fleckenstein yes include guards will help you |
13:10 |
Fleckenstein |
yea thats not the problem |
13:10 |
erlehmann |
to make sure it is only included once |
13:10 |
Fleckenstein |
i know and im already doing that |
13:10 |
Fleckenstein |
but its still a bit messy if i never know what is actually required to be included and what not |
13:10 |
sfan5 |
I generally wouldn't believe erlehmann's claims such as that ninja is "dog slow" because it does not use the solution he personally considers ideal |
13:11 |
Fleckenstein |
and if i dont include stdbool, and then dont use file.h anymore and remove the include and suddenly the unrelated bools stop working |
13:11 |
Fleckenstein |
its more a tidyness problem that bugs me |
13:11 |
sfan5 |
Fleckenstein: file.c should not include what file.h already includes (they belong to eachother), but if you have anotherfile.c it should include stdbool anyway even if it already transitively included |
13:12 |
Fleckenstein |
im talking about the anotherfile.c case |
13:12 |
Fleckenstein |
now what if bools are only used in the context of interaction with the structures from file.h |
13:13 |
sfan5 |
then it's file.h's responsibility to include it |
13:13 |
erlehmann |
sfan5 yeah, but then again you also did not believe that PNG has so much overhead that even uncompressed tga is smaller for small pictures. i have measured it and the problem is not ninja, the problem is timestamp-based freshness-calculation. |
13:13 |
Fleckenstein |
where do i draw the line, or do i really only include stuff that has never before included, even if it makes logically more sense |
13:13 |
Fleckenstein |
to include it again |
13:13 |
erlehmann |
you can measure it too |
13:13 |
sfan5 |
consider this: any header file you have should not raise compiler errors if you create an empty file that is '#include "myfile.h"' |
13:14 |
Fleckenstein |
yes yes |
13:14 |
erlehmann |
sfan5 hash-based freshness becomes slower when during the build you have to hash a disk image or something, of course. |
13:14 |
Fleckenstein |
the question is more about what to include in the c file |
13:14 |
erlehmann |
but for most stuff the hashing is basically free and *faster* than building something twice |
13:15 |
erlehmann |
(for 4GB sd card image it is generally not) |
13:15 |
sfan5 |
you should aim for the same but it happens more often that you accidentally have transitive dependencies |
13:15 |
erlehmann |
as i said, measure measure measure |
13:16 |
erlehmann |
see here, a problem we already know btw https://github.com/ninja-build/ninja/issues/1459 |
13:16 |
Fleckenstein |
if i have my_struct.h that does #pragma once #include <stdool.h> typedef struct {bool a} MyStructure; and i have file.c that does #include "my_struct.h" bool a; MyStructure b; |
13:16 |
erlehmann |
> I use git a lot and it is annoying that simply changing branches triggers rebuilds. Ideally, I would be able to switch from my current work branch to some other branch, not touch any files and then switch back to the original branch and not have to rebuild anything at all. |
13:16 |
Fleckenstein |
should file.c also include stdbool or no |
13:16 |
erlehmann |
sfan5 sublayer plank fleckenstein here is the thing, you can try it out https://github.com/ninja-build/ninja/pull/929 |
13:17 |
sfan5 |
Fleckenstein: it should |
13:17 |
Fleckenstein |
oki |
13:17 |
Fleckenstein |
thats what i have been doing p much |
13:17 |
erlehmann |
so what they say is |
13:17 |
erlehmann |
> Ninja is an mtime-based system for speed reasons |
13:18 |
Fleckenstein |
but its difficult to draw the line between "usage of bool is unrealated to MyStructure" and "it is related" |
13:19 |
Fleckenstein |
damn this is really one of the less nice sides of C |
13:19 |
erlehmann |
but truly, you only need to check ctime |
13:19 |
erlehmann |
and only if ctame changed you hash |
13:19 |
MTDiscord |
<Sublayer plank> erlehmann: what hashing algo does the PR use? xxHash? |
13:19 |
sfan5 |
erlehmann: that looks irrelevant for the "clean build once" case sublayer plank was wondering about |
13:19 |
sfan5 |
but maybe you meant in general |
13:20 |
erlehmann |
sfan5 not if you touch something during the build (which surprisingly many projects do) |
13:20 |
erlehmann |
but yeah in general |
13:20 |
erlehmann |
in general it makes sense to take ctime (NOT mtime) |
13:21 |
erlehmann |
and if it is not matching, hash the target |
13:21 |
erlehmann |
this makes the build faster in general if your hashing is faster than rebuilding |
13:21 |
erlehmann |
and it makes the first build faster if you are relying on stuff you depend on a lot |
13:21 |
erlehmann |
like precompiled headers |
13:22 |
MTDiscord |
<Sublayer plank> yeah it's sorta irrelevant for clean builds but I consider short and quick incremental builds to be quite important too. irritating to change one variable and then it needs to recompile half of the engine, or to start over the entire build process when makepkg reclones minetest |
13:22 |
erlehmann |
or if you rebuild files during the build twice |
13:22 |
erlehmann |
well, they have to be *really* clean |
13:22 |
erlehmann |
i.e. no touchy any thing |
13:23 |
erlehmann |
i have several cases where i rebuild my website |
13:23 |
erlehmann |
it is stored in git |
13:23 |
erlehmann |
and unsurprisingly, doing git stuff during the build confuses build systems that rely on timestamps |
13:25 |
MTDiscord |
<Sublayer plank> hmm... does ninja use ninja to compile lol |
13:25 |
erlehmann |
btw this is really not about hash functions |
13:25 |
erlehmann |
but about a build system having a way to say, at runtime, wait, this target considered dirty is clean after all |
13:26 |
erlehmann |
hash functions are just the most common way to do that |
13:26 |
erlehmann |
many systems lack such a check |
13:38 |
Fleckenstein |
can poll a condition variable in a nonblocking way? |
13:40 |
Fleckenstein |
(in pthread) |
13:53 |
sfan5 |
if you are asking this question an atomic bool is likely what you actually want |
13:54 |
sfan5 |
the answer is yes though, pthread_cond_timedwait can do it |
13:54 |
Fleckenstein |
> atomic bool is likely what you actually want |
13:55 |
Fleckenstein |
haha this is literally what i have been using |
13:55 |
erlehmann |
is this the volatile thing again |
13:55 |
Fleckenstein |
yes |
13:55 |
erlehmann |
diese variable ist voller teile |
13:56 |
Fleckenstein |
but its a bool |
13:56 |
Fleckenstein |
not a struct |
13:56 |
Fleckenstein |
lol |
13:56 |
Fleckenstein |
it does not have different parts |
13:56 |
erlehmann |
do you want a sneaky C memory saving tip |
13:56 |
sfan5 |
another tip: if you are using volatile you are doing it wrong |
13:57 |
erlehmann |
#define struct union |
13:57 |
Fleckenstein |
im using -O3 maybe thats my mistake |
13:57 |
erlehmann |
no |
13:57 |
erlehmann |
if your code is optimization-unstable, it is likely your code and not the compiler that contains a mistake |
13:57 |
sfan5 |
if compiler optimizations break your program then it was already broken |
13:57 |
Fleckenstein |
sfan5: i use a atomic bool to wait for a thread like this: while (! finished); |
13:57 |
Fleckenstein |
and it optimizes it away |
13:57 |
erlehmann |
for once sfan5 and me agree lol |
13:57 |
sfan5 |
uhm |
13:57 |
Fleckenstein |
without volatine |
13:57 |
Fleckenstein |
*volatile |
13:57 |
Fleckenstein |
so i wanted to switch to a condition variable |
13:57 |
sfan5 |
C or C++? |
13:58 |
erlehmann |
C |
13:58 |
Fleckenstein |
C |
13:58 |
Fleckenstein |
the thing is there is another thread waiting for the same thing where i need it to be nonblocking |
13:58 |
sfan5 |
you should be using this https://en.cppreference.com/w/c/atomic/atomic_load |
13:58 |
Fleckenstein |
so should i use both a condition variable and an atomic bool |
13:58 |
sfan5 |
but more importantly have you heard of pthread_join? |
13:59 |
Fleckenstein |
yea but i dont want to join |
13:59 |
Fleckenstein |
because i dont want the thread to end first |
13:59 |
erlehmann |
https://stackoverflow.com/questions/21579974/define-struct-union-and-define-else-still-compiles-any-c-program |
13:59 |
erlehmann |
i think it may pay off to read a book on the topic tbh |
14:00 |
Fleckenstein |
i have a counterexample to the struct union thing i think |
14:00 |
Fleckenstein |
struct a {int b : 4;}; |
14:00 |
erlehmann |
well it is, of course, a joke hehe |
14:00 |
Fleckenstein |
bit fields |
14:00 |
Fleckenstein |
i dont think they work with unions |
14:00 |
Fleckenstein |
or maybe they do idk |
14:00 |
sfan5 |
if you have two waiters you need two condition variables, an atomic bool like I suggested only makes sense if all your usage is non-blocking |
14:01 |
Fleckenstein |
oh ok |
14:01 |
Fleckenstein |
btw how do i make an atomic bool in C? is there any difference between int in C and std::atomic_int in C++? |
14:02 |
erlehmann |
Fleckenstein https://linux.die.net/man/3/pthread_cond_wait |
14:02 |
erlehmann |
is this a thing you need |
14:02 |
erlehmann |
??? |
14:02 |
sfan5 |
you mean std::atomic<int>? atomic_int is the C type |
14:02 |
Fleckenstein |
yes |
14:02 |
Fleckenstein |
on my machine TM just bool is atomic |
14:02 |
sfan5 |
https://en.cppreference.com/w/c/atomic <- atomics in C11 |
14:02 |
Fleckenstein |
but thats not the standard maybe idk |
14:02 |
sfan5 |
no, nothing is atomic if you do not use the right functions |
14:03 |
sfan5 |
https://en.cppreference.com/w/cpp/atomic/atomic <- std::atomic in C++11 |
14:03 |
Fleckenstein |
how do i install the full pthread man pages on my ubuntu system? |
14:04 |
Fleckenstein |
like i have some but not all |
14:04 |
Fleckenstein |
which is weird |
14:04 |
sfan5 |
https://www.google.com/search?client=firefox-b-d&q=libc+man+pages+ubuntu |
14:07 |
Fleckenstein |
hmmm ... if i work with plain c, do i need to wrap it with a mutex? |
14:07 |
sfan5 |
what is "it" |
14:07 |
Fleckenstein |
the bool |
14:07 |
Fleckenstein |
it does not really seem like that since it works perfectly fine without on my machine, is this really not the standard |
14:08 |
erlehmann |
apt-file btw |
14:08 |
erlehmann |
use apt-file search |
14:08 |
erlehmann |
to figure out which package contains a file |
14:08 |
Fleckenstein |
im not familiar with the man-db file structure so that would not have helped |
14:09 |
Fleckenstein |
i cant really find any resources on atomic in plain C |
14:09 |
sfan5 |
if you use a bool from multiple threads and wrap it in a mutex while used you're just doing by hand and more complicated what atomics could do for you |
14:10 |
erlehmann |
; apt-file search 'pthread' |grep /usr/share/man |cut -d' ' -f1| sort |uniq |
14:10 |
erlehmann |
manpages-posix-dev |
14:10 |
erlehmann |
manpages-dev |
14:10 |
erlehmann |
glibc-doc |
14:10 |
Fleckenstein |
> atomics could do for you |
14:10 |
Fleckenstein |
im not going to use C++ ok |
14:11 |
sfan5 |
ok? |
14:11 |
sfan5 |
atomics are not exclusive to C++ |
14:11 |
Fleckenstein |
the problem with wrapping them in a mutex is not that i have to do that, but rather performance concerns |
14:12 |
Fleckenstein |
im not sure whether its actually needed |
14:13 |
sfan5 |
"can I skip on locking to save some performance" is not what you should be thinking about |
14:13 |
sfan5 |
but also if you are concerned about that use atomics |
14:14 |
Fleckenstein |
like i dont see a reason why a single byte should not be atomic by nature |
14:15 |
erlehmann |
no type is “atomic by nature” |
14:15 |
Fleckenstein |
whats gonna happen if i change it from thread A while reading it from thread B? how am i supposed to get the wrong result if everything i care about is a single bit at the beginning on the thing |
14:15 |
sfan5 |
https://stackoverflow.com/a/35234900 |
14:16 |
erlehmann |
https://en.wikipedia.org/wiki/Memory_barrier |
14:16 |
erlehmann |
> Memory barriers are necessary because most modern CPUs employ performance optimizations that can result in out-of-order execution. This reordering of memory operations (loads and stores) normally goes unnoticed within a single thread of execution, but can cause unpredictable behaviour in concurrent programs and device drivers unless carefully controlled. |
14:16 |
Fleckenstein |
hmm ok |
14:17 |
erlehmann |
atomics is more than a single byte |
14:17 |
erlehmann |
if it is non atom |
14:17 |
erlehmann |
then you may have an old copy or something |
14:18 |
Fleckenstein |
yes but if its just an on/off switch? |
14:18 |
erlehmann |
or compiler may reorder your execution some way, what do i know |
14:18 |
Fleckenstein |
it actually does that yes |
14:18 |
erlehmann |
https://en.wikipedia.org/wiki/Memory_barrier#Example |
14:18 |
sfan5 |
the SO answer explain this, you should read it |
14:18 |
erlehmann |
> One might expect the print statement to always print the number "42"; however, if thread #2's store operations are executed out-of-order, it is possible for f to be updated before x, and the print statement might therefore print "0". Similarly, thread #1's load operations may be executed out-of-order and it is possible for x to be read before f is checked, and again the print statement might therefore print an unexpected |
14:18 |
erlehmann |
value. |
14:18 |
ShadowBot |
https://github.com/minetest/minetest/issues/2 -- Burned wood |
14:18 |
ShadowBot |
https://github.com/minetest/minetest/issues/1 -- GlowStone code by anonymousAwesome |
14:19 |
erlehmann |
yes the SO answer is good |
14:19 |
erlehmann |
> under the "as-if" rule the compiler is allowed to re-order stores and loads as it sees fit as long as all access to volatile memory occurs in the order specified by the program "as if" the program was evaluated according to the wording in the standard. |
14:19 |
erlehmann |
as-if LOL |
14:20 |
erlehmann |
> a seemingly innocent use of a raw int as a signaling variable in multi-threaded programming is broken, even if writes and reads may be indivisible, the ordering may break the program depending on the compiler |
14:20 |
Fleckenstein |
yea ok i understand now |
14:20 |
Fleckenstein |
makes sense |
14:20 |
erlehmann |
did you read the SO answer though |
14:20 |
erlehmann |
there is more to this |
14:20 |
erlehmann |
than what i said |
14:20 |
definitelya |
erlehmann: xD |
14:21 |
Fleckenstein |
i have read most of it |
14:21 |
erlehmann |
> there is a period after a write by one core where a read by a different core can still get the old value |
14:21 |
erlehmann |
> the store has both happened and not happened, depending on where you observe from |
14:23 |
erlehmann |
well |
14:23 |
|
Fleckenstein joined #minetest |
14:24 |
erlehmann |
in my defense, you initially asked me only how to prevent the compiler from touching your loop ^^ |
14:24 |
Fleckenstein |
yea |
14:25 |
Fleckenstein |
> if you have two waiters you need two condition variables |
14:25 |
Fleckenstein |
then what is pthread_cond_broadcast for |
14:25 |
sfan5 |
maybe you don't actually need two idk |
14:25 |
sfan5 |
but if you have one doing non-blocking checks and one doing a wait I bet that will fall apart |
14:25 |
|
moongaia joined #minetest |
14:26 |
Fleckenstein |
yea |
14:26 |
sfan5 |
maybe you should rethink your program structure |
14:58 |
|
EliasFleckenstei joined #minetest |
14:59 |
|
EliasFleckenstei joined #minetest |
15:01 |
|
EliasFleckenstei joined #minetest |
15:01 |
|
Fleckenstein joined #minetest |
15:20 |
erlehmann |
Sublayer plank https://cor3ntin.github.io/posts/compiletime/ |
15:20 |
erlehmann |
> Build C++ from source: Part 1/N - Improving compile times |
15:22 |
erlehmann |
> Both MSVC and Clang have tools to profile the most costly parts of your build. I highly recommend using these tools if you want to optimize your build times, because like as all performance tuning work, you will most certainly discover your intuitions about what causes bottleneck will probably prove wrong. |
15:23 |
|
kamdard joined #minetest |
15:39 |
|
gargamel joined #minetest |
15:39 |
gargamel |
Awesome, witches got an upgrade. |
15:40 |
erlehmann |
where |
15:41 |
gargamel |
The witches mod. |
15:43 |
gargamel |
!up 69.247.56.186:30003 |
15:43 |
MinetestBot |
69.247.56.186:30003 is up (124ms) |
15:46 |
|
kabou left #minetest |
15:46 |
|
kabou joined #minetest |
15:48 |
gargamel |
No loot in the chests anymore. |
15:48 |
gargamel |
But the house are better. |
16:13 |
|
olliy joined #minetest |
16:25 |
Andrew |
!up andrewyu.org:30000 |
16:25 |
MinetestBot |
andrewyu.org:30000 is up (19ms) (IPv4) |
16:25 |
Andrew |
It tests minetest servers? Hmm |
16:25 |
Andrew |
Wow, 19ms is quite good! |
16:36 |
|
tech_exorcist joined #minetest |
16:51 |
|
Hawk777 joined #minetest |
17:09 |
Andrew |
Hawk777~ |
17:10 |
Andrew |
oops |
17:13 |
Hawk777 |
haha np |
17:17 |
|
ilomiglio joined #minetest |
17:29 |
|
olliy1or joined #minetest |
17:45 |
independent56 |
!up 56i.duckdns.org:30000 |
17:45 |
MinetestBot |
56i.duckdns.org:30000 is up (23ms) (IPv4) |
17:45 |
independent56 |
!up 56i.duckdns.org |
17:45 |
MinetestBot |
56i.duckdns.org:30000 is up (22ms) (IPv4) |
17:46 |
independent56 |
!up 56i.duckdns.org:80 |
17:46 |
MinetestBot |
56i.duckdns.org:80 seems to be down (IPv4) |
17:46 |
independent56 |
!up 56i.duckdns.org:22 |
17:46 |
MinetestBot |
56i.duckdns.org:22 seems to be down (IPv4) |
17:46 |
independent56 |
!up 56i.duckdns.org:21 |
17:46 |
independent56 |
!up 56i.duckdns.org:20 |
18:08 |
|
Yad_ joined #minetest |
18:08 |
|
v-rob joined #minetest |
18:20 |
|
olliy joined #minetest |
18:38 |
|
v-rob joined #minetest |
18:43 |
|
stormchaser3000 joined #minetest |
19:45 |
|
Toothless joined #minetest |
19:56 |
|
Verticen joined #minetest |
19:56 |
|
gargamel joined #minetest |
20:13 |
|
appguru joined #minetest |
20:14 |
|
Gustavo6046 joined #minetest |
20:18 |
MTDiscord |
<Sublayer plank> re: android 5.5 crashing, yes, it's definitively because of low memory. I tested a debug build on my nexus 7 which has only 1GB ram and it kills the minetest process in the middle of loading mineclone{2,5} |
20:18 |
MTDiscord |
<Sublayer plank> no stacktrace though, just "WIN DEATH: Window{364cef22 u0 net.minetest.minetest/net.minetest.minetest.GameActivity}" |
20:19 |
kabou |
what changed so much between 5.4.1 and 5.5 that it now crashes? |
20:20 |
MTDiscord |
<Sublayer plank> well irrlichtmt I guess, but memory usage should have stayed the same |
20:20 |
MTDiscord |
<Sublayer plank> I don't actually know if mcl still OOMs on 5.4.2 on nexus 7, I should probably test that as well |
20:21 |
kabou |
it used to work for me on aldi android 8 with 2GB |
20:21 |
kabou |
maybe the build changed? |
20:22 |
kabou |
or something related to lua? |
20:30 |
MTDiscord |
<Sublayer plank> ok so mineclone still OOMs on 5.4.2, nothing new for 5.5.0 |
20:30 |
MTDiscord |
<Sublayer plank> I guess 2GB was enough for mcl on 5.4.2 but not 5.5.0 |
20:30 |
MTDiscord |
<Sublayer plank> 1GB isn't very much when google trash takes up three quarters of it |
20:42 |
kabou |
add a dash of qualcom crap here and there |
21:23 |
|
Markow joined #minetest |
21:27 |
|
olliy joined #minetest |
21:36 |
|
ilomiglio joined #minetest |
21:37 |
definitelya |
Does anyone know why this page tries to access my localhost? Just curious. https://forum.minetest.net/viewtopic.php?f=9&t=13653 |
21:39 |
sfan5 |
the poster included an image from 127.0.0.1 in his post |
21:39 |
definitelya |
Ok thanks! |
22:08 |
|
v-rob joined #minetest |
22:13 |
|
ilomiglio joined #minetest |
22:14 |
|
queria joined #minetest |
22:16 |
|
specing_ joined #minetest |
22:18 |
|
Hawk777 joined #minetest |
22:36 |
|
Verticen joined #minetest |
22:49 |
|
wsor joined #minetest |
22:49 |
|
Edgy18 joined #minetest |
22:50 |
|
Edgy18 joined #minetest |
22:58 |
|
Oksanaa joined #minetest |
23:00 |
|
Sven_vB joined #minetest |
23:03 |
|
est31 joined #minetest |
23:27 |
|
kamdard joined #minetest |
23:34 |
|
independent56 joined #minetest |
23:42 |
|
specing joined #minetest |
23:43 |
|
Taoki joined #minetest |
23:55 |
|
Amo[m] joined #minetest |
23:57 |
|
mister-e[m] joined #minetest |
23:58 |
|
queria[m] joined #minetest |