03:31 < bridge> Screenshot your discord server chat at any moment of time 03:31 < bridge> :kek: 08:23 < bridge> If you search the n-word on his discord server discord crashes 10:16 < bridge> @Learath2 why did glibc decide to link nss the way it does? 10:16 < bridge> https://stackoverflow.com/questions/3430400/linux-static-linking-is-dead 10:16 < bridge> i was curious so i searched a bit xd 10:17 < bridge> like why hardcode this 10:21 < bridge> https://utcc.utoronto.ca/~cks/space/blog/programming/Go121LinuxStaticToolchain 10:22 < bridge> @Jupeyy_Keks https://github.com/pgosar/ChatGDB 10:24 < bridge> Well I think the reason was to have consistent behaviour across all programs on the same system, e.g. one program resolves a hostname one way and another a different way would be undesirable 10:25 < bridge> > NSS allows using different services (e.g. NIS, files, db, hesiod) by just changing one configuration file (/etc/nsswitch.conf) without relinking any programs. 10:25 < bridge> what? 10:25 < bridge> this allows u to change behavious 10:25 < bridge> without the one the program was tested in 10:25 < bridge> static linking was most epic in the past 10:25 < bridge> and it will be most epic in future 10:25 < bridge> cuz static has more info so more opts 10:25 < bridge> and perf is top 1 priority in this world 10:25 < bridge> yes πŸ˜„ 10:26 < bridge> cool idea actually πŸ˜„ 10:26 < bridge> Mh, I'm still unsure about that. Some libraries being truly shared is important for consistent behaviour 10:26 < bridge> u mean like the graphics driver part that is in the kernel? 10:26 < bridge> and needs communication? 10:27 < bridge> basically all kernel stuff 10:27 < bridge> That part can't be static anyway. No I was talking about things like curl e.g. 10:27 < bridge> "That part can't be static anyway" 10:27 < bridge> 10:27 < bridge> depends xddd 10:27 < bridge> we see us in 50 years 10:27 < bridge> what should be made is a stable kernel interface for syscalls that doesnt rely on libc 10:27 < bridge> when i released my own os 10:27 < bridge> that even beats ryoos 10:28 < bridge> would be interesting 10:28 < bridge> You link to curl statically, it could use one source of trust and the system one another, which might be verybad(tm) 10:28 < bridge> Some parts of it maybe, but as far as I'm aware, there is truly global state in most drivers 10:29 < bridge> yep, question is if that implies it to be static linked, or if the global state simply lives 10:29 < bridge> Hm, I think this is already there, you can do syscalls with just a couple instructions 10:29 < bridge> e.g. lets say there is a global mutex that simply exists for this purpose 10:30 < bridge> then all usages of lets say a global memory pool, would be safe to exist 10:31 < bridge> well to some degrees there might still be a very small set of shared functions between stuff 10:31 < bridge> You could isolate such global state into a kernel part of the driver and the rest can be statically linked. But is that strictly better for performance? Now the code that could be certain about state needs to wait on a mutex 10:31 < bridge> but if that interface is stable 10:32 < bridge> Anyway, idk. It certainly is possible to split it. Just not sure if it strictly implies better performance, since dynamic linking is pretty cheap, only an indirect call away 10:32 < bridge> well it has to be minimized ofc, and mutex was just to illustrate the idea. 10:32 < bridge> 10:32 < bridge> but what i'd see is a kernel that is so micro that it really just prevents data races 10:32 < bridge> i dunno either, but i want to know πŸ˜„ 10:33 < bridge> i mean if the compiler sees everything except a small minimal subset 10:33 < bridge> 10:33 < bridge> i can remove so much stuff from linked libraries(dead code etc) 10:33 < bridge> it could at least make a single application much faster 10:33 < bridge> if the system in total is faster is not sure 10:34 < bridge> it uses more ram possibly in total ^^ 10:34 < bridge> but even that depends 10:35 < bridge> there are so many infinite amount of shared libaries lmao 10:35 < bridge> 10:35 < bridge> just look into your /usr/lib or whatever 10:35 < bridge> But is removing deadcode really doing anything except optimizing the loaded size of the library? Some more advanced LTO can help and stuff can be inlined, so there definitely will be performance improvements on a single app basis. For the whole system idk either. Too complex for me to imagine as a hypothetical 10:36 < bridge> well yeah dead code and link time optimizations are the mean points indeed 10:37 < bridge> with a language like rust that is rather relaxed about how a struct must look like, it could even optimize structures across a whole programm across the whole amount of libraries needed 10:38 < bridge> So I guess the best way to achieve this would be a minimal dynamic library with a set interface managing global state and the rest of the library is statically linkable 10:38 < bridge> would be really interesting πŸ˜„ 10:42 < bridge> I think I still want a libsyscall dynamically linked for now just so more than a single version of the kernel can be handled. The kernel isn't stable enough yet 10:43 < bridge> I think atleast for non-embedded purposes the kernel still needs to do some form of syscalls and their dispatching 10:58 < bridge> did u know there are some compilers that can optimize away dynamic dispatch 10:58 < bridge> or smth like that 10:58 < bridge> i read it somewhere, but it requires a very closed system 11:08 < bridge> Mh, can’t both gcc and clang devirtualize if they can infer the runtime type of the object statically? It’s not that good at it but it still can iirc 11:34 < bridge> iirc its pretty expensive compilation time wise 12:19 < bridge> Also C++ isn't exactly built to keep track of runtime types easily, so I can imagine it being fairly hard to do 12:25 < bridge> Wot running this on mac opens da bitcoin whitepaper? xd``` 12:25 < bridge> open /System/Library/Image\ Capture/Devices/VirtualScanner.app/Contents/Resources/simpledoc.pdf 12:25 < bridge> ``` 12:26 <+ChillerDragon> some bitcoin maximalist at apple running illegal marketing campains lmao 16:32 < bridge> is 16:32 < bridge> > -DCLIENT=[ON|OFF] 16:32 < bridge> > Whether to enable client compilation. If set to OFF, DDNet will not depend on Curl, Freetype, Ogg, Opus, Opusfile, and SDL2. Default value is ON. 16:32 < bridge> still a thing? 16:32 < bridge> cmake asks for curl and libpng anyway 16:37 <+ChillerDragon> sounds like a bug 16:38 < bridge> I assume creating a Bot that helps people through maps is still considered cheating? 16:38 < bridge> as to, not for personal gain, but letting it guide other players 16:39 < bridge> I got pathing done for most novice maps. And it already is programmed in such a way that it helps everyone in a freeze. 16:39 < bridge> @Learath2 @Jupeyy_Keks so i changed my case fans for pwm and the cpu fan for a expensive noctua one, and reapplied thermal paste with a noctua one 16:40 < bridge> i compiled some stuff 16:40 < bridge> max i reached is 78 after compiling some time 16:40 < bridge> before i reached 88 sometimes 16:40 < bridge> 5800x is hot itself i guess tho xD 16:40 < bridge> why do you need bot for guiding tho 16:41 < bridge> man these new fans i got are so silent, my pc was quite the rocket before 16:41 < bridge> I want to see how helpful a bot could be in empty servers 16:41 < bridge> huh, thanks for your review xd 16:41 < bridge> will buy noctua next time xd 16:41 <+ChillerDragon> @DefaultO that is amzing is it open src? 16:41 < bridge> anyway how bot can be useful 16:42 < bridge> I hope it will never be 16:42 < bridge> i only got 1 noctua, for the cpu one, but usually the case fans are the noisy ones, i bought 4 ARCTIC F12 16:42 < bridge> and they dont make noise lol 16:42 < bridge> noted xd 16:42 < bridge> but well i have like street noise as bg 16:42 < bridge> Making noobs finish a map that have no partner 16:42 <+ChillerDragon> cool stuff how good does it work? 16:43 < bridge> i mean actually how can bot help 16:43 <+ChillerDragon> does it generically detect parts and what to play? 16:43 < bridge> what will he do idk 16:43 < bridge> @gerdoe https://noctua.at/es/products/fan/nf-a12x25-pwm-chromax-black-swap 16:43 < bridge> this is the fan 16:43 < bridge> It can do parts in the future 16:43 < bridge> @gerdoe https://noctua.at/en/products/fan/nf-a12x25-pwm-chromax-black-swap 16:43 < bridge> https://tenor.com/view/im-a-big-fan-lewi-lewis-fan-spinning-nikocado-avacado-gif-21664606 16:43 < bridge> premium quality bruda 16:44 < bridge> just demo db will be much easier to implement and much easier to make 16:44 < bridge> Yes, don't bot on our servers 16:44 < bridge> also Rule 8 16:44 <+ChillerDragon> @DefaultO but yea to answer your question its highly illegal 16:44 <+ChillerDragon> @DefaultO but feel free to use it on zillyhuhn.com servers :) 16:45 < bridge> nice then it was worth it πŸ˜„ 16:46 < bridge> the real win is how quiet it isn ow 16:46 < bridge> now* 16:46 < bridge> lol 16:46 < bridge> Only Heinrich cares about it. And if it works great. I could provide you with the source so that you can make little NPC's for empty servers. 16:46 < bridge> on lasergurkenland??? 16:47 < bridge> :poggers2: 16:47 <+ChillerDragon> xd there too 16:47 <+ChillerDragon> i meant all tw servers i host 16:47 < bridge> Not exactly sure what you mean by that. "Demo" tells me you mean a replay bot. But I have no clue what "db" stands for in this sentence. 16:48 < bridge> A replay Bot isn't great at dynamically catching non-bot players. 16:48 <+ChillerDragon> wat sentence? 16:48 < bridge> database with all finished maps xd 16:48 < bridge> we already have ghost function in ddnet client 16:48 < bridge> it can just get demos and play it while player is trying to do part 16:48 < bridge> that's not what I am working on though 16:49 < bridge> I want a play buddy 16:49 < bridge> I changed all my fans to noctua ones, their color scheme is shit but my pc is extremely quiet now 16:49 <+ChillerDragon> replace your friends with AI 16:49 < bridge> that can get dragged, as well as drag me, or someone else 16:49 < bridge> I have no DDNet friends. So that's exactly what I will do. 16:49 <+ChillerDragon> please share some action footage when its done @DefaultO im really curious 16:50 <+ChillerDragon> also please teach it block so i can play against enemys on localhost w my laggy internet 16:51 < bridge> To code that I would have to know how Block works myself 16:51 <+ChillerDragon> enemy to da freeze 16:51 <+ChillerDragon> self out da freeze 16:51 <+ChillerDragon> done 16:51 < bridge> I entered a block server once 16:51 < bridge> and they all camp behind a fall 16:51 < bridge> right after the start 16:51 <+ChillerDragon> yes tactical waiting 16:51 < bridge> so how am I supposed to unblock myself in these cases 16:52 <+ChillerDragon> depends on the map 16:52 < bridge> if I have to get through a freeze 16:52 < bridge> buy vip 16:52 < bridge> already have 16:52 < bridge> :brownbear: 16:52 <+ChillerDragon> you can 2p aled 16:52 <+ChillerDragon> or rifle 16:52 <+ChillerDragon> or attack in masses etc 16:52 < bridge> its not a real problem tho 16:53 < bridge> I care too, since im the one who has to spent hours investigating 16:53 <+ChillerDragon> i honestly would love you if you can build me some offline bock single player 16:53 < bridge> I care too, since im the one who has to spend hours investigating 16:54 < bridge> You won't be able to tell the difference 16:54 <+ChillerDragon> arent u pro botting murpi? 16:54 < bridge> πŸ‘€ 16:55 <+ChillerDragon> https://github.com/TeeworldsDB/irclogs/blob/ff56ff1c5527ead55257bcf54bb0d2a9167b08f1/ddnet/2021-12-29.log#L43 16:55 <+ChillerDragon> ladys and gents 16:55 <+ChillerDragon> we got em 16:55 <+ChillerDragon> > Chillerdragon: your help bot on multeasymap is great 16:56 < bridge> murpi tries to prevent what he has done already 16:56 < bridge> ironic 16:56 < bridge> That ain't me 16:56 <+ChillerDragon> sus 17:04 < bridge> anyway is it intended to have curl and libpng to compile server only? 17:10 <+ChillerDragon> curl could be needed not sure but highly doubt libpng 17:50 < bridge> DragonStalker trains his AI 18:17 < bridge> curl is used by the server to register it with the masterserver 18:19 < bridge> but libpng? 18:22 < bridge> what makes u think that it is the case? 18:23 < bridge> there is no libpng symbol in DDNet-Server 18:26 < bridge> maybe cmake error huh? 18:26 < bridge> im passing `cmake .. -DCLIENT=OFF` and it says i need to install curl libpng and sqlite3 to run build 18:26 < bridge> sqlite3 18:26 < bridge> wait 18:27 < bridge> in one sentence? 18:27 < bridge> i can understand why is curl and sqlite3 can be used for in server but tf is libpng doing here 18:27 < bridge> of course not 18:27 < bridge> are* 18:27 < bridge> ah ok was confused lol xD 18:27 < bridge> well yeah sounds like a cmake bug then 22:55 < bridge> Can you show the entire cmake output? 23:28 < bridge> ig he can't πŸ’€ 23:32 < bridge> someone is probably doing link_libraries instead of target_link_libraries 23:37 < bridge> nah just client variable wasnt present in if checks 23:37 < bridge> im laying in bed rn cant get up