00:30 <+bridge_> on the client side, most of the time is spent in the prediction 00:30 <+bridge_> 256 certainly is too laggy 00:30 <+bridge_> aka the physics 00:30 <+bridge_> well my physics run at 50tps with 30k players on 1 thread :P 00:30 <+bridge_> wdym 00:31 <+bridge_> i mean ddnet physics are just really shit 00:31 <+bridge_> its trivial to optimize some parts 00:31 <+bridge_> what is "my physics"" 00:31 <+bridge_> what is "my physics" 00:31 <+bridge_> https://github.com/Teero888/ddnet_physics/ 00:32 <+bridge_> its not complete and recently i have decided to not retain exact compatibility - for the sake of optimization 00:32 <+bridge_> im basically just missing all the spinny laser things since they are not trivial to optimize to O(1) 00:33 <+bridge_> is this just a simulation of the physics? 00:33 <+bridge_> ye 00:34 <+bridge_> its used in ||https://github.com/Teero888/frametee|| currently 00:36 <+bridge_> You are missing this simple optimization in the player collision code: https://github.com/ddnet/ddnet/pull/12018/changes/5c6d4ab2350f33c709d3c0d3786634034c97cbc6 00:36 <+bridge_> that changes physics lol 00:36 <+bridge_> Or am i missing somethting 00:36 <+bridge_> *btw* 00:36 <+bridge_> No 00:36 <+bridge_> yes it does 00:36 <+bridge_> floating points 00:37 <+bridge_> No, it works the same for me, all values are the same and I get no mispredictions 00:37 <+bridge_> bro this isn't math 00:38 <+bridge_> the floating point numbers behave differently in that change and it will change things 00:38 <+bridge_> try it 00:38 <+bridge_> that means you didn't write tests? 00:38 <+bridge_> I use antiping and prediction margin 300 as testt 00:38 <+bridge_> I use antiping and prediction margin 300 as tes 00:38 <+bridge_> I use antiping and prediction margin 300 as test 00:39 <+bridge_> and output values for comparison 00:39 <+bridge_> generate a few thousand collisions with the original code and record the positions using %a and compare the exact cases 00:39 <+bridge_> i know 00:39 <+bridge_> # check my bi0, she's squirting ๐Ÿ˜„ 00:40 <+bridge_> it will be different i can guarantee it. 00:40 <+bridge_> @totar knows too xd 00:40 <+bridge_> > its not complete and recently i have decided to not retain exact compatibility - for the sake of optimization 00:40 <+bridge_> 00:40 <+bridge_> > You are missing this simple optimization 00:40 <+bridge_> 00:40 <+bridge_> > that changes physics lol 00:40 <+bridge_> > bro this isn't math 00:40 <+bridge_> i wrote like 20 tests for these scenarios before i decided to not be compatible with default ddnet 00:40 <+bridge_> yes, but in your case its a PR 00:40 <+bridge_> Feel free to commentt 00:40 <+bridge_> Feel free to comment 00:40 <+bridge_> yes that changes physics 00:41 <+bridge_> you need the real sqrt 00:44 <+bridge_> ty 00:47 <+bridge_> https://chatgpt.com/share/69e7fe2e-92b8-83ea-a67e-1cab4cfb63fa 00:47 <+bridge_> 00:50 <+bridge_> what? im only missing a similar thing [here](https://github.com/Teero888/ddnet_physics/blob/391d3bb442d18698ecd35b854d325ee34d28bf60/src/gamecore.c#L1740) and [here](https://github.com/Teero888/ddnet_physics/blob/391d3bb442d18698ecd35b854d325ee34d28bf60/src/gamecore.c#L518) 00:50 <+bridge_> the code you are referencing doesnt even exist in my code base sry man 00:51 <+bridge_> i know, and i dont know why you need to prove a point. but here, something for you: 00:51 <+bridge_> 00:51 <+bridge_> ```Why They're Equivalent 00:51 <+bridge_> The condition distance(A, B) < R is mathematically identical to distance_squared(A, B) < Rยฒ when R โ‰ฅ 0 (which it always is for physical sizes). Squaring preserves the ordering relationship for non-negative numbers. 00:51 <+bridge_> Why People Might Complain 00:51 <+bridge_> The floating point precision concerns are mostly theoretical edge cases that rarely matter in practice: 00:51 <+bridge_> 00:51 <+bridge_> Extremely rare boundary cases: Near the exact collision boundary, sqrt(100.0) < 10.0 might evaluate differently than 100.0 < 100.0 on some platforms due to rounding, but this is vanishingly rare 00:51 <+bridge_> Different error characteristics: 00:51 <+bridge_> 00:51 <+bridge_> distance: error from sqrt operation 00:51 <+bridge_> distance_squared: error from squaring PhysicalSize() 00:51 <+bridge_> These errors are different but both tiny 00:51 <+bridge_> 00:51 <+bridge_> 00:51 <+bridge_> Overflow concerns: For integer positions, squared distances can overflow if coordinates are very large (e.g., 30000ยฒ + 30000ยฒ > INT_MAX), but this is a separate issue``` 00:51 <+bridge_> you really asked an llm for that? 00:52 <+bridge_> Says the person who linked a chat gpt conversation 00:52 <+bridge_> they are strictly not equvilant 00:52 <+bridge_> there is no arguing 00:52 <+bridge_> Okay, lets argue about this 00:52 <+bridge_> Double standards mch 00:52 <+bridge_> THERE IS NO ARGUING 00:52 <+bridge_> Double standards much 00:52 <+bridge_> ITS DIFFERENT 00:52 <+bridge_> PERIOD 00:52 <+bridge_> Why are you so mad? 00:52 <+bridge_> > These errors are different 00:53 <+bridge_> > you really asked an llm for that? 00:53 <+bridge_> 00:53 <+bridge_> Please explain why my LLM output is worse than yours. 00:53 <+bridge_> You are blaming me for something you did too 00:54 <+bridge_> we spent probably a hundred hours tackling floating point differences and came up crazy solutions just to keep compatibility. and now you come along and *just* change something that breaks it, IN THE ORIGINAL CODE. 00:55 <+bridge_> Again, why are you so mad? Did I say I won't change it? Did you read my LLM output or did you just get made about your own double standards? I agree to heinrich, it's pretty unfair to post LLM outputs. Especially if you dont consider reading the other person's output, then getting mad over the fact that "ITS DIFFERENT", while my output said exactly that too 00:55 <+bridge_> Again, why are you so mad? Did I say I won't change it? Did you read my LLM output or did you just get mad about your own double standards? I agree to heinrich, it's pretty unfair to post LLM outputs. Especially if you dont consider reading the other person's output, then getting mad over the fact that "ITS DIFFERENT", while my output said exactly that too 00:56 <+bridge_> did you read your own LLM output? it clearly says it gives a different result 00:56 <+bridge_> Are you reading anything I type? 00:57 <+bridge_> teero isn't even the one that linked the LLM, that was me 00:57 <+bridge_> Ah 00:57 <+bridge_> you can argue with me about that, go ahead 00:57 <+bridge_> Then ~~double standards~~ 00:58 <+bridge_> while you are at it go change the velramp code to my version since its only off by 0.000001 in 0.001% of cases 00:58 <+bridge_> ```cpp 00:58 <+bridge_> MACRO_TUNING_PARAM(VelrampStart, 550.0f) 00:58 <+bridge_> MACRO_TUNING_PARAM(VelrampRange, 2000.0f) 00:58 <+bridge_> MACRO_TUNING_PARAM(VelrampCurvature, 1.4f) 00:58 <+bridge_> MACRO_TUNING_PARAM(VelrampValue, 0x1.60d112p-13) // precomputed logf(Curvature) / Range 00:58 <+bridge_> 00:58 <+bridge_> static inline float fast_expf(float x) { 00:58 <+bridge_> union { 00:58 <+bridge_> float f; 00:58 <+bridge_> int i; 00:58 <+bridge_> } v; 00:58 <+bridge_> v.i = (int)(x * (1 << 23) / 0.69314718f + 127 * (1 << 23)); 00:58 <+bridge_> return v.f; 00:58 <+bridge_> } 00:58 <+bridge_> const float VelMag = pCore->m_VelMag * 50; 00:58 <+bridge_> float OldVel = vgetx(pCore->m_Vel); 00:58 <+bridge_> 00:58 <+bridge_> float RampValue = 1.f; 00:58 <+bridge_> if (VelMag >= pCore->m_pTuning->m_VelrampStart) { 00:58 <+bridge_> float t = VelMag - pCore->m_pTuning->m_VelrampStart; 00:58 <+bridge_> RampValue = fast_expf(-t * pCore->m_pTuning->m_VelrampValue); 00:58 <+bridge_> } 00:58 <+bridge_> pCore->m_VelRamp = RampValue; 00:58 <+bridge_> 00:58 <+bridge_> OldVel = OldVel * RampValue; 00:58 <+bridge_> pCore->m_Vel = vsetx(pCore->m_Vel, OldVel); 00:58 <+bridge_> ``` 00:58 <+bridge_> but is a lot faster 00:58 <+bridge_> Still y'all are mad for no reason. In practice this does not change anything. Obviously there are floating point precision errors in that theoretically 00:58 <+bridge_> tee historian incompatibility once again 00:58 <+bridge_> and nobody will know why xd 00:58 <+bridge_> can be bumped in theory 00:59 <+bridge_> also invalidates all previous ranks ever made 00:59 <+bridge_> Not really 00:59 <+bridge_> you can't change physics in gamecore because it breaks deadreckoning even if you bump teehistorian 00:59 <+bridge_> also invalidates all previous ranks ever made, unless you can prove otherwise 00:59 <+bridge_> you can't change physics in gamecore because it breaks dead reckoning even if you bump teehistorian 00:59 <+bridge_> <01000111g> I think competitive integrity is long gone tbh 01:00 <+bridge_> thats not the point 01:00 <+bridge_> gamecore has to be the same physics are teeworlds vanilla 01:00 <+bridge_> gamecore has to be the same physics as teeworlds vanilla 01:01 <+bridge_> That's wrong, as I said from experience, it works on my server without any issues. Antiping works correctly, never had any reports specifically to tee boncing. 01:01 <+bridge_> That's wrong, as I said from experience, it works on my server without any issues. Antiping works correctly, never had any reports specifically to tee bouncing. 01:02 <+bridge_> But it's obvious that this optimization is a critical part for official DDNet, that's why I asked you to comment, so that any maintainer can actually take a look, know this is a slight issue, and then decide to drop it. 01:03 <+bridge_> you can preserve physics and optimize it 01:03 <+bridge_> you just need to gaurd the expensive check with a cheap check 01:03 <+bridge_> visually you wouldn't be able to tell my physics apart from the default ones too. (except my bounce physics i deliberately changed those) 01:04 <+bridge_> you just need to guard the expensive check with a cheap check 01:04 <+bridge_> > (except my bounce physics i deliberately changed those) 01:04 <+bridge_> 01:04 <+bridge_> So what are you even arguing about xd 01:05 <+bridge_> i mean my physics produce completely different results using the same input, but you wouldn't notice. you testing it ingame and not noticing any misspredictions doesn't mean anything 01:05 <+bridge_> i mean my physics produce completely different results using the same inputs, but you wouldn't notice. you testing it ingame and not noticing any misspredictions doesn't mean anything 01:06 <+bridge_> That's a good point and actually true 01:07 <+bridge_> Let me ask you as the physics expert, do you really think this would change a lot on official servers / my server? Should I for example revert this on my servers too? 01:07 <+bridge_> Or add a config? 01:10 <+bridge_> it would break the tee historian and dead reckoning as tater said. In-game you would notice 0 difference as a player. for your own server, sure. but for official servers i would not allow this change if i was a maintainer. And if you do change it, then it would need to be documented. 01:11 <+bridge_> I would accept it if you bumped teehistorian and left a comment that it breaks dead reckoning on old clients 01:11 <+bridge_> but also I would not accept it anyway because you can do the no compromise optimization that does the same thing without changing anything 01:11 <+bridge_> You mean only physize^2 part? 01:12 <+bridge_> You mean only physsize^2 part? 01:12 <+bridge_> you do both 01:12 <+bridge_> distance_squared then distnace 01:12 <+bridge_> distance_squared then distance 01:12 <+bridge_> 99.99% of the time you will not run the expensive check 01:12 <+bridge_> I see, thanks guys, this is more the direction I wanted this to go 01:14 <+bridge_> I will go with that, I think. Sounds most sane 01:24 <+bridge_> btw why not implement spatial hashing collision on your server, you do not need to care about teehistorian replayability I assume? 01:25 <+bridge_> yea, i dont, but at the same time i am not sure if that's required as I have 128 slots only too 01:26 <+bridge_> is it working 100% as current physics? 01:27 <+bridge_> you said if prediction doesn't break then you don't care 01:27 <+bridge_> so that's all you need 01:27 <+bridge_> proving 100% exactness is very hard with all tune combinations 01:27 <+bridge_> here i at least know what can go wrong 01:28 <+bridge_> what are the edge cases of your approach? 01:28 <+bridge_> extremely fast objects 01:29 <+bridge_> also collision order, but you can preserve that if you are very careful 01:32 <+bridge_> So much of this is only theoretical yet? 01:35 <+bridge_> in my physics tee collision is already using spatial hashing but not in the correct order, since idc about that 01:36 <+bridge_> wut dat mean 01:36 <+bridge_> oh for old clients 01:36 <+bridge_> wouldn't people on fokkos server notice then 01:38 <+bridge_> can't you also just fallback to naive collision in this case too 01:40 <+bridge_> also https://frame.work/laptop13pro dropped pretty cool ๐Ÿ‘€ 09:34 <+bridge_> I don't have an apple product, who can I ping to solve this? 10:05 <+bridge_> check the dono list for anyone who;s rich 10:07 <+bridge_> I think only Deen since he sign the binary 10:33 <+bridge_> I think we can also mention windows with the Smart App thingy 10:33 <+bridge_> https://discord.com/channels/252358080522747904/293493549758939136/1495367201409073252 10:34 <+bridge_> It requires a proper signature 10:34 <+bridge_> It requires a proper signature for Smart App Control to allow it 10:34 <+bridge_> it requires paying money for Smart App Control to allow it 10:35 <+bridge_> the signature isn't the interesting part 10:35 <+bridge_> (same as the apple thing btw) 10:35 <+bridge_> Ah, didn't know it wasn't free 10:35 <+bridge_> @heinrich5991 You left me on seen :) 10:38 <+bridge_> Nvm it was obvious, getting a code-signing cert is obviously not free 10:38 <+bridge_> responded 10:39 <+bridge_> Would you say something like this would work for new freeze? (This isn't coded yet, just a simple skin swap) 10:39 <+bridge_> (Also the reason it looks weird is because there's no back asset for the skin; I don't know how to incorporate it while still keeping the transparency) 10:39 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1006784629484814486/new_freeze_concept.demo.mp4?ex=69e9a340&is=69e851c0&hm=3bb6f764ebb8df9b678d6cb2834e1c271ddf977d54cfe52ea09d6437ff1e5c6e& 12:09 <+bridge_> I'd like to recommend you CachyOs, instead of needing to sign a binary and shove money into apples or microsofts ass, you can just run whatever you want 12:11 <+bridge_> it is free, its some cpu cycles, its not free cuz they dont want to hand it for free 12:12 <+bridge_> tbf, for clarity, the money doesn't go _directly_ to microsoft, when you pay for a code signing certificate 12:12 <+bridge_> what @ryozuki says, too 12:13 <+bridge_> @learath2 i installed windows on a spare drive i had cuz some friends wnat to play league 12:13 <+bridge_> u dont know the shenanigans i had to go to get secure boot working, with linux and limine 12:13 <+bridge_> but apparently limine cant chainload windows with secure boot so i have to do it via bios 12:13 <+bridge_> anyway i can boot linux with secure boot now, which ig its useless on linux but yeah 12:14 <+bridge_> After I have fully switched, I have yet to find anything I miss from windows 12:14 <+bridge_> also i know confirmed my motherboard has a stupid bug, a warm-reboot has a ddr5 ram retraining issue that just hangs 12:14 <+bridge_> windows needs to be booted via microsoft certificates, not via microsoft third-party certificates AFAIK 12:14 <+bridge_> but a cold boot ddr5 training works fine 12:14 <+bridge_> and mcr doesnt help 12:14 <+bridge_> hence anything that touches linux can't boot windows 12:14 <+bridge_> i even updated my bios 12:15 <+bridge_> but its a know msi bug for this mobo ig 12:15 <+bridge_> i guess mobos from 2026 are better suited for dd5 12:15 <+bridge_> i got into it in early days 12:16 <+bridge_> i guess mobos from 2026 are better suited for ddr5 12:16 <+bridge_> wdym by touching linux tho, limine is a bootloader 12:17 <+bridge_> Well given the way they are abusing Secure Boot, I can see why you can not allow chainloading 12:17 <+bridge_> idk what chainloading does ig it touches linux 12:17 <+bridge_> I guess linux was the wrong term. if it touches anything non-microsoft during the boot, it can't boot windows 12:17 <+bridge_> the bootloader is likely signed with the microsoft third-party certificate 12:17 <+bridge_> (Or a MOK) 12:18 <+bridge_> i saw the word KEK 12:18 <+bridge_> and i chuckled 12:18 <+bridge_> I sign my own refind build with my own key 12:18 <+bridge_> sudo sbctl list-enrolled-keys 12:18 <+bridge_> DB: 12:18 <+bridge_> Database Key 12:18 <+bridge_> Microsoft Corporation Third Party Marketplace Root 12:18 <+bridge_> Microsoft Root Certificate Authority 2010 12:18 <+bridge_> MSI SHIP KEK 12:18 <+bridge_> PK: 12:18 <+bridge_> Platform Key 12:18 <+bridge_> KEK: 12:18 <+bridge_> Key Exchange Key 12:18 <+bridge_> Microsoft Corporation Third Party Marketplace Root 12:18 <+bridge_> MSI SHIP PK 12:18 <+bridge_> what's a MOK? 12:18 <+bridge_> Machine Owner Key 12:18 <+bridge_> what's KEK? ^^ 12:18 <+bridge_> Key Exchange Key ig 12:18 <+bridge_> kek 12:19 <+bridge_> The OS uses the KEK to update the secure boot databases 12:20 <+bridge_> ``` 12:20 <+bridge_> edgar@gentoo ~ $ sudo sbctl status 12:20 <+bridge_> Installed: โœ“ sbctl is installed 12:20 <+bridge_> Owner GUID: a15f2edb-72de-4d48-a0fe-ca896002b0b9 12:20 <+bridge_> Setup Mode: โœ“ Disabled 12:20 <+bridge_> Secure Boot: โœ“ Enabled 12:20 <+bridge_> Vendor Keys: microsoft builtin-db builtin-KEK 12:20 <+bridge_> Firmware: โ€ผ Your firmware has known quirks 12:20 <+bridge_> - FQ0001: Defaults to executing on Secure Boot policy violation (CRITICAL) 12:20 <+bridge_> https://github.com/Foxboron/sbctl/wiki/FQ0001 12:20 <+bridge_> ``` 12:20 <+bridge_> xD 12:20 <+bridge_> You can read my okay-ish meta analysis "paper" on secureboot for more information ๐Ÿ˜› 12:20 <+bridge_> True lmao 12:20 <+bridge_> gimme 12:21 <+bridge_> Well you have to consider the approval to be in the trusted CA list, you must match alot of requirements and pay aswell 12:22 <+bridge_> That's also why it isn't free 12:22 <+bridge_> @heinrich5991 12:24 <+bridge_> if ddr5 needs "training" i wonder what will happen if we ever get ddr6 12:24 <+bridge_> why booting is so complex xd 12:25 <+bridge_> The frequency is just insanely high now, training is here to stay it seems 12:25 <+bridge_> 2x32gb 6000mt/s 12:26 <+bridge_> quick booting is a dream 12:26 <+bridge_> its like we regressed 12:26 <+bridge_> I thought they were doing the training thing since ddr4 if you enable the high speed mode in bios 12:27 <+bridge_> Yep, if you want to get the most out of your ram you can't use generic timings 12:28 <+bridge_> Fwiw I only get a truly cold boot if I accidentally let my battery die or don't use my computer in a long time 12:29 <+bridge_> The training result is cached for a while it seems, idk what the exact conditions are for it to be considered stale 12:32 <+bridge_> I mean it seems logical that memory would have some equivalent process that lets it run as fast as it can, the cpu, gpu, and ssd already try to run as fast as possible all the time 12:32 <+bridge_> how long until we have memory boost clock xd 12:33 <+bridge_> in my case a cold boot is faster than a "warm" reboot, warm reboot being a "reboot" cmd for example 12:33 <+bridge_> because my mobo has a warm reboot bug that trains forever 12:33 <+bridge_> also cold reboot uses MCR too 12:33 <+bridge_> memory context restore 12:34 <+bridge_> can you override the training values with conservative numbers so it boots faster? 12:54 <+bridge_> can someone pls explain, ty. much appreciated โค๏ธ 13:02 <+bridge_> it seems like it prefers shorter map names 13:02 <+bridge_> according to the source code 13:09 <+bridge_> just saw this @learath2 https://codeberg.org/hails/wsl9x 13:09 <+bridge_> https://social.hails.org/@hailey/116446826733136456 13:09 <+bridge_> LOL that's a project 13:10 <+bridge_> > Proudly written with zero AI. 13:10 <+bridge_> Proud of this dude 13:16 <+bridge_> ```C 13:16 <+bridge_> #define AI 0 13:16 <+bridge_> ``` 13:16 <+bridge_> https://tenor.com/view/jon-hamm-jonhamm-jon-jon-hamm-dancing-club-dancing-gif-9837026988511234852 13:16 <+bridge_> ig its only for win95 13:17 <+bridge_> Q: Is dude okay for someone using she/her pronouns? ๐Ÿ™ƒ 13:17 <+bridge_> Or did I commit a sin and am I going to permajail? 13:17 <+bridge_> afaik its ok 13:17 <+bridge_> its like sayinh bud 13:17 <+bridge_> dudette 13:18 <+bridge_> If she's a cool dude, then it's okay 13:18 <+bridge_> dudette is the cringest thing ever, I pretend that word doesn't exist 13:19 <+bridge_> so I guess you are not a Toadette fan? 13:20 <+bridge_> idm the other -ette ones 13:20 <+bridge_> bro 13:20 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496470784808325190/1.jpg?ex=69ea0086&is=69e8af06&hm=e65e488e7abf4a1b73a7c3130cca421cbdd08cd525f670b808c26677612cf1fd& 13:20 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496470785244794940/2.jpg?ex=69ea0086&is=69e8af06&hm=7d7105f4a10fe20f8c440359b10a6e1f96c50cf36a635abd1064b838dcc8dce3& 13:20 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496470785789792359/3.jpg?ex=69ea0086&is=69e8af06&hm=bf9dc65b8db0f0fdd8218363da5ad307fe90b588d2e55c8624e8afe3b31468fb& 13:20 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496470786398093443/4.jpg?ex=69ea0086&is=69e8af06&hm=dfe2bce5c01086070e95e98971388c2610d5b29b306707b8faa4919b62c50e9a& 13:20 <+bridge_> @Discord Mod 13:20 <+bridge_> bro @Discord Mod 13:20 <+bridge_> @learath2 u are a cringette 13:21 <+bridge_> @milkeeycat kek 13:21 <+bridge_> timed out 13:21 <+bridge_> Ok that sounds cringe too :Hmm: 13:21 <+bridge_> if you are cringette, you smoke cigarette 13:21 <+bridge_> okay, I may also need a timeout 13:24 <+bridge_> teette 13:32 <+bridge_> Thank you so much. Couldnโ€˜t see that myself ๐Ÿ™ 14:52 <+bridge_> is dude not gender neutral 14:52 <+bridge_> girly :) 14:53 <+bridge_> girly :) 14:53 <+bridge_> "wasup girly" 14:53 <+bridge_> Woah solly:poggers: 14:53 <+bridge_> sometimes doesnt feel like it, but most of the time yeah 14:53 <+bridge_> sounds like a start to a bad pickup line 14:54 <+bridge_> did you just go bankrupt, because it looks like you used all your claude tokens on looksmaxing 14:54 <+bridge_> yes 14:55 <+bridge_> is claude good for normal questions 14:55 <+bridge_> i sometimes read #developer because funmy people arguing 14:55 <+bridge_> i feel like its more of the intention behind it 14:55 <+bridge_> this is so #off-topic 14:56 <+bridge_> well they are always off topic here 14:56 <+bridge_> who cares 14:56 <+bridge_> @sollybunny where ranks 14:57 <+bridge_> ahha i quit 14:57 <+bridge_> no need :) 14:57 <+bridge_> (if you are talking about 3rd party map clear times filtering hopefuly cheaters better than ddnet) 14:58 <+bridge_> i dont even got developer role 14:58 <+bridge_> when comeback 14:58 <+bridge_> when theres fewer cheaters, revival of vanilla, and ddnet-rs is preffered idk 14:58 <+bridge_> so basically never 14:58 <+bridge_> top cinco sad 14:58 <+bridge_> si 14:59 <+bridge_> @sollybunny last off topic thing do you have a go to meal deal if so what is it 14:59 <+bridge_> omg meal deals 14:59 <+bridge_> i loved those in england 14:59 <+bridge_> we need those everywhere 14:59 <+bridge_> yess they are the best 15:00 <+bridge_> im gonna head to the shops and grab one and i was thinking of other options because im always getting the same things 15:00 <+bridge_> where are u from? 15:00 <+bridge_> austria 15:00 <+bridge_> tesco express usually 15:00 <+bridge_> triple sammich, prefrably the meatfest one, otherwise egg/cheese 15:00 <+bridge_> 2 eggs (because i dont really like most snacks, and its just 2 fuggin eggs idk) 15:00 <+bridge_> if i have id, monster energy drink, one that doesnt look like dirt and one taht isnt sugar free (taste like shit), usually i go for the rosey one 15:00 <+bridge_> otherwise oasis or lipton ice tea 15:01 <+bridge_> we dont have that where I live 15:01 <+bridge_> tesco express usually 15:01 <+bridge_> triple sammich, prefrably the meaty soseg one, otherwise egg/cheese (the non soseg meat ones are absolute garbage, i could barely eat it) 15:01 <+bridge_> 2 eggs (because i dont really like most snacks, and its just 2 fuggin eggs idk) 15:01 <+bridge_> if i have id, monster energy drink, one that doesnt look like dirt and one taht isnt sugar free (taste like shit), usually i go for the rosey one 15:01 <+bridge_> otherwise oasis or lipton ice tea 15:01 <+bridge_> meal deal makes me feel so much better about myshelf 15:02 <+bridge_> i luvv lipton peach ice tea but i fancy a energy drink so ima get one 15:02 <+bridge_> ive always seen 2 eggs underneath the sandwiches but i never thought of grabbing them 15:02 <+bridge_> prolly wont ever doesnt seem very appealing to me 15:02 <+bridge_> what do u normally get, tiny chocolate bar or sweets that will make me feel like shit after are not appealing 15:02 <+bridge_> nor are crisps really 15:02 <+bridge_> and the triple sandwiches u can go never go wrong with 15:03 <+bridge_> you very much can 15:03 <+bridge_> there are some disgusting ones 15:03 <+bridge_> i forgot which one is disgusting, but it is 15:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496496731330711674/iu_.png?ex=69ea18b0&is=69e8c730&hm=a734a42489d37ae188327e2f55a124c19fd0cc5453cc7bd9478d4109730db0ba& 15:04 <+bridge_> or it might be the chicken one 15:04 <+bridge_> i havent a clue 15:04 <+bridge_> not gonna find out 15:04 <+bridge_> something u have to experienec 15:04 <+bridge_> something u have to experience 15:04 <+bridge_> i get these cheddar and onion? bites thing i need to show an image they are pretty good 15:04 <+bridge_> dont you get like 4 15:04 <+bridge_> maybe some fridge raiders because they are pretty good even tho i feel kinda disgusting getting them 15:05 <+bridge_> those look good 15:05 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496497211125530755/extra-mature-cheddar-chutney-rolls-RMCAO-2780424415.png?ex=69ea1922&is=69e8c7a2&hm=9f943703d1a4ca680d219795dcec96ed788ecc94f313d67910bd14113a94cd2e& 15:05 <+bridge_> smaller size 15:05 <+bridge_> but same product 15:05 <+bridge_> really good 15:06 <+bridge_> or if i fancy a chocolate ill get a reeses penut butter cup or if i want a crisp ill get popchips which dont really make me feel like shit 15:09 <+bridge_> britain's best meal: 15:10 <+bridge_> @qxdfox what did u get when u were in the uk 15:11 <+bridge_> sybau 15:11 <+bridge_> british food is litteraly just american food but less fat icl 15:11 <+bridge_> err 15:11 <+bridge_> quite hard to say now 15:11 <+bridge_> and our indian and chinese food is better 15:11 <+bridge_> how long ago was it? 15:11 <+bridge_> just a week but there was a bunch more exciting and tiring stuff happening than mealdeals xD 15:12 <+bridge_> i remember one of those toasts 15:12 <+bridge_> that were like 15:12 <+bridge_> yellow inside or sum 15:12 <+bridge_> idfk 15:12 <+bridge_> @l._ouis that has to be racist 15:12 <+bridge_> beans and peas 15:12 <+bridge_> crazy 15:12 <+bridge_> a toastie? 15:12 <+bridge_> in a meal deal? 15:12 <+bridge_> what 15:12 <+bridge_> where did u go pret a manger? 15:13 <+bridge_> not toastie 15:13 <+bridge_> check google images 15:13 <+bridge_> i dont really remember all i know is that it was fire 15:47 <+bridge_> keep them beans ๐Ÿ”ฅ 15:49 <+bridge_> https://www.reddit.com/r/MadeMeSmile/comments/cd617e/how_you_bean/ 15:50 <+bridge_> I noticed a problem that all the videos decoded on my PC, its color would be more grey. D: 15:50 <+bridge_> Did anyone meet same problem? 15:51 <+bridge_> How long has it bean that way 15:56 <+bridge_> who even does this ๐Ÿ˜‚ ๐Ÿ˜‚ 15:56 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496509901403328704/image.png?ex=69ea24f4&is=69e8d374&hm=76d0fe7bf6d0c9d4e2c42f76a26f516b15a6e6b5b6b769c758fc2c3915e81669& 15:56 <+bridge_> on my own pr 15:56 <+bridge_> that i closed 15:56 <+bridge_> someone have to be really pity to mark comments as low quality 15:56 <+bridge_> :kek: 15:59 <+bridge_> hmm 15:59 <+bridge_> since I bought the PC? 15:59 <+bridge_> I noticed that just now 16:00 <+bridge_> as I viewed the video I recorded. 16:01 <+bridge_> It even became this in my video: 16:01 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496511170994114690/image.png?ex=69ea2622&is=69e8d4a2&hm=955e61b20318fca86a559bad1b527f7deccd93b7f37fd0747494ddb7b381c900& 16:01 <+bridge_> another screenshot of the original color: 16:01 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496511356994719754/image.png?ex=69ea264f&is=69e8d4cf&hm=1c1d07453eac89309be4cf97e989ddfda8b25746eab02353781fc6deecd4e534& 16:02 <+bridge_> :thonk: 16:03 <+bridge_> What do you record with / view with 16:04 <+bridge_> record: OBS 16:04 <+bridge_> view: VLC player 16:10 <+bridge_> https://github.com/ddnet/ddnet/pull/12018#discussion_r3121463997 16:10 <+bridge_> @totar is it even possible that DS would be false while D would be true? 16:18 <+bridge_> VLC is ๐Ÿ‘Ž 16:18 <+bridge_> ok done 16:18 <+bridge_> do you have any kind of HDR settings enabled? 16:18 <+bridge_> I changed the color space. 16:19 <+bridge_> ive seen people with the same issue on windows using nvidia shadowplay 16:20 <+bridge_> I'm on the Archlinux 16:20 <+bridge_> its probably an issue with ur obs settings 16:20 <+bridge_> some setting 16:46 <+bridge_> someone got really offended on ya bro 16:46 <+bridge_> but be nice 16:46 <+bridge_> its nornal 16:46 <+bridge_> its normal 17:24 <+bridge_> Saying VLC is bad is crazy, 17:24 <+bridge_> without context, definitely 17:24 <+bridge_> Respect french tech >;( 17:25 <+bridge_> Respect french tech ๐Ÿ˜  17:27 <+bridge_> mpv is better 17:28 <+bridge_> source: anime degenerates on linux 17:28 <+bridge_> Lmao 17:32 <+bridge_> https://docs.google.com/document/u/0/d/1d0rVpWOoAcBc5SGPAsUCpz33cpZ0eT67Nx6TdlyC2vE 17:32 <+bridge_> 17:32 <+bridge_> here's context then 17:32 <+bridge_> bro 17:32 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496534191624425724/1.jpg?ex=69ea3b93&is=69e8ea13&hm=8b1e1691d90f148ba0c62c7ce3552a0b133d7ed65e2082b52a4098a50aaf4f00& 17:32 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496534191939129414/2.jpg?ex=69ea3b93&is=69e8ea13&hm=20d35c2d761c158efb87a694768eddbc9587e1a1406d5ec66ad32fc85f013799& 17:32 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496534192308355283/3.jpg?ex=69ea3b93&is=69e8ea13&hm=814ae710acffc4bbf4c424a3d26df115e2a19d7440b377dbef9427b034eada23& 17:32 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496534193142763692/4.jpg?ex=69ea3b93&is=69e8ea13&hm=90965f55827f4cce932249583a4ad2ab10a50baea01abb8f81de479ea6fec023& 17:36 <+bridge_> and I pointed it out here specifically because vlc has color reproduction issues in some cases, which could have explained the issue 17:38 <+bridge_> i had problems with subtitles on VLC while smplayer had no problems whatsoever with the same files so i kinda switched over :owo: 17:48 <+bridge_> @heinrich5991 why you hide this as off-topic? 17:48 <+bridge_> wasn't the 17:48 <+bridge_> > I think the change should be reverted and instead do a fix in pure C++ code with the system that was already working fine. 17:48 <+bridge_> his suggestion? 17:48 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1496538121687404574/image.png?ex=69ea3f3c&is=69e8edbc&hm=0713742b9b1335bbfa7b29371c5eb56e42bf1104c1ea538a7445f2991ef916c8& 17:49 <+bridge_> it seems to comment on rust vs c++, not on the performance degradation 17:49 <+bridge_> lose argument = hide comments 17:49 <+bridge_> lose argument on discord = timeout 17:50 <+bridge_> do you mean that we must use Rust to solve it? 17:50 <+bridge_> Can't we revert it? 17:50 <+bridge_> Can't that be a resolution? 17:50 <+bridge_> I'm just going to timeout @kebscs for not even trying to not be inflammatory 17:50 <+bridge_> we could revert it, yes 17:51 <+bridge_> I think it's generally a good idea to write network-facing code in rust, in ddnet 17:51 <+bridge_> it resolves the problems of having security vulnerabilities in that code 17:51 <+bridge_> so I think it'd be better to try and fix this performance regression, before trying to make the C++ implementation secure 17:52 <+bridge_> I tried making the C++ implementation secure against the bug that I found, and @robyt3 found another bug. I concluded that it's probably better to have this in rust. and since I had already written a teeworlds snpashot library in rust, I figured I could integrate it 17:53 <+bridge_> (I responded to kebs' comment in the "use of Rust within ddnet server/client" issue) 17:54 <+bridge_> asked in the opposite way: why would you prefer to see C++ for this code path? 17:54 <+bridge_> however, the vulnerabilities issue is off-topic in that issue. 17:54 <+bridge_> the issue is about `Snapshot building ~6.5x slower after Rust rewrite`. 17:55 <+bridge_> Nothing relates to the vulnerabilities. 17:55 <+bridge_> If that must be relevant, that's just the reason for rewriting in Rust. 17:56 <+bridge_> What we need to solve is a slower building instead of the vulnerabilities, at least in that issue. 17:56 <+bridge_> yes 17:58 <+bridge_> so we back to here, it shouldn't be marked as off-topic as what the comment said was a way to solve the issue. 17:58 <+bridge_> I wouldn't even want to debate that in the slightest but maybe it does need a little bit more time 17:59 <+bridge_> I unmarked the relevant part of the comment 17:59 <+bridge_> I unmarked the relevant part of the comment now 17:59 <+bridge_> rewriting stuff in rust is just not as easy as it sounds 17:59 <+bridge_> I saw it. Thanks for your listening. 18:00 <+bridge_> yes. I had naively assumed that the snapshot code would automatically have good performance which was not the case 18:00 <+bridge_> even canonical couldn't pull off their gnu utils rust rewirtes as smoothly as they thought they would 18:00 <+bridge_> I'm currently checking whether I can do something to improve its performance to a comparable level of the C++ implementation 18:01 <+bridge_> AFAIK it wasn't canonical who rewrote these tools. but it also doesn't seem like rewriting the tools would be worth it 18:01 <+bridge_> well they funded it no? 18:01 <+bridge_> I'm worried about the Rust FFI. 18:01 <+bridge_> however, chromium and firefox do rewrite network-facing parsers for formats in rust, to guard against security vulnerabilities 18:02 <+bridge_> can you explain your worries? 18:02 <+bridge_> it does make alot of sense after all 18:02 <+bridge_> ah maybe, idk. it started without canonical, anyway. I don't think rewriting the coreutils makes a lot of sense, they're usually not in a critical network path 18:03 <+bridge_> As what we saw 18:03 <+bridge_> the performance difference doesn't come from the FFI, AFAICT 18:03 <+bridge_> if that's what you mean 18:03 <+bridge_> it's just the rust snapshot library being slow 18:03 <+bridge_> the original C++ code runs around 20ns 18:03 <+bridge_> not disagreeing, my point was moreso they had trouble even with a lot of backing on that 18:04 <+bridge_> afaik they are getting close to the performance of the c++ counterparts now 18:04 <+bridge_> for 300 items, I have measured 3.5 ยตs 18:04 <+bridge_> and Rust FFI might work in over 10ns. 18:04 <+bridge_> where are you pulling your numbers from? 18:05 <+bridge_> That's my guess so I'm finding some related research results. 18:06 <+bridge_> guessing doesn't really help in performace discussions 18:06 <+bridge_> check the numbers I or @fushi_gg have posted in the issue 18:11 <+bridge_> wrong ping I think 18:11 <+bridge_> 0xfaulty posted the numbers 18:12 <+bridge_> I understand the point of view of being worried because DDNet doesn't have much Rust devs, 18:12 <+bridge_> But damn even if I'm bad a a "small dev" only for fun, I definetly had fun working with it. Sad I don't have projects and lack of motivation to continue. It's hard to learn, but fun to use :\D 18:12 <+bridge_> I understand the point of view of being worried because DDNet doesn't have much Rust devs, 18:12 <+bridge_> But damn even if I'm bad a a "small dev" only for fun, I definetly had fun working with it. Sad I don't have projects and lack of motivation to continue. It's hard to learn, but fun to use ๐Ÿ˜„ 18:12 <+bridge_> I understand the point of view of being worried because DDNet doesn't have much Rust devs, 18:12 <+bridge_> But damn even if I'm bad as a "small dev" only for fun, I definetly had fun working with it. Sad I don't have projects and lack of motivation to continue. It's hard to learn, but fun to use ๐Ÿ˜„ 18:17 <+bridge_> OK I found a research 18:17 <+bridge_> Rust FFI costs only around 3 ms after 500M calls. 18:17 <+bridge_> So I guess 18:17 <+bridge_> yeah 18:17 <+bridge_> the snapshot implementation is not good enough 18:31 <+bridge_> i recently installed a Wayland plugin for OBS and now monitor captures are really smooth, kinda great that OBS can be extended with one command like this 18:31 <+bridge_> also do agree that mpv is generally best 18:32 <+bridge_> seems shit in here I disappear 18:39 <+bridge_> :thonk: 18:50 <+bridge_> I guess we should move the websocket codes into `base` instead of `engine/shared` 18:50 <+bridge_> as its style isn't suitable. 18:50 <+bridge_> oh 18:51 <+bridge_> sad for it includes `engine/shared` 19:10 <+bridge_> Idk I have not checked. Im saying you should leave a comment that somehow proves it will never change the behavior