00:00 < bridge> yes 00:05 < bridge> One qol advantage of having an index is that you can show the database content inside the client ui easily 00:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1301321207580463215/IMG_20241031_000457.jpg?ex=67240d51&is=6722bbd1&hm=5710988d81ee054ce96364e1f4dba5f1726c3272e58bd895584a5b8f896425c4& 01:42 < bridge> "\xff\xff\xff\xffgetstatus" not working on ddnet? 01:46 < bridge> what is this? ^^ 01:46 < bridge> you can get status of all teeworlds and ddnet servers from https://master1.ddnet.org/ddnet/15/servers.json 02:09 < bridge> the objective is to connect to a game server using the UDP protocol, identify yourself as a player and collect information from the server, I tested it with other games and got a response, but with ddnet there is no return 02:18 < bridge> Is there a specific command for ddnet? 08:19 < ws-client> @fr4gues if you want to identify yourself as a player to the server you have to speak the protocol and do a full token handshake. Its more than sending one message. But as heinrich already said the publicly listed servers data is served as json. 08:19 < ws-client> @fr4gues what data exactly do you need? 12:49 < bridge> Github contributions are orange now :boo: 12:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1301513475411021987/image.png?ex=6724c061&is=67236ee1&hm=5853820b22278b7f1ead5e59d8e6320dac96d87554054d71fc0eaa44d37468fa& 13:20 < bridge> I am more scared about how empty my contribution history is :boo: 13:27 < bridge> imagine someone who can't tell the difference because it is empty 13:45 < bridge> @robyt3 hello android pro. 13:45 < bridge> 13:45 < bridge> Have you ever made/have experience with an app with high multi threaded workload? 14:06 < bridge> All my contributions are in filthy for profit private repositories :pepeW: 14:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1301532772749545532/image.png?ex=6724d25a&is=672380da&hm=a918ed6253446f6718f7436e3b7a03091ef07587040b069e96757e4f2cd4d702& 14:40 < bridge> With high workload you mean you want to perform heavy calculations on all CPU cores? I don't really have more experience except the DDNet multi threading, which isn't really doing heavy calculations. According to https://developer.android.com/topic/performance/threads we should lower the thread priority for background jobs so the UI thread can run smoother. 14:40 < bridge> > Generally, threads in the foreground group get about 95% of the total execution time from the device, while the background group gets roughly 5%. 14:42 < bridge> Yeah, the point is when I tried some stuff with dd-pg on Android I noticed that the main thread got completely blocked if 2 threads consume lot of CPU resource (e.g. during compilation of shaders) 14:42 < bridge> 14:42 < bridge> I even tested it on different devices. So something limits my workload and `available_parallelism` is not really reliable. 14:43 < bridge> I wonder if that is some energy saving mechanism or smth 14:43 < bridge> I have 8 cores, so at least 4 should be able to be used 14:43 < bridge> yeah, I guess you need to be careful with threads since they inherit the priority from the thread that spawned them 14:43 < bridge> > Practically speaking, there’s a number of variables responsible for this, but picking a value (like 4, for starters), and testing it with Systrace is as solid a strategy as any other. You can use trial-and-error to discover the minimum number of threads you can use without running into problems. 14:43 < bridge> > Each thread costs a minimum of 64k of memory 14:44 < bridge> Ok I try to lower the priority 14:44 < bridge> 14:44 < bridge> I use https://github.com/iddm/thread-priority 14:44 < bridge> for the main thread 15:08 < bridge> The low prio threads dominate, and for some reason they still block the main thread :c 15:08 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1301548410150715413/image.png?ex=6724e0ea&is=67238f6a&hm=64d0a39b1a702565b466a7bb093a8524618b7fac619baecf7b0f516a2ea878df& 15:08 < bridge> I assume the last 4 cores are the performance cores 15:11 < bridge> it doesn't look like they're blocked by CPU usage, the cores aren't at 100% 15:11 < bridge> is the main thread waiting for something? 15:11 < bridge> That doesn't matter if that is the energy management. Especially that they aren't at 100% makes no sense 15:12 < bridge> No 15:12 < bridge> oh, energy management means that the cores could be below 100% and no more CPU time is available? 15:13 < bridge> I guess good energy management means that CPU cores should clock as low as possible 15:13 < bridge> I guess running 4 cores at 50% is much more efficient than even one at 100% 15:14 < bridge> Too bad my desktop is too fast, I can't really see what happens there xD 15:15 < bridge> The low prio threads are only some noise 15:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1301550058331701299/image.png?ex=6724e273&is=672390f3&hm=280c7370dd95ed653ec005ad48277193e81838922a8dd38223336c61aa0b0f74& 15:15 < bridge> Kinda funny how good androids output looks 15:16 < bridge> Almost as if they have some structure 15:16 < bridge> And on desktop just completely random mess 15:17 < bridge> I can defs observe that no thread ever gets above 50% usage 15:18 < bridge> Everytime that happens the kernel switches the core 15:20 < bridge> Mh what I find interesting is that once the app is started mostly the first cores are used 15:22 < bridge> Ah anyway Android is too complicated for me 15:22 < bridge> I just want to spawn 50000 threads and get the task done 15:22 < bridge> But if I only use 1 async task it defs works as I expect it 15:22 < bridge> It does the heavy stuff in parallel without blocking the main thread 15:22 < bridge> But if I only use 1 async thread it defs works as I expect it 15:29 < bridge> But dunno it's exactly 2 threads. 15:29 < bridge> 15:29 < bridge> When I use 1 thread - perfect. 15:29 < bridge> 2 threads => main thread completely blocked 15:29 < bridge> So weird 15:29 < bridge> What tools can I use on android to see what happens xd 15:29 < bridge> Why do I not have a Linux phone xd 15:29 < bridge> (a proper 😏 ) 15:57 < bridge> @heinrich5991 you once suggested 15:57 < bridge> https://github.com/tokio-rs/tracing 15:57 < bridge> 15:57 < bridge> to #[instrument] the code. 15:57 < bridge> 15:57 < bridge> But I dunno, should I put that on every function in my whole code base or what 16:22 < bridge> How long can the sounds in tw be? Can I replace the hook sound with an hour long sound of a construction site? 16:22 < bridge> I think yes 16:23 < bridge> Ah finally I can make my dream come true 16:23 < bridge> If you have too many sounds the thread might hang tho 16:23 < bridge> since it's to slow to fill buffers 16:23 < bridge> But knowing ddnet code, it probs has a limit anyway 16:24 < bridge> this one or what? 16:24 < bridge> 16:24 < bridge> https://www.youtube.com/watch?v=Q7eJg7hRvqE 16:25 < bridge> My connection isn't good enough for anything more than text crntly 16:25 < bridge> Takes some secs to even send the msg 16:25 < bridge> Ah sounds like you travel in germany 16:32 < bridge> <0xdeen> Mostly but not always! There is some time-based power usage, so it can be more efficient to run at a higher clock speed and then go to sleep instead of running for longer at a lower clock speed. But the graphs I remembered for that were from 2010 or so 16:33 < bridge> Ah interesting. 16:33 < bridge> And are you by chance an Android pro and know the behavior there? xd 16:33 < bridge> <0xdeen> nope 16:33 < bridge> I let my async task sleep for 10 seconds before they start now. The main thread works for exactly 10 seconds xD 16:33 < bridge> Then it's rip 16:34 < bridge> an android pro would probably ask whether you're on stock android or on some random vendor's rom 16:34 < bridge> <0xdeen> no one is on stock android 16:34 < bridge> I am on stock, but I also tried on different phones 16:34 < bridge> Ok but not vendor at least 😄 16:34 < bridge> let's say close to stock 16:34 < bridge> Some open source thing 16:34 < bridge> <0xdeen> even pixel has moved far from stock I thought 16:35 < bridge> crDroid 16:35 < bridge> that should be relatively close to stock, I think 16:35 < bridge> No google services 😬 16:35 < bridge> I am savage 16:35 < bridge> not a random vendor's "battery optimizations" we're looking at 16:39 < bridge> It looks like stock Android, just includes pixel-only features 16:52 < bridge> I'm on pixel D: what do you mean I'm not on stock android 17:13 < bridge> Get the AOSP build and see how far from stock Pixel is now 17:28 < bridge> you are on stock android with pixel features 17:28 < bridge> technically 17:28 < bridge> which pixel 17:37 < bridge> 7a 17:39 < bridge> Go be fair, all android are based on AOSP 😄 17:40 < bridge> ye but samsung OneUI overlay makes it feel it's smth completly different 17:40 < bridge> ah nice 17:40 < bridge> been having fun with the 9 pro 17:40 < bridge> I guess pixel is the closest to stock in that sense yeah 17:41 < bridge> I got a custom launcher, so my phones lioked nearly the same for like the past 8 years 17:42 < bridge> looked 17:42 < bridge> :kek: 17:45 < bridge> I swear these codecov fks are so annoying xdd 17:46 < bridge> I get so many emails from them the last months 17:46 < bridge> Why do they update their privacy policy so often 17:46 < bridge> I didn't even opt-into their emails xD 19:29 < bridge> @learath2 modules almost done :clueless: 19:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1301613924243865712/image.png?ex=67251dee&is=6723cc6e&hm=9384e73a636e013d8b6e6d887107536fd3982d5dfc1e75a788ac388bf310371f& 20:40 < bridge> Oooh yea, it feels nice 20:40 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1301631785972535378/image.png?ex=67252e90&is=6723dd10&hm=0d7fbfaae11857f3d0f9b2bddfdf981fb1a6919da90022dabbf651862c6b7769& 20:44 < bridge> metal pipe falling sound for hammer 20:44 < bridge> that would be epic 21:43 < bridge> @milkeeycat https://github.com/dureuill/nolife/issues/7 21:43 < bridge> @heinrich5991 21:43 < bridge> i found a comment related to the issue we had 21:43 < bridge> &'a Foo<'a> issue 21:44 < bridge> pff 21:44 < bridge> what a nobo 21:44 < bridge> everybody knows `&'a T<'a>` bad :greenthing: 22:19 < bridge> Would it be best to post feature requests/improvements on Github issues? I just wanted to suggest a smoother camera method for multi-view spectator mode when tees respawn. 22:28 < bridge> yes, or #town-hall 23:19 < zhn> good night guys! is there any way to go around with redirecting from one port to another when registering to master server? 23:19 < zhn> i can connect to the server without any problem with raw ip but it will not register on master because original port is "closed"