00:20 <+bridge> #5732 @DR.3AM 00:21 <+bridge> 5732 @DR.3AM 00:21 <+bridge> wtf 00:21 <+bridge> 5732 00:21 <+bridge> no auto embed? 00:21 <+bridge> i... 00:21 <+bridge> https://github.com/ddnet/ddnet/pull/5732 00:21 <+bridge> there 00:21 <+bridge> i dont normally hang around herre :justatest: 00:21 <+bridge> ah ok thx... 00:22 <+bridge> i thought u gave me some task to find #5732 00:22 <+bridge> #5732 00:22 <+bridge> https://github.com/ddnet/ddnet/pull/5732 00:22 <+bridge> how does it work for you 00:22 <+bridge> cuz u pinged me 00:22 <+bridge> in same message 00:22 <+bridge> it should work anyways 00:22 <+bridge> #5732 00:22 <+bridge> https://github.com/ddnet/ddnet/pull/5732 00:23 <+bridge> #5732 @Voxel 00:23 <+bridge> https://github.com/ddnet/ddnet/pull/5732 00:23 <+bridge> ah 00:23 <+bridge> ???? 00:23 <+bridge> need hashtag 00:23 <+bridge> he did before lol 00:23 <+bridge> #2763 @louis 00:23 <+bridge> perhaps bot was sleeping 00:23 <+bridge> LMAO 00:23 <+bridge> #2763 00:23 <+bridge> https://github.com/ddnet/ddnet/pull/2763 00:23 <+bridge> yea wtf 00:23 <+bridge> dude i guess u just suck at tagging people 04:35 <+bridge> IT IS EASY TO GET STARTED\: 04:35 <+bridge> 04:35 <+bridge> SIMPLY WRITE A SHORT MESSAGE ‘’ I WOULD LIKE TO INVEST $500 VIA BITCOINS’’ 04:35 <+bridge> 04:35 <+bridge> WITH THIS LITTLE MESSAGE ABOVE YOU ARE ON YOUR WAY TO FINANCIAL FREEDOM.. 04:35 <+bridge> 08:42 <+bridge> I'm not sure what change we are talking about 08:47 <+bridge> The one with unpack delta error 08:49 <+bridge> Wasn't that a server fix? 08:50 <+bridge> The server change for that is not in 16.7 (https://github.com/ddnet/ddnet/pull/6214) 08:51 <+bridge> No it's client side 08:51 <+bridge> Or both 08:52 <+bridge> It's ez to reproduce on Linux. I can later test 16:52 <+bridge> i hecking love c++ 16:52 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1065297720975294464/Screenshot_2023-01-18_at_16.52.31.png 16:56 <+bridge> And this isn't even that bad 😄 17:00 <+bridge> tbf u can create such code in most languages 😄 17:00 <+bridge> yeye 17:01 <+bridge> its the std code 17:01 <+bridge> thats why its alien 17:01 <+bridge> altho std code in rust doesnt look alien 17:01 <+bridge> maybe MSVC standard code looks better xD 17:01 <+bridge> u dont need to use __ in names 17:01 <+bridge> well u dont need to, but someone defined it as good style xD 17:02 <+bridge> ```rust 17:02 <+bridge> #[stable(feature = "rust1", since = "1.0.0")] 17:02 <+bridge> #[inline] 17:02 <+bridge> pub fn binary_search_by<'a, F>(&'a self, mut f: F) -> Result 17:02 <+bridge> where 17:02 <+bridge> F: FnMut(&'a T) -> Ordering, 17:02 <+bridge> { 17:02 <+bridge> // INVARIANTS: 17:02 <+bridge> // - 0 <= left <= left + size = right <= self.len() 17:02 <+bridge> // - f returns Less for everything in self[..left] 17:02 <+bridge> // - f returns Greater for everything in self[right..] 17:02 <+bridge> let mut size = self.len(); 17:03 <+bridge> let mut left = 0; 17:03 <+bridge> let mut right = size; 17:03 <+bridge> while left < right { 17:03 <+bridge> let mid = left + size / 2; 17:03 <+bridge> 17:03 <+bridge> // SAFETY: the while condition means `size` is strictly positive, so 17:03 <+bridge> // `size/2 < size`. Thus `left + size/2 < left + size`, which 17:03 <+bridge> // coupled with the `left + size <= self.len()` invariant means 17:03 <+bridge> // we have `left + size/2 < self.len()`, and this is in-bounds. 17:03 <+bridge> let cmp = f(unsafe { self.get_unchecked(mid) }); 17:03 <+bridge> 17:03 <+bridge> // The reason why we use if/else control flow rather than match 17:03 <+bridge> // is because match reorders comparison operations, which is perf sensitive. 17:03 <+bridge> // This is x86 asm for u8: https://rust.godbolt.org/z/8Y8Pra. 17:03 <+bridge> if cmp == Less { 17:03 <+bridge> left = mid + 1; 17:03 <+bridge> } else if cmp == Greater { 17:03 <+bridge> right = mid; 17:03 <+bridge> } else { 17:03 <+bridge> this is the rust std code 17:03 <+bridge> beautifully commented too 17:03 <+bridge> #standards 17:03 <+bridge> u can even learn 17:03 <+bridge> TIL about match reordering 17:13 <+bridge> __ in name is not a matter of style, it's a requirement for the std library to be compatible with all possible codes 17:13 <+bridge> standard says that name beginning with __ are reserved. It avoids case where macro would replace code in std headers 17:14 <+bridge> standard says that name beginning with _ are reserved. It avoids case where macro would replace code in std headers 17:16 <+bridge> It is a bit of a weird solution making all the code ugly tho 17:24 <+bridge> yeah its pretty ugly, but yeah for macros it makes sense 17:24 <+bridge> tho if they would want to they could add some compiler specific mode that disallows macros, or only allows certain ones 17:24 <+bridge> then they could escape all this trouble probably 17:25 <+bridge> except you do it on purpose lol 17:26 <+bridge> the only use case for macros i currently see is string concat and name of a variable 17:26 <+bridge> 17:26 <+bridge> i dunno if there are more, but template lib and constexpr/consteval can replace pretty much everything 17:26 <+bridge> y c++ can be ankward 17:27 <+bridge> rust >> 17:42 <+bridge> @Ryozuki `if !true || true /* test */ || true {}` rustfmt doesnt like to format this as soon as there is a multiline comment inside the line, any command to force it? 17:50 <+bridge> Hi , how to install conan ? Visual Studio 2022 17:52 <+bridge> hmm idk 17:52 <+bridge> file a bug 18:42 <+bridge> https://datasette.io/ 18:42 <+bridge> i need to try this 18:42 <+bridge> with ddnet 19:18 <+bridge> almost forgot 19:18 <+bridge> u defs have to release a new client version with that fix 19:18 <+bridge> its in the release and creates the lag mentioned 19:19 <+bridge> if i rename to name with special chars, all ppl that e.g. have linux are affected 19:19 <+bridge> not only me 19:19 <+bridge> so can make others lag with that 19:20 <+bridge> and the lag is > 1 second, so its more heavy than ddois 19:20 <+bridge> and the lag is > 1 second, so its more heavy than ddos 19:21 <+bridge> u can reproduce it with linux on any server by renaming from "nae" to "ᴷᵉᵏᶳ" 19:22 <+bridge> Rip Linux users. Windows masterrace! 19:22 <+bridge> on windows it might get triggered too 19:23 <+bridge> what about macos? 19:23 <+bridge> but dunno how to do it reproduceable 19:23 <+bridge> macos probs also affected 19:23 <+bridge> Somebody know out of the head where the tees get rendered (in the code)? 19:23 <+bridge> render.cpp 19:23 <+bridge> templeOS? 19:23 <+bridge> ::RenderTee 19:23 <+bridge> thanks 19:23 <+bridge> Pro 19:24 <+bridge> Also players.cpp 19:31 <+bridge> what change? 19:33 <+bridge> dunno the specific commit 19:33 <+bridge> it was with the delta unpacking 19:33 <+bridge> u hot fixed it but apparently didnt release a client version with it 19:33 <+bridge> https://github.com/ddnet/ddnet/commit/b62e7f1299fc672e210a761caba7780d6ee9d06a 19:33 <+bridge> But the problem was never in 16.7 19:33 <+bridge> The problem was caused by https://github.com/ddnet/ddnet/pull/6214 19:33 <+bridge> So how can I remove code in 16.7 that was not added there? 19:33 <+bridge> i just tested it with steam client 19:33 <+bridge> maybe those things shouldn't be said here till there's a released fix :pepeCorn: (to avoid people doing it) 19:34 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1065338410551754892/image.png 19:34 <+bridge> its defs inside the client 19:35 <+bridge> this specfic way only affects linux 19:35 <+bridge> windows might have other ways tho 19:37 <+bridge> :pepe_popcorn: 19:37 <+bridge> i mean where should i say it else xD 19:37 <+bridge> here 19:37 <+bridge> who cares 19:38 <+bridge> according to snail this channel is useless anyway 19:38 <+bridge> xd 19:38 <+bridge> @snail we useless 19:38 <+bridge> @Jupeyy_Keks can you test if 16.7.2 tag fixes it? 19:38 <+bridge> maybe make a hidden chan for trusted devs 19:38 <+bridge> sure 19:39 <+bridge> epic github bot 19:41 <+bridge> seems fine 19:42 <+bridge> Great, thanks 19:42 <+bridge> Should be released in ~1 hour 19:42 <+bridge> btw how u decide when a new major 19:42 <+bridge> we can do like kernel 19:42 <+bridge> you mean 16->17? 19:42 <+bridge> "when it feels the minor is too big in number" 19:42 <+bridge> ye 19:43 <+bridge> When a big feature comes or when we are at 16.9 already 19:43 <+bridge> 16.10 would look stupid 19:43 <+bridge> xd 19:43 <+bridge> true 19:43 <+bridge> or maybe we could go with the date 19:43 <+bridge> its unfun but rly ez to pinpoint 19:43 <+bridge> 23.01 19:43 <+bridge> 23.1.0 19:43 <+bridge> * 19:43 <+bridge> Some people complain about 16 being a too large number for the development progress we have, but I don't care, they can just imagine a 0. prepended 19:44 <+bridge> Date I don't like. It only works when there is consistent amount of work going in 19:44 <+bridge> What if everyone is busy and we have no new features for 6 months? That should be 1 digit higher, not 6 19:44 <+bridge> when we release again 19:44 <+bridge> well why? 19:44 <+bridge> anyway, release numbers don't matter much, so not worth putting much thought into it 19:45 <+bridge> but ye i was just saying it for fun xd 19:45 <+bridge> I think the next release should increase 1 of the numbers by exactly 1 , otherwise feels like there could be versions inbetween that you misseds 19:45 <+bridge> true