00:34 < bridge_> @heinrich5991 Could you add Rust+Cargo information in https://forum.ddnet.org/viewtopic.php?t=5765 ? 00:40 < bridge_> maybe this whole page should be changed to use msys. much simpler 01:48 < bridge_> even the vulkan sdk can be gotten thru msys iirc 01:49 < bridge_> that makes the whole setup process p much install msys -> install a few pkgs -> cmake -> win 01:49 < bridge_> tho you'd prob still want to get rust thru rustup ig that adds an extra step 01:53 < bridge_> even the vulkan sdk can be installed thru msys iirc 08:34 < bridge_> Congratulations to everyone who benefited from my company yesterday. I still want more people to benefit. Ask me how And I will show on how you can earn $3500 in 24hours ... 08:34 < bridge_> ..join the telegram link below and Dm the Admin for more info 08:34 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 08:34 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 08:34 < bridge_> 08:34 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 08:34 < bridge_> Congratulations to everyone who benefited from my company yesterday. I still want more people to benefit. Ask me how And I will show on how you can earn $3500 in 24hours ... 08:34 < bridge_> ..join the telegram link below and Dm the Admin for more info 08:34 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 08:34 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 08:34 < bridge_> 08:34 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 08:55 < bridge_> @learath2 08:55 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128580484801245194/RDT_20230712_0855404301047760365904462.jpg 08:58 < bridge_> Congratulations to everyone who benefited from my company yesterday. I still want more people to benefit. Ask me how And I will show on how you can earn $3500 in 24hours ... 08:58 < bridge_> ..join the telegram link below and Dm the Admin for more info 08:58 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 08:58 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 08:58 < bridge_> 08:58 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 11:10 < bridge_> if you're familiar with it, maybe you could write a guide 11:18 < bridge_> Ok 11:19 < bridge_> I don’t really want to write a forum post, is there somewhere else I should do it 11:23 < bridge_> you could add a section to the readme.md 11:28 < bridge_> wiki 11:35 < bridge_> Ok remind me later i'm doing awesome wave stuff 11:35 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128620641160020048/image.png 11:35 < bridge_> https://twitter.com/cjones3D/status/1678772727413616641 11:39 < bridge_> @heinrich5991 have u xp compiling rust? 11:39 < bridge_> i know they use x.py 11:39 < bridge_> but it doesnt work for me 11:39 < bridge_> ``` 11:39 < bridge_> rust on ξ‚  master via 🐍 v3.11.4 via πŸ¦€ v1.70.0 11:39 < bridge_> ❯ ./x check 11:39 < bridge_> Traceback (most recent call last): 11:39 < bridge_> File "/data1/edgar/rust/x.py", line 50, in 11:39 < bridge_> bootstrap.main() 11:39 < bridge_> File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1113, in main 11:39 < bridge_> bootstrap(args) 11:39 < bridge_> File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1070, in bootstrap 11:39 < bridge_> build = RustBuild(config_toml, args) 11:39 < bridge_> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11:39 < bridge_> File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 505, in __init__ 11:39 < bridge_> self.build = args.build or self.build_triple() 11:39 < bridge_> ^^^^^^^^^^^^^^^^^^^ 11:39 < bridge_> File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 976, in build_triple 11:39 < bridge_> return config or default_build_triple(self.verbose) 11:39 < bridge_> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11:39 < bridge_> File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 259, in default_build_triple 11:39 < bridge_> kernel, cputype, processor = uname.decode(default_encoding).split() 11:39 < bridge_> ^^^^^^^^^^^^^^^^^^^^^^^^^^ 11:39 < bridge_> ValueError: too many values to unpack (expected 3) 11:40 < bridge_> ``` 11:40 < bridge_> xd 11:40 < bridge_> is it cuz python 3.11? 11:40 < bridge_> sounds like your target triple is wrong 11:40 < bridge_> ❯ uname -a 11:40 < bridge_> Linux gentoo 6.1.38-gentoo #1 SMP PREEMPT_DYNAMIC Mon Jul 10 08:28:17 CEST 2023 x86_64 AMD Ryzen 7 5800X 8-Core Processor AuthenticAMD GNU/Linux 11:40 < bridge_> how to check it 11:41 < bridge_> try `uname -smp` 11:41 < bridge_> ❯ uname -smp 11:41 < bridge_> Linux x86_64 AMD Ryzen 7 5800X 8-Core Processor 11:41 < bridge_> ``` 11:41 < bridge_> $ uname -smp 11:41 < bridge_> Linux x86_64 unknown 11:41 < bridge_> ``` 11:41 < bridge_> the line with the exception expects 3 words separated by spaces 11:42 < bridge_> I suppose that's where the problem comes from? 11:42 < bridge_> i guess 11:42 < bridge_> @learath2 is this some gentoo thing? i remember something about uname 11:42 < bridge_> change the line to `.split(maxsplit=2)` 11:42 < bridge_> and make a pull request 11:43 < bridge_> ohhh 11:43 < bridge_> epic 11:43 < bridge_> im rust contributor 11:43 < bridge_> `-p, --processor print the processor type (non-portable)` 11:43 < bridge_> it says non portable 11:43 < bridge_> so i would say my -p is ok 11:44 < bridge_> my system i mean 11:44 < bridge_> it's only used on freebsd, anyway, according to the source 11:44 < bridge_> so `.split(maxsplit=2)` should not cause problems 11:45 < bridge_> seems to work 11:45 < bridge_> gotta fork rust 11:45 < bridge_> there's lots of pull requests you can send to rust-lang/rust 11:45 < bridge_> do it every time you find something lacking in the docs, e.g. πŸ™‚ 11:46 < bridge_> what does e.g smile mean? 11:46 < bridge_> confused xD 11:46 < bridge_> actually i never rly searched what e.g means 11:46 < bridge_> "for example" 11:46 < bridge_> ah ok 11:46 < bridge_> e.g. = for example for weird latin reasons 11:46 < bridge_> e.g. = for example (for weird latin reasons) 11:46 < bridge_> i.e. = that is (for weird latin reasons) 11:56 < bridge_> https://github.com/rust-lang/rust/pull/113616 11:57 < bridge_> :justatest: 12:01 < bridge_> damn their ci is fast 12:01 < bridge_> ` AMD EPYC 7763 64-Core Processor` 12:01 < bridge_> XD 12:03 < ws-client> your first contribution to rust is python 12:03 < bridge_> sadge 12:03 < bridge_> wow rust compiled in 2 mins 12:03 < bridge_> i think 12:03 < bridge_> x build 12:04 < ws-client> now say the same about llvm xd 12:04 < bridge_> xd 12:05 < bridge_> its amazing 12:05 < bridge_> the x tool 12:05 < bridge_> they setup env for either compiler library tools etc 12:05 < bridge_> and it asks if u want a configured vscode settings 12:06 < bridge_> @jupeyy_keks when epyc server for ddnet CI 12:07 < ws-client> sounds good, only annoying thing is that u have to setup vm or smth for security 12:09 < bridge_> true 12:10 < bridge_> i guess i didnt need to compile llvm 16 12:10 < bridge_> since i got it already 12:10 < ws-client> pff llvm16 12:10 < ws-client> non-hipster 12:11 < bridge_> xd 12:11 < bridge_> arch linux is on 15 still 12:11 < ws-client> i am on 17 since like a month 12:11 < bridge_> i think arch linux lacks slots 12:11 < bridge_> gentoo portage slots 12:11 < bridge_> u can have 15 and 16 side by side 12:11 < bridge_> with proper deps 12:11 < bridge_> can’t u do that on nix as well 12:12 < bridge_> probs 12:12 < bridge_> https://media.discordapp.net/attachments/1033076370420535398/1128628894312960030/audiomanip_LKuoc17JiC.mp4 12:12 < bridge_> i love wave 12:16 < ws-client> thanks for destroying my ears 12:16 < bridge_> you are welcome 12:16 < bridge_> anyone know of a list of known ddnet spammers/ddossers/bots 12:17 < bridge_> ppl to blacklist 12:17 < bridge_> just banned one from unique usa and wondering if there's a list i can ban all of 12:17 < bridge_> Ask noby 12:17 < bridge_> he was on fastcap and his name was green i thought we were gonna be buddies 12:17 < bridge_> He has lists 12:17 < bridge_> names to blacklist? 12:17 < bridge_> ips 12:17 < bridge_> sounds futile, unfortunately 12:17 < bridge_> ah 12:19 < bridge_> ok i ask noby 12:26 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128633405244985354/image.png 12:26 < bridge_> lmfao????? 12:28 < bridge_> Cool map idea 12:30 < bridge_> anyone know what happened 12:30 < bridge_> i think i have to tell timakro his instagib server is broken 12:31 < bridge_> zCatch? 12:32 < bridge_> hmm? 12:32 < bridge_> it was unique 12:32 < bridge_> in germany 12:32 < bridge_> i was getting rid of the spammers 12:34 < bridge_> instagib isn't exactly a game mode I think, but rather a gametype 12:35 < bridge_> deen recently found a zcatch related crash, so maybe it's that 12:35 < ws-client> isnt that simply unused entities? 12:35 < bridge_> maybe. idk what are u talking about murpi, your words make sense but idk how they pertain to this 12:35 < ws-client> is the design also broken? 12:36 < bridge_> that bug in my screenshot happened on the unique instagib server in germany. not ddrace 12:36 < bridge_> that bug in my screenshot happened on the unique instagib server in germany. not ddnet affiliated 12:36 < bridge_> or related to zcatch 12:37 < bridge_> You said timakro's instagib server is broken. Instagib is a type of game, not a game mode. You can play instagib in zCatch or iCTF. Does that make sense? 12:37 < bridge_> probably ictf 12:38 < bridge_> ye 12:39 < bridge_> idk why u are talking about a crash rn 12:40 < bridge_> which i think is related to loading the game after ninja is voted in anyway. and probably on a different version of the game 12:44 < bridge_> Ah, I see the confusion. I didn't see the screenshot, only your message saying that x is broken. 12:44 < bridge_> oh lol 12:45 < bridge_> Oops πŸ˜„ 12:45 < bridge_> idk what that crash was but if it's the one i reported a day or 2 ago i think i had it before as well 12:45 < bridge_> but only recalled after and mistook it for a crash on the vanilla server. to which deen said there were no recent crashes or logs when i asked 12:46 < bridge_> that would explain a bunch 12:55 < bridge_> the map got corrupted 12:55 < bridge_> well yeah 12:55 < bridge_> i think maps should be hashed before they are loaded tho 12:59 < ws-client> maps have a hash 12:59 < ws-client> or what do you mean 13:00 < ws-client> if the hash is wrong, then thats a problem after downloading a map, not when loading a map 13:01 < bridge_> the only reason i can see it being corrupted is network issues 13:02 < ws-client> mh i doubt that 13:02 < bridge_> which would be checked after downloading. which is before they are loaded 13:02 < bridge_> lol 13:02 < ws-client> it must be broken on the server already 13:02 < ws-client> does the prediction also think the map is broken ? :D 13:04 < bridge_> idk im not there anymore 13:09 < bridge_> yeah i think prediction makes u fall through the floor 13:11 < ws-client> but the server resets your position? 13:12 < bridge_> i was in bed all day 13:13 < bridge_> My first time taking a leave to just chilling and napping 13:13 < bridge_> Didn't feel good tho lmao 13:13 < bridge_> yeah don't do that 13:13 < bridge_> bad for you 13:14 < ws-client> yeah better continue working 18h a day 13:14 < bridge_> that's also bad 13:19 < bridge_> It's a paid leave so it was at least worth it 13:19 < bridge_> :kek: 13:20 < bridge_> I just forgot to stop working till 4am last night and i have trouble sleeping so i just requested a day off in the morning 13:22 < bridge_> :justatest: 13:37 < bridge_> how one forgets to stop working? 13:47 < bridge_> Because unity sucks and i have to make my own emoji atlas and hack my way through a fake font format and when I'm done it's already 4 13:48 < bridge_> Also ADHD probably 13:52 < bridge_> but 13:52 < bridge_> only work on work hours 13:52 < bridge_> if it takes longer it takes longer 13:53 < bridge_> or the company hires more 13:53 < bridge_> also if u dont get paid for those hours i find it stupid, and i dont think its cuz u need that job cuz living in a poor region 13:53 < bridge_> but its bad for u health ultimately 13:54 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128655724713619498/1MFz0B006yfzzo8KTALTrgQ.png 13:54 < bridge_> inspirational quote 13:54 < bridge_> #instagram 13:55 < bridge_> #lifestyle 13:55 < bridge_> :justatest: 14:07 < bridge_> <_voxeldoesart> im 14 and this is deep 14:11 < bridge_> ikr 14:11 < bridge_> but its true 14:12 < bridge_> i get bored at home 14:24 < bridge_> then become unbored 14:24 < bridge_> https://tenor.com/view/teeworlds-ddrace-teeworld-gif-24816713 14:24 < bridge_> Me fr 14:25 < bridge_> xd 14:26 < bridge_> <_voxeldoesart> ddnet is too laggy with my new internet 14:28 < bridge_> skill issue 14:35 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128665939127316561/c3fjas3qodbb1.png 15:09 < bridge_> since when did SDL3 is a thing 15:10 < bridge_> a few months 15:10 < bridge_> it's still preview 15:10 < bridge_> very unstable 15:18 < bridge_> interesting 15:18 < bridge_> i bought a game on steam which is SDL3 15:18 < bridge_> so i was confused 15:18 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128676765636776006/image.png 15:19 < bridge_> wow that is a bad idea 15:22 < bridge_> That's hipster 15:22 < bridge_> I like 15:23 < bridge_> As if any sdl2 was ever stable xd 15:23 < bridge_> there are degrees to everything 15:23 < bridge_> lol 15:24 < bridge_> ~~like how i have a master degree~~ 15:24 < bridge_> weird flex but ok 15:25 < bridge_> and it is 37 degrees outside even though it is 9 in the evening 15:25 < bridge_> that's 99 degrees for you americans btw 15:26 < bridge_> where did u hear very unstable 15:26 < bridge_> i experienced it 15:27 < bridge_> libinput is completely broke on windows 15:27 < bridge_> build system and conflicts 15:27 < bridge_> ah windows 15:27 < bridge_> on linux? 15:27 < bridge_> the only one and only 15:27 < bridge_> skill issue 15:27 < bridge_> windows is a target they platform and it doesn't work on there so it's an SDL issue 15:27 < bridge_> windows is a platform they target and it doesn't work on there so it's an SDL issue 15:27 < bridge_> words 15:28 < bridge_> skill issue 15:28 < bridge_> excels and powerpoints 15:28 < bridge_> @heinrich5991 regarding the rust pr i made 15:28 < bridge_> im very confused 15:28 < bridge_> apparently another did the same fix 15:28 < bridge_> but mine was accepted 15:28 < bridge_> https://github.com/rust-lang/rust/pull/113616 15:28 < bridge_> https://github.com/rust-lang/rust/pull/113571 15:28 < bridge_> i guess cuz theirs failed ci, but for unrelated reasons 15:29 < bridge_> you're just better 15:30 < bridge_> i do wonder how the guy feels tho, it's exactly the same change. 15:30 < bridge_> lmfao 15:31 < bridge_> https://github.com/rust-lang/rust/pull/113571#issuecomment-1630946289 like this conversation is pretty funny 15:32 < bridge_> ryo’s has a real description 15:32 < bridge_> that’s prob ig 15:32 < bridge_> it 15:32 < bridge_> words 15:32 < bridge_> the other person is a contributor already, they'll be fine 15:35 < bridge_> my guess is that what the decision 15:36 < bridge_> or maybe simply they dont want to rerun ci 15:36 < bridge_> xd 15:38 < bridge_> my guess is that was the decision 15:44 < bridge_> I don't think there was a conscious decision 15:44 < bridge_> these were separate reviewers 15:44 < bridge_> yours just got in faster, then the other was obsolete 15:49 < bridge_> 15:49 < bridge_> new rust drama blog post incoming 15:49 < bridge_> "pr approved other another pr" 15:49 < bridge_> :kek: 15:50 < bridge_> "pr approved over other another pr" 15:50 < bridge_> god i cant type 15:50 < bridge_> "pr approved over another pr" 15:51 < bridge_> i also joined zulip 15:51 < bridge_> the open source slack 15:51 < bridge_> looks great 15:51 < bridge_> a bit confusing at first 15:51 < bridge_> https://rust-lang.zulipchat.com/#all_messages 15:51 < bridge_> yea, I also liked it 15:51 < bridge_> I wondered whether it'd be a good fit for ddnet 15:51 < bridge_> but I guess github issues is good enough 15:52 < bridge_> true 15:52 < bridge_> i wondered if it could replace discord 15:52 < bridge_> but discord is too easy and used byeveryone 15:52 < bridge_> it'd be nice if the discord could be mirrored to some open platform 15:52 < bridge_> ohh sweet 15:52 < bridge_> but I haven't really found a solution for that 15:53 < bridge_> open source slack sounds awesome 15:53 < bridge_> not sure if it's slack tbh 15:53 < bridge_> is it the same API-wise or is it just similar 15:53 < bridge_> it sounded more like a replacement for forums 15:53 < bridge_> definitely not API-wise 15:53 < bridge_> well i heard people say its like the open source slack 15:53 < bridge_> so like a self-hosted discord? 15:54 < bridge_> self hosted slack 15:54 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128685839824732281/image.png 15:54 < bridge_> this doesn't look like slack to me 15:54 < bridge_> xd 15:54 < bridge_> but it serves the same function 15:54 < bridge_> in slack you have a normal chat with optional threads 15:55 < bridge_> this is chat divided by topics 15:55 < bridge_> i wonder if zulip has it 15:55 < bridge_> idk 15:55 < bridge_> or its just how rust does things 16:26 < bridge_> <_voxeldoesart> it wont 16:26 < bridge_> <_voxeldoesart> discord is too big to be replacrd 16:27 < bridge_> it'll be replaced at one point 16:27 < bridge_> all these proprietrary systems are 16:27 < bridge_> look at twitter 16:35 < bridge_> where are the mastodon gang 16:38 < bridge_> <_voxeldoesart> i barely see a difference with twitter 16:38 < bridge_> <_voxeldoesart> threads is a completely different demographic 16:40 < bridge_> is it bad to take melatonin every day 16:41 < bridge_> ask ur doctor 16:41 < bridge_> twitter won't be gone for a couple of years 16:41 < bridge_> it's just so huge 16:41 < bridge_> > Signs of melatonin overdose include excessive sleepiness, vomiting and trouble breathing. Other side effects of both low and high doses of melatonin can include headaches, excessive sleepiness, blood pressure changes, gastrointestinal problems, changes in other hormone levels and mood problems, McCall says 16:41 < bridge_> since u can get overdose i guess yes 16:41 < bridge_> it can be bad 16:43 < bridge_> sleeping is too hard 16:43 < bridge_> go to gym 16:43 < bridge_> im no doctor but i guess sleeping can be bad if u simply have a unhealthy lifestyle xd 16:43 < bridge_> eat bad 16:43 < bridge_> do nothing 16:43 < bridge_> etc 16:43 < bridge_> overwork 16:47 < bridge_> I walk 30 minutes to work does that count 16:49 < bridge_> no xd 16:50 < bridge_> 18h - 30min or + ? Xd 16:55 < bridge_> if i work 18h i probably was sleeping at work 16:55 < bridge_> or just didn't go home that day 16:55 < bridge_> <_voxeldoesart> this looks absolutely boring LOL 16:56 < bridge_> https://tenor.com/view/cats-animals-reaction-wow-surprised-gif-20914356 16:56 < bridge_> also it was 30 minutes one way so probably an hour in total for commute 16:56 < bridge_> <_voxeldoesart> idk i think id stick with discord 16:57 < bridge_> some gifs are too big to be fun 17:06 < bridge_> @jupeyy_keks 17:06 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128703951483699240/qrdx62na9fbb1.png 17:23 < bridge_> 😬 17:48 < bridge_> <_voxeldoesart> texas sharpshooter fallacy :troll: 20:03 < bridge_> Sometimes working with rust fills me with such primal rage, why on gods green earth am I not allowed an empty array without an `Option` being involved? 20:03 < bridge_> I mean I know why, but still pisses me off 20:07 < bridge_> let me have my uninitialized memory please aaaaaaaa 20:10 < bridge_> ? u can 20:10 < bridge_> maybeuninit 20:10 < bridge_> https://doc.rust-lang.org/std/mem/union.MaybeUninit.html 20:10 < bridge_> it's unsafe, meaning if you use it you'll get lynched 20:11 < bridge_> nah 20:11 < bridge_> specially for this use case 20:11 < bridge_> initializing a array 20:11 < bridge_> its well known 20:11 < bridge_> but option is safer 20:11 < bridge_> and usually no overhead 20:11 < bridge_> depends on the type 20:11 < bridge_> https://doc.rust-lang.org/std/mem/union.MaybeUninit.html#initializing-an-array-element-by-element 20:15 < bridge_> use case? 20:15 < bridge_> the use case I encounter often is a byte buffer for the read trait 20:16 < bridge_> good to know ur using rust instead of C tho 20:16 < bridge_> Something far simpler https://docs.rs/twilight-http/latest/twilight_http/request/channel/message/create_message/struct.CreateMessage.html#method.attachments 20:16 < bridge_> I want to create a message inside a closure but I return it outside, so the backing storage for the attachments must be on the outside scope 20:16 < bridge_> coming to the light 20:16 < bridge_> Every second I use this language I miss the flexibility of C and C++ 20:17 < bridge_> rly? i dont 20:17 < bridge_> that feeling of safety 20:17 < bridge_> :cutestare: 20:17 < bridge_> @learath2 basically you're trying to initialize an array using a closure? 20:17 < bridge_> I honestly hate it, it feels like there is this drill sergeant constantly watching over me. I know when I've initialized my variables I'm not an invertebrate 20:18 < bridge_> std::array::from_fn 20:18 < bridge_> yes yes ur a god 20:18 < bridge_> Yes but the array must be declared on the outside scope 20:18 < bridge_> oh, cool, I didn't know stdlib had this already 20:18 < bridge_> I think @ryozuki posted the solution 20:18 < bridge_> Don't need to be anything beyond simple human to lift your head from the line you are looking at to a couple lines above and see if you initialized something 20:19 < bridge_> But thanks 20:19 < bridge_> this is how i init [x; N] arrays 20:19 < bridge_> thagt are not copy 20:19 < bridge_> back in my dayβ„’ we didn't have these fancy const generics :p 20:19 < bridge_> that's why I don't know these well yet 20:19 < bridge_> oh i see 20:19 < bridge_> well rust is getting better 20:19 < bridge_> and learath is learning it 20:19 < bridge_> its 2023 20:19 < bridge_> :gigachad: 20:20 < bridge_> This helps initialize an array using a closure, I need to initialize and use the array inside the closure and return a `CreateMessage<...>` instead 20:20 < bridge_> It's just that the backing storage for the array needs to live the same duration as the `CreateMessage<...>` so they need to be declared in the same scope 20:21 < bridge_> ah 20:21 < bridge_> but I can't yet initialize it because I don't know if a) I'll need it b) it's contents 20:21 < bridge_> you want to have a struct that has two fields, one depending on the other? 20:21 < bridge_> you want to have a struct that has two fields, one pointing into the other? 20:21 < bridge_> `CreateMessage<...>` holds a reference to an `&[Attachment]` 20:22 < bridge_> yes 20:22 < bridge_> what else 20:22 < bridge_> Let me write a simple snippet so we can talk over that instead 20:22 < bridge_> ye 20:27 < bridge_> @heinrich5991 from_fn is fro m1.63.0 20:28 < bridge_> so pretty recent 20:28 < bridge_> we cant use it in ddnet code kek 20:28 < bridge_> @heinrich5991 from_fn is from 1.63.0 20:28 < bridge_> double irc ping :poggers: 20:28 < bridge_> tbf we're not using a lot of rust in ddnet yet 20:28 < bridge_> the only thing we do currently is the mastersrv, unfortunately 20:28 < bridge_> Hey everyone!!! I am checking to see if anyone here is in need of a Full time or part-time job. Flexible and Easy Work From Home 20:28 < bridge_> 20:28 < bridge_> BENEFITS! 20:28 < bridge_> 20:28 < bridge_> Training\: 1 week. 20:29 < bridge_> 3 hours daily/ 5days Monday-Friday 20:29 < bridge_> 20:29 < bridge_> Payment\: Weekly $2500 20:29 < bridge_> 20:29 < bridge_> Location\: Anywhere of your choice 20:29 < bridge_> 20:29 < bridge_> Employment Type\: online promoter /ONLINE TASK 20:29 < bridge_> 20:29 < bridge_> Work from Home Position 20:29 < bridge_> 20:29 < bridge_> JOIN THE CHAT ROOM FOR MORE INFORMATION 20:29 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 20:29 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 20:29 < bridge_> 20:29 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 20:29 < bridge_> I'm working on doing more in rust πŸ™‚ 20:29 < bridge_> quic! 20:29 < bridge_> nice 20:29 < bridge_> i want to code more in ddnet but idk lazyiness 20:29 < bridge_> and doing stuff in rust is more work cuz there is not a lot of cxx layer built yet 20:30 < bridge_> yes 20:30 < bridge_> maybe the cxx approach was the wrong one :/ 20:30 < bridge_> https://ideone.com/h1I1a7 this is the idea, as you can see this doesn't quite work as the array created on line 12 is a temporary that is dropped too early 20:31 < bridge_> I recreated it with a match statement, but closures suffer from the exact same issue 20:32 < bridge_> My inferior C brain immediately tells me that this issue is solved by allocating the backing storage before the block along with the msg, filling it in the match/closure, and then using that 20:34 < bridge_> maybe you can do a `let attachments;` in the beginning 20:34 < bridge_> https://ideone.com/1g0ZJB this is the best I could come up with 20:34 < bridge_> and then in the `match`, you do `attachments = [your_attachment];` 20:35 < bridge_> and then pass `&attachements` to the function 20:35 < bridge_> that should work 20:36 < bridge_> and then pass `&attachments` to the function 20:37 < bridge_> Aha, that does work, what is this magic called? 20:37 < bridge_> it's no magic :p 20:37 < bridge_> it's basically doing what you wanted to do, having an uninit variable 20:37 < bridge_> `attachments` would be immutable no? 20:37 < bridge_> yes, you can only assign it once 20:37 < bridge_> as long as u init the let in every branch it works 20:37 < bridge_> I did not know you were allowed an assignment later huh 20:37 < bridge_> no, that's not necessary 20:38 < bridge_> you only have to init it before you use it 20:38 < bridge_> everywhere where u use it* 20:38 < bridge_> ye 20:38 < bridge_> its initialization 20:38 < bridge_> iirc 20:39 < bridge_> It isn't mentioned in the book and I don't read enough rust code I guess 20:39 < bridge_> Nice to know 20:40 < bridge_> I don't know how I learned that 20:40 < bridge_> perhaps just like this 20:40 < bridge_> https://doc.rust-lang.org/reference/variables.html the reference does mention it however 20:40 < bridge_> https://doc.rust-lang.org/reference/statements.html#let-statements 20:41 < bridge_> let else is the best thing to happen in a while 20:42 < bridge_> `let else` is indeed nice 20:42 < bridge_> haven't used it yet though. so who am I to judge that ^^ 20:42 < bridge_> i also never used it 20:42 < bridge_> if let else yes 20:43 < bridge_> let is super powered 20:43 < bridge_> its one of the things that makes me hate old langs 20:43 < bridge_> pattern matching 20:43 < bridge_> > The pattern is most commonly a single variable, which means no pattern matching is done and the expression given is bound to the variable. Apart from that, patterns used in let bindings can be as complicated as needed, given that the pattern is exhaustive. See the Rust book for more information on pattern matching. The type of the pattern is optionally given afterwards, but if left blank is automatically inferred by the compiler if possible. 20:44 < bridge_> If y'all enjoy the usual rule of never having early returns it's normal that you don't use it 20:44 < bridge_> i use early returns sometimes 20:44 < bridge_> actually many times if u count ? 20:45 < bridge_> `let (Ok(i) | Err(i)) = [1, 2, 3].binary_search(&2);` 20:45 < bridge_> `fn f((Ok(i) | Err(i)): Result) {}` 20:45 < bridge_> The else block has to diverge, so it kinda only has a use for guards and stuff 20:45 < bridge_> ```rust 20:45 < bridge_> match value { 20:45 < bridge_> Some(p @ 2 | 3 | 5 | 7) => println!("{p} is a prime"), 20:45 < bridge_> Some(sq @ 0 | 1 | 4 | 9) => println!("{sq} is a square"), 20:45 < bridge_> None => println!("nothing"), 20:45 < bridge_> Some(n) => println!("{n} is something else"), 20:45 < bridge_> } 20:45 < bridge_> ``` 20:45 < bridge_> binary_search is funny cuz it returns a result 20:46 < bridge_> Result 20:46 < bridge_> > If the value is found then Result::Ok is returned, containing the index of the matching element. If there are multiple matches, then any one of the matches could be returned. The index is chosen deterministically, but is subject to change in future versions of Rust. If the value is not found then Result::Err is returned, containing the index where a matching element could be inserted while maintaining sorted order. 20:48 < bridge_> This bot is so bad, I'm ashamed of having written it πŸ˜„ 20:48 < bridge_> xd 20:48 < bridge_> what bot 20:48 < bridge_> im interested 20:48 < bridge_> i made RyoChan 20:48 < bridge_> but it just has 1 command 20:49 < bridge_> Hey everyone!!! I am checking to see if anyone here is in need of a Full time or part-time job. Flexible and Easy Work From Home 20:49 < bridge_> 20:49 < bridge_> BENEFITS! 20:49 < bridge_> 20:49 < bridge_> Training\: 1 week. 20:49 < bridge_> 3 hours daily/ 5days Monday-Friday 20:49 < bridge_> 20:49 < bridge_> Payment\: Weekly $2500 20:49 < bridge_> 20:49 < bridge_> Location\: Anywhere of your choice 20:49 < bridge_> 20:49 < bridge_> Employment Type\: online promoter /ONLINE TASK 20:49 < bridge_> 20:49 < bridge_> Work from Home Position 20:49 < bridge_> 20:49 < bridge_> JOIN THE CHAT ROOM FOR MORE INFORMATION 20:49 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 20:49 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 20:49 < bridge_> 20:49 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 20:49 < bridge_> ah right tomorrow last exam 20:49 < bridge_> for learath 20:49 < bridge_> then bot release 😬 20:49 < bridge_> no open source? 20:49 < bridge_> 20:50 < bridge_> https://tenor.com/view/shame-go-t-game-of-thrones-walk-of-shame-shameful-gif-4949558 20:51 < bridge_> I like early returns 20:51 < bridge_> it is open source 20:52 < bridge_> https://github.com/rust-lang/rust/pull/113624 20:52 < bridge_> rollup of my pr 20:52 < bridge_> im rust contributor now 20:52 < bridge_> :worrywhat: 20:52 < bridge_> https://github.com/Learath2/discordbot don't look at it though, it's actually embarrasing code 20:52 < bridge_> @learath2 in my book if it doesnt pass clippy with pedantic its embarrasing 20:53 < bridge_> so ye the bar is high 20:53 < bridge_> and the commit I'm about to push, don't judge me for it, I just need to fix the bug mods are complaining about before they kill me 20:53 < bridge_> that's a stupid rule IMO 20:53 < bridge_> anyone can push new clippy lints 20:53 < bridge_> ``` 20:53 < bridge_> #![deny(missing_docs)] 20:53 < bridge_> #![deny(warnings)] 20:53 < bridge_> #![deny(clippy::nursery)] 20:53 < bridge_> #![deny(clippy::pedantic)] 20:53 < bridge_> #![deny(clippy::all)] 20:53 < bridge_> ``` 20:53 < bridge_> add this 20:53 < bridge_> I have warnings even without clippy πŸ˜„ 20:53 < bridge_> @heinrich5991 i knew u would say this, but i dont care 20:53 < bridge_> and im half joking 20:53 < bridge_> pedantic is a lot 20:53 < bridge_> but atleast make clippy pass 20:54 < bridge_> and they only get reverted once enough people announce that the lint is actually not improving stuff 20:54 < bridge_> (i unjokingly enable pedantic in my projects tho) 20:54 < bridge_> so far the only annoying ones i found it too complex types and too many arguments 20:54 < bridge_> so far the only annoying ones i found is too complex types and too many arguments 20:54 < bridge_> <_voxeldoesart> whys it called clippy 20:54 < bridge_> cuz windows clippy 20:54 < bridge_> its a linter 20:54 < bridge_> <_voxeldoesart> lmfao 20:55 < bridge_> <_voxeldoesart> the cult of anti windows praises the windows mascot 20:55 < bridge_> <_voxeldoesart> :justatest: 20:55 < bridge_> many rust users use windows 20:55 < bridge_> its a separate cult 20:55 < bridge_> actually im not 100% sure its cuz windows tho 20:55 < bridge_> <_voxeldoesart> i always saw them as the same tbh 20:55 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128761633741733948/Untitled.webp 20:55 < bridge_> undefined 20:55 < bridge_> wasn't clippy ms office, not windows? 20:55 < bridge_> is that a matrix bot gone wrong? 20:55 < bridge_> idk what u say, the only rust community u seen is us here xd 20:56 < bridge_> windows xp? 20:56 < bridge_> Hey everyone!!! I am checking to see if anyone here is in need of a Full time or part-time job. Flexible and Easy Work From Home 20:56 < bridge_> 20:56 < bridge_> BENEFITS! 20:56 < bridge_> 20:56 < bridge_> Training\: 1 week. 20:56 < bridge_> 3 hours daily/ 5days Monday-Friday 20:56 < bridge_> 20:56 < bridge_> Payment\: Weekly $2500 20:56 < bridge_> 20:56 < bridge_> Location\: Anywhere of your choice 20:56 < bridge_> 20:56 < bridge_> Employment Type\: online promoter /ONLINE TASK 20:56 < bridge_> 20:56 < bridge_> Work from Home Position 20:56 < bridge_> 20:56 < bridge_> JOIN THE CHAT ROOM FOR MORE INFORMATION 20:56 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 20:56 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 20:56 < bridge_> 20:56 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 20:56 < bridge_> not AFAIK 20:56 < bridge_> <_voxeldoesart> i saw that 20:56 < bridge_> i missed it 20:56 < bridge_> <_voxeldoesart> fair but i like it this way 20:57 < bridge_> e.g. check this wonderful lint that introduced bugs in people's projects: https://github.com/rust-lang/rust-clippy/pull/9484 20:57 < bridge_> @learath2 atleast u using sqlx 20:58 < bridge_> if a buggy lint got into pedantic its a misrelease by them, iirc the experimental lints are on nursery 20:58 < bridge_> some may have false trues in stable but its ok 20:59 < bridge_> this was a warn-by-default lint 20:59 < bridge_> i dont see the relation 21:00 < bridge_> this is a case where blindly following clippy's suggestions introduced bugs in people's code 21:00 < bridge_> ok but i still dont see the problem 21:00 < bridge_> with clippy's default settings 21:00 < bridge_> software can have bugs 21:00 < bridge_> okay 21:00 < bridge_> also many ppl use clippy check 21:00 < bridge_> on ci 21:00 < bridge_> I just want to say that you should critically evaluate the lints 21:00 < bridge_> instead of a bare check 21:00 < bridge_> i do 21:00 < bridge_> so far they make lot of sense 21:00 < bridge_> if even bugs can get through, surely bad suggestions can also get through 21:00 < bridge_> i think u should be more leniant 21:01 < bridge_> I thought I was being more lenient than you are on this 21:01 < bridge_> you're suggesting a "you need to fix all clippy warnings" 21:01 < bridge_> you're suggesting a "you need to fix all clippy warnings" policy 21:01 < bridge_> i always seen u as a anti clippy guy 21:01 < bridge_> yes, so far it worked good for me 21:01 < bridge_> and I'm providing a counterpoint 21:01 < bridge_> why fixing all clippy warnings is not always a good idea 21:01 < bridge_> as it even introduced bugs in the past 21:02 < bridge_> code linting tools are good, clippy is one of them 21:02 < bridge_> which get fixed and is fine 21:02 < bridge_> 99% of cases are good to fix 21:02 < bridge_> please don't make up percentages 😦 21:02 < bridge_> most of the cases are good to fix 21:02 < bridge_> I agree 21:02 < bridge_> but you should still *think* while doing so 21:02 < bridge_> if a suggestion doesn't make something better, don't do it 21:02 < bridge_> i was about to make a joke but better not xd 21:04 < bridge_> i aproach these tools like this: im certainly they will in most if not all cases now better than me, obv i also check if they make sense, and i read many lints descriptions 21:04 < bridge_> and i find them reasonable 21:04 < bridge_> I also read lint descriptions 21:04 < bridge_> and when I don't find them reasonable, I don't apply them 21:04 < bridge_> seems like what you're doing, too. except we have different levels of what we deem sensible 21:04 < bridge_> yea 21:05 < bridge_> but I wouldn't exactly call my stance "more extreme" than yours ^^ 21:05 < bridge_> Hey everyone!!! I am checking to see if anyone here is in need of a Full time or part-time job. Flexible and Easy Work From Home 21:05 < bridge_> 21:05 < bridge_> BENEFITS! 21:05 < bridge_> 21:05 < bridge_> Training\: 1 week. 21:05 < bridge_> 3 hours daily/ 5days Monday-Friday 21:05 < bridge_> 21:05 < bridge_> Payment\: Weekly $2500 21:05 < bridge_> 21:05 < bridge_> Location\: Anywhere of your choice 21:05 < bridge_> 21:05 < bridge_> Employment Type\: online promoter /ONLINE TASK 21:05 < bridge_> 21:05 < bridge_> Work from Home Position 21:05 < bridge_> 21:05 < bridge_> JOIN THE CHAT ROOM FOR MORE INFORMATION 21:05 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 21:05 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 21:05 < bridge_> 21:05 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 21:05 < bridge_> lol i saw that 21:05 < bridge_> matrix spam? 21:05 < bridge_> ye 21:05 < bridge_> briefly xD 21:06 < bridge_> how do I check if I'm compiling for windows, in meson? 21:06 < bridge_> never rly used meson 21:06 < bridge_> host_machine.system() 21:06 < bridge_> i think 21:06 < bridge_> https://mesonbuild.com/Compiler-properties.html 21:07 < bridge_> https://mesonbuild.com/Cross-compilation.html 21:07 < bridge_> thanks 21:07 < bridge_> that was 1 quick google tho 21:08 < bridge_> what u doing with meson? 21:08 < bridge_> porting ddnet? 21:08 < bridge_> hmm, don't wanna reveal other identities 21:08 < bridge_> no 21:08 < bridge_> a ok 21:09 < bridge_> typical need to define `NOMINMAX` 21:09 < bridge_> on windows 21:10 < bridge_> because the `windows.h` header thinks it's a good idea ot define `min`/`max` macros, breaking the c++ stdlib, among others 21:10 < bridge_> xd 21:18 < bridge_> fwiw I only used it because I was interested in it's Any interface, turns out it's not so good and it really isn't even a great idea to pursue that 21:19 < bridge_> i never liked multi sql support 21:19 < bridge_> its better to focus on one 21:19 < bridge_> and use its neat features 21:19 < bridge_> mainly psql 21:19 < bridge_> do you know anyhow btw? 21:19 < bridge_> do you know `anyhow` btw? 21:19 < bridge_> Next time I might try `tokio_postgres` 21:19 < bridge_> color_eyre* 21:20 < bridge_> noo just use sqlx with postgres 21:20 < bridge_> would make code like this easier to write: 21:20 < bridge_> ```rs 21:20 < bridge_> let Ok(msg) = msg else { 21:20 < bridge_> return Err(Error("CME")); 21:20 < bridge_> } 21:20 < bridge_> ``` 21:20 < bridge_> compile time checked queries 21:20 < bridge_> Yeah, I use it in newer stuff I do, that bot is left from the very early times when I was learning Rust. So I also used it as a playground where I messed around with doing errors on my own without anyhow 21:21 < bridge_> color_eyre is a fork of anyhow with better end user errors 21:21 < bridge_> https://docs.rs/color-eyre/latest/color_eyre/ 21:21 < bridge_> in what way "better end user errors"? 21:21 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128768145105109043/image.png 21:21 < bridge_> I never quite figured out how best to package that for a project btw, I just set `DATABASE_URL` and call it a day 21:22 < bridge_> I think there is a way to generate a json file with the schema 21:22 < bridge_> ye thats how i do it too but u can also do the json 21:22 < bridge_> u need to install the sqlx cli tool 21:22 < bridge_> I also saw the documentation, it's not clear to me why this is "better end user errors" 21:22 < bridge_> which btw, its a rly good tool to manage migrations 21:22 < bridge_> I was hoping for some small summary 21:22 < bridge_> It looks pretty? idk 21:22 < bridge_> u need the tool with the feature enabled 21:23 < bridge_> eyre adds backtraces, I'm guessing color_eyre adds colors to eyre πŸ˜„ 21:23 < bridge_> ye 21:23 < bridge_> backtrace full looks pretty 21:23 < bridge_> beware tho 21:23 < bridge_> in some scenarios due to eyre adding backtraces, there is a issue with lifetimes 21:23 < bridge_> I can imagine backtrace full looking extremely ugly in async programs πŸ˜„ 21:23 < bridge_> i found this in some async contexts 21:23 < bridge_> returning some errors 21:23 < bridge_> i forgot what i did 21:24 < bridge_> <_voxeldoesart> is ddnet async 21:24 < bridge_> it does some stuff in threads 21:24 < bridge_> but it doesnt have a async runtime 21:24 < bridge_> it's doing manual async 21:24 < bridge_> tokio, a async runtime and executor, uses a work stealing scheduler to run ur routines 21:24 < bridge_> tasks* 21:25 < bridge_> learning to make ur async runtime can be fun 21:25 < bridge_> i have to do it 21:25 < bridge_> i only dabbled into it when i was doing ryoOS 21:26 < bridge_> Async usually implies a runtime making guesses about where best to run your tasks. It'll start a bunch of threads and as you submit tasks it'll assign them to threads 21:26 < bridge_> https://os.phil-opp.com/async-await/ 21:26 < bridge_> the neat part is spawning a task is cheap compared to spawning a thread 21:26 < bridge_> I'm still very skeptical about how good of an idea this async thing is, it does make writing async code trivial but how can it be as performant idk 21:27 < bridge_> isnt tokio pretty perfomant 21:27 < bridge_> it beats go which is designed for this, in some areas 21:27 < bridge_> Locality principle is extremely useful in squeezing out performance, but if my task moves from core to core I might get hundreds of cache misses for no reason 21:27 < bridge_> I think postgresql also wanted to move to some async model 21:27 < bridge_> i forgot the blog post 21:27 < bridge_> `Activating VS 17.6.3` β€” why does this take >1 second? 21:27 < bridge_> i think u can spawn a non movable task iirc 21:27 < bridge_> what exactly needs 4'000'000'000 clock cycles there? 21:28 < bridge_> I'm talking about async runtimes in general versus manually threading your application thinking about where a thread is useful 21:28 < bridge_> https://docs.rs/tokio/latest/tokio/task/struct.LocalSet.html 21:28 < bridge_> postgresql is thinking about it 21:28 < bridge_> What is this? 21:29 < bridge_> Is there some discussion somewhere I can read? In their case performance is critical so they might have some of the concerns I have and there might be some answers 21:29 < bridge_> lwn 21:29 < bridge_> meson getting the cl compiler and link linker from the environment 21:30 < bridge_> is meson made in python 21:30 < bridge_> yes 21:30 < bridge_> @jupeyy_keks :justatest: 21:30 < bridge_> when something like meson in rust 21:31 < bridge_> build systems are an annoying problem 21:31 < bridge_> soo many different platforms 21:31 < bridge_> yesterday i found this neat crate https://crates.io/crates/dll-syringe 21:31 < bridge_> wanted to try if i can port a mod platform from c# to rust 21:31 < bridge_> for ffxiv 21:33 < bridge_> build systems have to be slow, so better use the slowest language available 21:35 < bridge_> Maybe it's trying the compiler out? Most build systems check if it can create an executable and stuff 21:36 < bridge_> yo the spammer is back 21:36 < bridge_> I'd guess it's an extremely slow batch file from msvs 21:36 < bridge_> wrong server sry 21:36 < bridge_> but I guess I'll debug this for a minute now 21:38 < bridge_> i thought heinrich was in a asian timezone 21:38 < bridge_> but maybe he is american 21:38 < bridge_> in* 21:38 < bridge_> idk why i thought asian 21:38 < bridge_> it's `VC/Auxiliary/Build/vcvars64.bat` 21:38 < bridge_> that's taking >1 s to execute 21:38 < bridge_> r u on windows? 21:38 < bridge_> . 21:39 < bridge_> I have a windows VM 21:39 < bridge_> to check that stuff compiles on windows 21:39 < bridge_> ah ok 21:39 < bridge_> well one could also think @learath2 is in a american timezone given his active hours 21:39 < bridge_> :justatest: 21:40 < bridge_> hi deen 21:40 < bridge_> wen c++20 21:41 < bridge_> ive seen some news around c++23 21:41 < bridge_> heinrich is on the space station, that explains his always changing timezone 21:41 < bridge_> i failed to get it working 21:42 < bridge_> i mean i guess itw as the right server? the rainbow with random generated names guys 21:42 < bridge_> joined our srv 21:43 < bridge_> @deen this reminds me, u soon wont be here at all right? 21:43 < bridge_> can heinrich or learath make releases 21:43 < bridge_> multiview looks pog 21:44 < bridge_> @heinrich5991 https://blogs.windows.com/windows-insider/2023/07/12/announcing-windows-11-insider-preview-build-25905/ 21:44 < bridge_> https://news.ycombinator.com/item?id=36700076 21:45 < bridge_> > Rust in the Windows Kernel 21:45 < bridge_> > 21:45 < bridge_> > Rust offers advantages in reliability and security over traditional programs written in C/C++. This preview shipped with an early implementation of critical kernel features in safe Rust. Specifically, win32kbase_rs.sys contains a new implementation of GDI region. While this is a small trial, we will continue to increase the usage of Rust in the kernel. Stay tuned! 21:45 < bridge_> > 21:45 < bridge_> > [We are beginning to roll this out, so the experience isn’t available to all Insiders in the Canary Channel just yet as we plan to monitor feedback and see how it lands before pushing it out to everyone.] 21:46 < bridge_> im dying of heat 21:46 < bridge_> it says it rains but its fake 21:47 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128774525618761858/image.png 21:47 < bridge_> With rust this bug wouldnt have happened 21:47 < bridge_> no, not right now 21:48 < bridge_> i.e. we don't have deen's setup 21:49 < bridge_> We could technically make a release I guess, it would just take a lot of effort since we don't have it set up 21:49 < bridge_> i think for ddnet future proof sake 21:49 < bridge_> we need to standarize this 21:49 < bridge_> We have access to everything needed 21:49 < bridge_> i want to be able to do a release on my server (for myself for example) 21:49 < bridge_> There is a release script if you want to do it yourself 21:49 < bridge_> it has many hardcoded paths iirc 21:50 < bridge_> where is deen going? 21:50 < bridge_> he isnt going anywhere 21:50 < bridge_> (It might be nice to do this in docker actually, I did attempt it once but then it was way too much work) 21:50 < bridge_> he will just be busy 21:50 < bridge_> xd 21:50 < bridge_> he mentioned it on this channel but idk if i should repeat it 21:50 < bridge_> u can link to it 21:50 < bridge_> or i can just scroll 21:50 < bridge_> that would be the same as repeating 21:50 < bridge_> i meant it more as in privacy 21:51 < bridge_> ill let moderator @heinrich5991 decide 21:51 < bridge_> roby wyd on all the servers 21:51 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128775633263145080/image.png 21:51 < bridge_> why did u delete 21:51 < bridge_> old screenshot 21:51 < bridge_> fulscren bug 21:51 < bridge_> xd 21:51 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128775765304037487/image.png 21:52 < bridge_> pro racer 21:52 < bridge_> so pro he does 2 at once 21:52 < bridge_> why dummy on race tho 21:52 < bridge_> maybe he is testing 21:52 < bridge_> it's just Green with their name changed LMFAO 21:52 < bridge_> the spammer 21:52 < bridge_> lol 21:52 < bridge_> Malicious 22:08 < bridge_> I think that's "only" a question of effort. I don't think anyone would be against it 22:40 < ws-client> when finally open source ddnet scripts 22:41 < ws-client> not this half baked some scripts copied over into a git repo 22:54 < bridge_> what 23:11 < bridge_> Maybe you can make CI scripts (GitHub Actions and/or GitLab CI) producing suitable packages? 23:11 < bridge_> I see it won't cover everything (e.g. Steam) but maybe the way to overcome this is a better (and more accessible) automation? 23:39 < bridge_> it's not like I'm dying πŸ˜„ 23:43 < bridge_> help math 23:43 < bridge_> ```cpp 23:43 < bridge_> // samplerate is 48000, can be any positive number tho 23:43 < bridge_> double running = 5; // (0, 5) 23:43 < bridge_> const double growthConstant = 1. + (1. / (samplerate / 3)); 23:44 < bridge_> // (1, 5 * growthConstant); (2, (5 * growthConstant) * growthConstant) 23:44 < bridge_> for (int i = 0; i < samplerate; i++) { // Test every X between 0 and 48000 23:44 < bridge_> audiodata[i] = running; 23:44 < bridge_> running *= -growthConstant; 23:44 < bridge_> } 23:44 < bridge_> ``` 23:44 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1128803949214978048/image.png 23:44 < bridge_> why does this create a curve where f(x) = x 23:44 < bridge_> what's special about 3 and 5 in this case 23:48 < bridge_> I don't see f(x) = x in that image 23:48 < bridge_> where do you plug in the 3, the 5? 23:50 < bridge_> i've been kinda trying to turn this into an equation but the whole growthconstant thing eludes me 23:51 < bridge_> 5 is the y intercept, 3 is the divisor for the growth constant 23:51 < bridge_> 5 is the y intercept, 3 is the divisor for the growth value 23:53 < bridge_> why does this create a curve where f(x) = 100 23:53 < bridge_> sry i forgot it's not f(x) = x it's f(x) = 100 23:54 < bridge_> I also do not see the constant function f(x) = 100 23:56 < bridge_> Top of the 'graph' is 100 23:56 < bridge_> ``` 23:56 < bridge_> >>> (16001/16000)**48000 * 5 23:56 < bridge_> 100.41827035443303 23:56 < bridge_> ``` 23:56 < bridge_> ```py 23:56 < bridge_> >>> (1 + 1 / (48000 / 3))**48000 * 5 23:56 < bridge_> 100.41827035443303 23:56 < bridge_> ``` 23:57 < bridge_> wouldn't that be 100 if not for imprecision 23:57 < bridge_> idk 23:57 < bridge_> that's not exactly 100, no 23:57 < bridge_> so this is just a coincidence 23:57 < bridge_> yes 23:57 < bridge_> i see 23:58 < bridge_> ah 23:59 < bridge_> you're approximating 5 * e**3 with this formula btw