00:38 < bridge_> hello 00:59 < bridge_> <.wa1> Hello World 08:30 < bridge_> what do hookdx do 08:30 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1124587774968864859/image.png 08:48 < bridge_> i guess delta x 09:40 < bridge_> hey where can i define global var 09:42 < bridge_> everywhere outside a scope 09:42 < bridge_> that isnt the global scope^^ 09:42 < bridge_> so in the global scope xD 09:42 < bridge_> generally using static is what u want 09:45 < bridge_> i need use extern right 09:45 < bridge_> do you want a global variable across multiple cpp files? 09:45 < bridge_> yes 09:46 < bridge_> but i am not good at cpp 09:46 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1124606914651762769/image.png 09:46 < bridge_> i did this but link error 09:47 < bridge_> u also have to declare it inside _any_ cpp file 09:47 < bridge_> doesnt matter which 09:48 < bridge_> everyone 09:48 < bridge_> ? 09:48 < bridge_> ? 09:48 < bridge_> in exactly one .cpp file 09:49 < bridge_> u have to delcleare the same var again 09:49 < bridge_> ok 09:50 < bridge_> wow works 09:50 < bridge_> thank u 10:24 < bridge_> <@&293541515781996568> refrain from assisting Vinson with anything related to coding 10:24 < bridge_> He bad guy 10:24 < bridge_> bot :think_bot: 10:24 < bridge_> cant trust any new dev now 10:32 < bridge_> Yeah, It does seem to be a rising trend. I've noticed there's been a lot more talk about bots, particularly over the past few weeks. 10:32 < bridge_> come to the dark side Vinson, where bad unreliable human input is still valued over the far superior machines 10:39 < bridge_> @murpi can u put individual perms without roles? thats news to me 10:43 < bridge_> hi 10:43 < bridge_> @murpi evader 10:43 < bridge_> xD 11:05 < bridge_> @murpi ```c++ 11:05 < bridge_> m_aInputData[0].m_Direction = 1 - rand() % 3;``` 😡 11:10 < bridge_> i make bots too 11:41 < bridge_> You know what would stop all this botting? Accounts. As a reformed cheat using child I still remember to this day when my GunZ account got banned, never touched a cheat again 11:42 < bridge_> works well for csgo 11:42 < bridge_> Prime matchmaking worked fine for a bit before everyone started using virtual phone numbers 11:43 < bridge_> yea 11:43 < bridge_> I'd argue that transparent accounts also work 🙂 11:43 < bridge_> because it's mostly at the high-level spectrum that people's botting is hard to distinguish from real play 11:44 < bridge_> Not the same oomph. Transparent accounts just get recreated instantly, possibly even transparently to the bot user 11:44 < bridge_> and those people have a long-standing account to lose 11:45 < bridge_> I guess it does work for those people, but we won't have accounts bound to points so even they won't lose anything 11:47 < bridge_> why not accounts bound to all new points? 11:48 < bridge_> Because they will get to keep having their 12k legacy points that we can't display any differently because they will lobby against it and we can't ban because it's not bound to the account we caught cheating 11:51 < bridge_> bad idea 11:51 < bridge_> the variable will only be defined in that translation unit 11:51 < bridge_> use extern 11:52 < bridge_> ban fred 11:52 < bridge_> nah, I think we can do something manually about those 12k legacy points after a well-defined cheating event 11:53 < bridge_> @learath2 accounts + teehistorian + heuristics on teehistorian demos 11:53 < bridge_> when will we put teehistorian to use 11:53 < bridge_> xd 11:53 < bridge_> IME bans need atleast one of the below to work: 11:53 < bridge_> - Financial cost 11:53 < bridge_> - Time cost 11:53 < bridge_> - Hard to evade 11:53 < bridge_> - Prestige cost 11:54 < bridge_> @zwelf2 is really far with reproducing teehistorians accurately 11:54 < bridge_> we could "verify" top 50 ranks or smth 11:56 < bridge_> French country the sweetest 11:56 < bridge_> global variables can cause weird undefined behavior 11:56 < bridge_> 11:56 < bridge_> you should use them with great care 11:57 < bridge_> better idea, more optimizations probs 11:57 < bridge_> I strongly suggest we do real address verification. If you are detected developing a bot we can ship a pipebomb to your house 11:57 < bridge_> reading llvm lang ref on linkage u learn nice stuff 11:57 < bridge_> https://llvm.org/docs/LangRef.html#linkage-types 11:58 < bridge_> > linkonce_odr, weak_odr 11:58 < bridge_> > Some languages allow differing globals to be merged, such as two functions with different semantics. Other languages, such as C++, ensure that only equivalent globals are ever merged (the “one definition rule” — “ODR”). Such languages can use the linkonce_odr and weak_odr linkage types to indicate that the global will only be merged with equivalent globals. These linkage types are otherwise the same as their non-odr versions. 11:58 < bridge_> There is some level of teehistorian -> demo with my teehistorian replayer possible (it sometimes panics, I'm working on it). https://gitlab.com/ddnet-rs/twgame `cargo run --bin demo in.teehistorian th.map out.demo` (If you want to try it out). It prints messages when my physics implementation differs from the replay (rn mostly due to unimplemented features and wrong respawn order). 11:58 < bridge_> There is some level of teehistorian -> demo with my teehistorian replayer possible (it sometimes panics, I'm working on it). https://gitlab.com/ddnet-rs/twgame `cargo run --bin demo -- in.teehistorian th.map out.demo` (If you want to try it out). It prints messages when my physics implementation differs from the replay (rn mostly due to unimplemented features and wrong respawn order). 11:59 < bridge_> (It also still panics too often which I didn't address yet) 11:59 < bridge_> oh well thats nice 11:59 < bridge_> you're probably violating some law every time you say this 12:00 < bridge_> I don’t use them 12:00 < bridge_> Did you determine whether all the teehistorian files we have since the input reordering patch are reproducible? 12:00 < bridge_> @learath2 integrate @zwelf2's stuff with our moderator tool :p 12:01 < bridge_> ohhh 12:01 < ChillerDragon> @nouua u here? 12:01 < bridge_> and maybe we could finally get automatic demos for top ranks (hides in the corner, waiting for the haters) 12:02 < bridge_> Hm, could such an obvious joke constitute a violation of any law? 12:02 < bridge_> They are all reproducable for me. https://github.com/ddnet/ddnet/pull/6744 is the last bug that I'm aware of, but I can reproduce even without the patch 12:04 < bridge_> mh ok, sounded like that, because not sharing them across compilation units was a bad idea 12:04 < bridge_> @jupeyy_keks they are always often misused in threaded contexts (?) 12:04 < bridge_> but even static global variables should not be used if possible 12:05 < bridge_> also* 12:05 < bridge_> not always 12:05 < bridge_> cant type 12:05 < bridge_> alone the fact that their initialization order is random is a problem 12:05 < bridge_> tldr: use rust 12:05 < bridge_> :troll: 12:06 < bridge_> @heinrich5991 did u see the zig issue on divorcing llvm 12:06 < bridge_> they claim they will do better machine code in long term 12:06 < bridge_> i have high copium doubts 12:06 < bridge_> I have not seen it 12:06 < bridge_> https://news.ycombinator.com/item?id=36529456+ 12:06 < bridge_> https://news.ycombinator.com/item?id=36529456 12:07 < bridge_> https://github.com/ziglang/zig/issues/16270 12:09 < bridge_> see ya in 10 years when they done 12:09 < bridge_> 😬 12:09 < bridge_> its a bit meh cuz this switches the focus and workload to a backend instead of lang design 12:09 < bridge_> and zig isnt even 1.0 12:09 < bridge_> That is an insane idea, it'll take them so long. Though I do appreciate the reinventing the wheel 12:10 < bridge_> ye its quite insane xd 12:10 < bridge_> maybe it pays out, we'll see 😄 12:10 < bridge_> > bjourne 1 day ago | prev | next [–] 12:10 < bridge_> > 12:10 < bridge_> > Two issues here. The first is code generation and the other is bootstrapping. 12:10 < bridge_> > 12:10 < bridge_> > Ime, the optimizing passes of a compiler are easy and fun to write. You have to read research papers to understand how register allocation and ssa form works, but it's fun code to write. You just send the ir through various optimizing passes, each refining it in some way. You can write high-quality optimization passes without llvm. But then you want to linearize your ir into machine code. This step is boring and mundane to write unless you care 12:10 < bridge_> > 12:10 < bridge_> > The second issue is bootstrapping. What compiles the Zig compiler written in Zig? You could, for example, have a non-optimizing minimal Zig compiler written in C that compiles the Zig compiler. But since it's non-optimizing, the Zig compiler would need to be recompiled with the optimizing Zig compiler. Not unsolvable problems, but ime long and complicated build processes risk driving away potential contributors. 12:10 < bridge_> i like this comment 12:11 < bridge_> also 12:11 < bridge_> any improvements he may found would be added to llvm and gcc too 12:12 < bridge_> i feel like you should never depend on the default values or constructor of a non-pointer global variable 12:12 < bridge_> i read somewhere that there new state of the art algorithms for optimizing, but the researchers never consider "compilation time" as in they take too long 12:15 < bridge_> @ryozuki did you have any troubles upgrading to debian 12? 12:15 < bridge_> no 12:15 < bridge_> server is on debian 12 12:17 < bridge_> June is over. Does that mean we can switch to C++20? 12:18 < bridge_> les go 12:18 < bridge_> legos 12:19 < bridge_> ask deen for review he has to upgrade is compile machine 12:24 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1124646600938111057/image.png 12:24 < bridge_> ???????????? 12:24 < bridge_> binds x 12:24 < bridge_> already does that 12:24 < bridge_> (before was dump_binds x) 12:24 < bridge_> `binds x` 12:24 < bridge_> (before was `dump_binds x`) 12:25 < bridge_> Yeah, it also works with `bind x` now 12:25 < bridge_> he said this is more intuitive 12:25 < bridge_> I guess it's also like this for other commands like `tune x` also prints the current value 12:25 < bridge_> i agree 12:25 < bridge_> ye 12:27 < bridge_> ah ok ok 12:27 < bridge_> it's intended 12:27 < bridge_> :greenthing: 12:28 < bridge_> Good work then, thanks y'all for upgrading the game with your time, we don't say it enough. 13:59 < bridge_> i hate python 14:00 < bridge_> but i love murpi 14:01 < bridge_> when u marry 14:01 < bridge_> when he learned rust 14:01 < bridge_> i love cpp 14:02 < bridge_> what r u coding 14:02 < bridge_> who 14:02 < bridge_> you 14:02 < bridge_> nothing at the moment 14:02 < bridge_> what are u coding currently 14:03 < bridge_> ok 14:03 < bridge_> i just like cpp 14:03 < bridge_> thought I’d add 14:03 < bridge_> i have mixed feelings about that 14:03 < bridge_> that u like cpp 14:03 < bridge_> better than java 14:03 < bridge_> do u know the meme where u need to dig a bit more 14:03 < bridge_> better than python xd 14:03 < bridge_> to find what the truth is 14:03 < bridge_> xd 14:03 < bridge_> yea 14:04 < bridge_> all our convos start with programming language bashing xD 14:04 < bridge_> yeah 14:04 < bridge_> cpp bad and u think it’s good cuz ur stupid 14:05 < bridge_> i mean 14:05 < bridge_> its normal that people talk about their tools of trade 14:05 < bridge_> and bash them 14:05 < bridge_> no? 14:05 < bridge_> xd 15:43 < ChillerDragon> bash them 15:43 < bridge_> hi 15:46 < bridge_> why did the rest of the world not use europe power adapters 15:47 < bridge_> weird way of saying usa 15:47 < bridge_> :troll: 16:26 < bridge_> <_voxeldoesart> of course murpi deletes all the evidence 16:26 < bridge_> <_voxeldoesart> @ryozuki 😬 16:26 < bridge_> of? 16:26 < bridge_> <_voxeldoesart> vinson 16:28 < bridge_> <_voxeldoesart> anyways that sucks now chat is dead again 16:30 < bridge_> it's not even standard across europe 16:32 < bridge_> what evidence_ 16:34 < bridge_> <_voxeldoesart> https://cdn.discordapp.com/attachments/293493549758939136/1124709714354249789/Screenshot_20230701_102706_Discord.jpg 16:35 < bridge_> <_voxeldoesart> you cant silent the masses murpi 16:35 < bridge_> ?? 16:35 < bridge_> I just remved him from this channel 16:36 < bridge_> <_voxeldoesart> ** 16:36 < bridge_> <_voxeldoesart> i was looking in thr wrong channel** 16:36 < bridge_> 😬 16:36 < bridge_> <_voxeldoesart> I SAW THE JUICY STUFF IN #bugs LOLLL 16:36 < bridge_> <_voxeldoesart> AND THOUGHT IT WAS HERE 16:37 < bridge_> 😬 16:37 < bridge_> lmfao 16:37 < bridge_> 😬 16:37 < bridge_> best emote 16:37 < bridge_> 🥶 16:39 < bridge_> <_voxeldoesart> 😬 16:48 < bridge_> 😬 17:01 < bridge_> j 17:01 < bridge_> <_voxeldoesart> j 17:02 < bridge_> u 17:03 < bridge_> <_voxeldoesart> p 17:17 < bridge_> https://media.discordapp.net/attachments/809939890480349184/959927440589856798/Sprite-0001.gif 17:18 < ChillerDragon> what juice 17:18 < ChillerDragon> did u see voxel 17:20 < bridge_> <_voxeldoesart> vinson getting banned from dev 17:21 < bridge_> <_voxeldoesart> and mupri popping off 18:57 < ChillerDragon> wowo ban 18:57 < ChillerDragon> a: buse 19:10 < bridge_> <_voxeldoesart> tru 19:11 < bridge_> <_voxeldoesart> im gonna create a ddnet bot that detects the best way to fail in any situation and then does so at the most random times 19:11 < bridge_> <_voxeldoesart> https://tenor.com/view/pewdiepie-9year-old-army-t-gay-congratulations-for-legal-reasons-thats-a-joke-gif-13924557 20:35 < bridge_> <_voxeldoesart> how much code can we crunch down witb cpp20 20:39 < bridge_> theoretically? 20:39 < bridge_> 20% 20:39 < bridge_> by stopping to use header files 20:42 < bridge_> <_voxeldoesart> oh damn 20:42 < bridge_> <_voxeldoesart> rest in peace .h files 20:42 < bridge_> @ryozuki can a pointer in rust literally change position? 20:42 < bridge_> like that address of the object changes 20:43 < bridge_> ahh probably when moving 20:43 < bridge_> funny 20:43 < bridge_> and stupid from me lol 20:43 < bridge_> @jupeyy_keks check pin 20:45 < bridge_> would u prefer it over a simply Box around the whole object? 20:45 < bridge_> it reads as "just a compiler hint" 20:45 < bridge_> box is on the heap and unique owned 20:46 < bridge_> pin? 20:46 < bridge_> yes 20:46 < bridge_> it works as long as u uphold its contract (when using unsafe, mainly the unchecked fn) 20:47 < bridge_> ok but could it cause a heap allocation? 20:47 < bridge_> or is that impossible 20:47 < bridge_> thats what i meant with hint 20:48 < bridge_> pin itself not 20:48 < bridge_> pin just holds a reference 20:48 < bridge_> or pointer 20:49 < bridge_> ok, but since its not moveable, i probably want box anyway 20:49 < bridge_> i guess? 20:49 < bridge_> the object moves some times 20:51 < bridge_> Can you implement Pin? or is it a compiler hint? 20:51 < bridge_> pin is not a trait 20:51 < bridge_> god 20:51 < bridge_> read the docs 20:51 < bridge_> RTFM 20:51 < bridge_> xdddd 20:51 < bridge_> https://doc.rust-lang.org/std/pin/index.html 20:51 < bridge_> i read the doc but that doesnt help me 20:52 < bridge_> i only says what it does and what guarantees it has 20:52 < bridge_> ```rs 20:52 < bridge_> #[stable(feature = "pin", since = "1.33.0")] 20:52 < bridge_> #[lang = "pin"] 20:52 < bridge_> #[fundamental] 20:52 < bridge_> #[repr(transparent)] 20:52 < bridge_> #[derive(Copy, Clone)] 20:52 < bridge_> pub struct Pin

{ 20:52 < bridge_> // FIXME(#93176): this field is made `#[unstable] #[doc(hidden)] pub` to: 20:52 < bridge_> // - deter downstream users from accessing it (which would be unsound!), 20:52 < bridge_> // - let the `pin!` macro access it (such a macro requires using struct 20:52 < bridge_> // literal syntax in order to benefit from lifetime extension). 20:52 < bridge_> // Long-term, `unsafe` fields or macro hygiene are expected to offer more robust alternatives. 20:52 < bridge_> #[unstable(feature = "unsafe_pin_internals", issue = "none")] 20:52 < bridge_> #[doc(hidden)] 20:52 < bridge_> pub pointer: P, 20:52 < bridge_> } 20:52 < bridge_> ``` 20:52 < bridge_> its a transparent wrapper 20:52 < bridge_> so it has same size and layout as pointer P 20:52 < bridge_> > a Pin> is an owned pointer to a pinned T, and a Pin> is a reference-counted pointer to a pinned T. 20:54 < bridge_> mh ok. maybe my question sucked 20:54 < bridge_> i wanted to know if u could implement the same logic pin does 20:54 < bridge_> or if its an internal type 20:54 < bridge_> basically a hint to the compiler 21:13 < bridge_> wait what? 21:13 < bridge_> what features of c++ is that? 21:14 < bridge_> modules 22:22 < ChillerDragon> github for you page best social media alogritm 22:22 < ChillerDragon> https://github.com/misprit7/computerraria 22:22 < ChillerDragon> this sounds epic 22:31 < ChillerDragon> @fokkonaut you still active? 22:33 < bridge_> hello 22:34 < ChillerDragon> ah nice 22:34 < ChillerDragon> can we dm ? 22:34 < bridge_> element 22:37 < bridge_> <_voxeldoesart> duuuude i know some CRAZY ppl who can make stuff in lmms 22:37 < bridge_> <_voxeldoesart> https://cdn.discordapp.com/attachments/293493549758939136/1124800911789785199/image0.jpg 22:37 < bridge_> <_voxeldoesart> duuuude i know some ppl who can make CRAZY stuff in lmms 22:37 < bridge_> <_voxeldoesart> https://cdn.discordapp.com/attachments/293493549758939136/1124800911789785199/image0.jpg