03:09 < bridge> <0xdeen> Thanks @zwelf2 and @murpi for all the figuring out on this issue! 07:21 < bridge> Morning 🍵 07:21 < bridge> gm 07:21 < bridge> i will be sleeping soon 07:27 < bridge> is it possible that the unusual exploit allowing people to finish any map in absurdly short time is related to the bug where you get the new map's appearance but the old map's collision/behavior? 07:27 < bridge> i think it's possible that every once in a while the map's game layer is not reset on map change which would be responsible for the latter bug 07:29 < bridge> but the exploit could just be people vote picking maps (some known very short map) to the map they want finish on and then playing the old map 07:29 < bridge> as far as the server knows, it's running the new map (since that's the same info used to send the map download to the client, and every time i've seen it the client expects the new map entirely) so fraudulent ranks would be submitted based on that 07:29 < bridge> i don't know the tech behind it because apparently the people skipping are very secretive 07:29 < bridge> this is word of mouth 07:30 < bridge> It's due to \#8221 07:31 < bridge> nice 07:31 < bridge> the exploit i'm talking about is months old actually 07:34 < bridge> the bug related to it that i'm talking about AFAICT has not been addressed in this channel in the time that i've been here and has only happened 3 or 4 times in the 18 or so months i've played this game 07:35 < bridge> it's quite rare 07:37 < bridge> btw how can i query my ddnet activity? 07:37 < bridge> maybe make a graph like the one on ddnet.org but that goes further than 1y 07:37 < bridge> is that data even remembered 07:41 < bridge> <0xdeen> https://ddnet.org/players/?json2=Ewan 07:41 < bridge> <0xdeen> Yes, it's remembered all the way back to 2021 08:09 < bridge> this json breaks my pyson xd 08:11 < bridge> <0xdeen> Really? We generate it with Python 08:11 < bridge> seems it uses `'` 08:11 < bridge> instead of double quotes 08:11 < bridge> which require special parsing 08:12 < bridge> <0xdeen> no 08:12 < bridge> to which 08:13 < bridge> <0xdeen> This is valid json, we don't use `'`, it's part of some strings, but that is allowed 08:35 < bridge> Which 09:07 < bridge> That should be a client-side only bug (#2804). I haven't found a way to reproduce it without using dummy yet. 09:07 < bridge> https://github.com/ddnet/ddnet/issues/2804 09:09 < bridge> i feel like the client wigs out whenever it happens tho? like it's also anticipating the new map 09:10 < bridge> also PSA the bottom of the rim on a jar of almonds can be sharp 09:19 < bridge> Did you Just Cut yourself 09:19 < bridge> nearly 09:19 < bridge> Lmao, Bad almonds 09:21 < bridge> Lol wut magnus worked on starfield 09:22 < bridge> wtf 09:22 < bridge> source 09:28 < bridge> https://www.mobygames.com/person/41843/magnus-auvinen/ 09:31 < bridge> Gigachad 09:31 < bridge> Oh rip did he leave ddnet 09:31 < bridge> Ah np 09:38 < bridge> teeworlds mentioned :gigachad: 09:38 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1229697430799253504/image.png?ex=66309ffa&is=661e2afa&hm=36dab65bd44dac66194236d0380b8a5fdaa6482a13a8665789a10f6dddc5b78f& 09:48 < bridge> damn 09:48 < bridge> @tsfreddie he game deving 09:48 < bridge> fr 09:51 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1229700722518655039/10813877-teeworlds-windows-server-browser.jpg?ex=6630a30a&is=661e2e0a&hm=f9ddcb9f8cf487a326bc16792ca2649522dbb9ca27126fcfd32b5639728bcec5& 09:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1229700889292443718/10813874-teeworlds-windows-im-a-bit-lonely-in-this-level.jpg?ex=6630a332&is=661e2e32&hm=cb065e5bf26db4017c00633b5a704749847a810b12405bec056c728e3cf2847e& 10:28 < bridge> what 10:44 < bridge> u asked where matricks was 10:44 < bridge> fred when are u gonna make bam good 10:48 < bridge> Wut 11:03 < bridge> Do any of you actually do test driven development? 11:35 < bridge> i do gpt4 driven development 12:20 < bridge> @zwelf2 does, in his physics implementation 12:22 < bridge> Today i had my first interview :justatest: 12:22 < bridge> how come u dont respond to my questions in #bugs 12:50 < bridge> i dont think so, we mostly use tests to avoid regresions 12:50 < bridge> So you write your tests after the fact? 12:50 < bridge> most of the time yes 12:50 < bridge> for example i implement addition on unsigneds 12:51 < bridge> then i add tests to ensure it works 12:51 < bridge> edge cases 12:51 < bridge> etc 12:51 < bridge> i dont do the test first xd 12:52 < bridge> @ryozuki xx v x cx C ccbc C cbccvc. 13:25 < ws-client> Remember, Light mode attracts bugs! 14:44 < bridge> Ah lol my phone was in my pocket wtf @ryozuki 17:34 < bridge> xDD 17:35 < bridge> I have no idea 17:36 < bridge> https://github.com/0x0mer/doom-htop 17:57 < bridge> wtf xd 17:57 < bridge> implementing vulkan backend in htop 18:45 < bridge> xDDD 19:43 < bridge> i really wish AV1 adapts fast 19:43 < bridge> i want high quality streaming 19:43 < bridge> https://www.tomshardware.com/pc-components/cpus/amd-unveils-ryzen-pro-8040-hawk-point-and-8000-series-phoenix-processors-ai-engines-come-to-the-commercial-market 19:43 < bridge> @jupeyy_keks 19:43 < bridge> Zen 4 😭 😭 😭 😭 😭 😭 😭 😭 😭 😭 😭 😭 19:44 < bridge> saddest moment in processor history 19:44 < bridge> Love DRM built in browsers 19:45 < bridge> https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/vuln-p521-bias.html 19:45 < bridge> NIST P521 private keys are exposed by biased signature generation 19:51 < bridge> all allocations are safe with a 0 size, it just returns you the heap pointer (at least for malloc) 19:51 < bridge> in realloc its UB from C23 19:51 < bridge> https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2464.pdf 19:52 < bridge> Proposal for C2x 19:52 < bridge> WG14 n2464 19:52 < bridge> Title: Zero-size Reallocations are Undefined Behavior 19:52 < bridge> Author, affiliation: Robert C. Seacord, NCC Group 19:52 < bridge> Date: 2019-09-10 19:52 < bridge> Proposal category: Defect 19:52 < bridge> Target audience: C programmers using the realloc functions 19:52 < bridge> Abstract: Zero-size Reallocations are Undefined Behavior 19:52 < bridge> Prior art: C 19:53 < bridge> and no, its implementation defined 19:53 < bridge> theorically it returns u a pointer, which u must never dereference anyway 19:54 < bridge> i always surprised i live in a world where ryo knows so much about c 19:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1229852347920814170/image.png?ex=66313041&is=661ebb41&hm=caef832ada703380332bc8b9b6c8eb2d0dc53282418e9a767dd649cb976acdff& 19:54 < bridge> 😬 19:54 < bridge> > if new_size is zero, the behavior is implementation defined (null pointer may be returned (in which case the old memory block may or may not be freed), or some non-null pointer may be returned that may not be used to access storage). Such usage is deprecated (via C DR 400).(since C17) 19:54 < bridge> > (until C23) 19:54 < bridge> > 19:54 < bridge> > if new_size is zero, the behavior is undefined. 19:54 < bridge> > (since C23) 19:54 < bridge> > 19:54 < bridge> > realloc is thread-safe: it behaves as though only accessing the memory locations visible through its argument, and not any static storage. 19:54 < bridge> > 19:54 < bridge> > A previous call to free or realloc that deallocates a region of memory synchronizes-with a call to any allocation function, including realloc that allocates the same or a part of the same region of memory. This synchronization occurs after any access to the memory by the deallocating function and before any access to the memory by realloc. There is a single total order of all allocation and deallocation functions operating on each particular regi 19:54 < bridge> text for futur heinrich 19:54 < bridge> is he ever returns 19:54 < bridge> he was active on github few days ago 19:54 < bridge> insult him and he will spawn 19:55 < bridge> xd 19:56 < bridge> based but probably true "if you can't handle tabs as whitespaces, you probably shouldn't be parsing Linux Kconfig" 19:58 < bridge> its chairn rewind time 19:59 < bridge> it's not the same 19:59 < bridge> xd 19:59 < bridge> xd 20:00 < bridge> i do for hw development 20:00 < bridge> https://tenor.com/view/cool-fun-white-cat-dance-cool-and-fun-times-gif-16435335956387921912 20:01 < bridge> 🚀 20:01 < bridge> done 20:01 < bridge> https://tenor.com/view/rocket-lift-off-gif-10300477 20:03 < bridge> The amount of emoji you have in your readme is a really good measure of how much I'll like your product/library 20:03 < bridge> depends on the emoji 20:03 < bridge> :brownbear: 20:03 < bridge> :pepeW: 20:03 < bridge> ^ 20:04 < bridge> the classic learath emoji for example 20:04 < bridge> works 100% 20:04 < bridge> If you have :pepeW: in your readme I'll 100% love your product 20:39 < bridge> DDNetRaceNetwork :frozen: 20:40 < bridge> xd 20:40 < bridge> also: "01:30.29" 20:40 < bridge> 20:40 < bridge> real ddnet champs know that that isn't possible 20:40 < bridge> 😏 20:42 < bridge> how to spot a multeasy player: 20:42 < bridge> who broke my firefox :feelsbadman: 20:42 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1229864602150506537/image.png?ex=66313baa&is=661ec6aa&hm=d44b4ef772a6abf1821d74d8c8d76b2b973c53070293b25c0ddf65d7c9c901bf& 20:43 < bridge> time to use chromium 20:44 < bridge> https://tenor.com/view/crying-emoji-dies-gif-21956120 20:53 < bridge> If has his birthday on the 29 of May how can you be 6 days younger and still be in May? 20:53 < bridge> xDD 20:53 < bridge> OH fuck 20:53 < bridge> IM OLDER 20:53 < bridge> LETSGOO 20:53 < bridge> also i need sleep 20:53 < bridge> lmaoo 20:53 < bridge> xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 20:53 < bridge> Dates are hard 20:53 < bridge> No problem melon 20:53 < bridge> ngl you got me there melon 20:53 < bridge> i didnt notice either 20:54 < bridge> `No, dates are not hard. Dates are a type of fruit that is typically soft and chewy with a sweet flavor. They can also be dried and used in various recipes or eaten as a snack.` 20:54 < bridge> lmao 20:56 < bridge> https://youtu.be/akhWH6Q1R8M?si=kua7NrN39_rloTtm 20:56 < bridge> @teero777 is that one guy that implements timezones for the weird nordic country 20:56 < bridge> https://www.politico.eu/article/norway-arctic-region-asks-eu-commission-for-26-hour-day/ 20:56 < bridge> :owo: 21:02 < bridge> RemindMe! 5/29/2024 21:02 < bridge> damn why bot not working 21:02 < bridge> Hahahhaha, I was so close 21:03 < bridge> I just went upwards looking for the faulty condition. It was downwards 21:16 < bridge> Second idea was just starting the server at 100 ticks, but that somehow makes the client also wait 100 ticks before connecting 21:16 < bridge> a better solution is to not rely on tick & tick speed for comparisions 21:16 < bridge> 21:16 < bridge> better do smth like 21:16 < bridge> 21:16 < bridge> freeze_tick = how_long_freezes 21:16 < bridge> 21:16 < bridge> and then decrease that every tick 21:16 < bridge> i rewrote most physics like that in my version at least 21:16 < bridge> bcs i disliked the exact same problem 21:16 < Tyrone> Hello 21:20 < bridge> But you will need a comparison after too, so that's two subtractions then 21:20 < bridge> not on x86 21:20 < bridge> Well I guess if it's a comparison with 0 you dont 😄 21:26 < bridge> I'm unsure if it would be pulled into a register actually 21:45 < bridge> yes 21:45 < bridge> that is the current tick. Like GameServer->Tick() IIRC 22:04 < bridge> or initialize the m_FreezeTick with -100 22:30 < bridge> that didnt age well 22:30 < bridge> 😬 22:30 < bridge> xd 22:30 < bridge> :justatest: 22:54 < bridge> bvb on the other hand side 😏 22:54 < bridge> 2 spanish teams out xd 22:54 < bridge> 💀 23:41 < bridge> Are you talking about the issue that you can phase through freeze without freezing when you instantly join after the server start?