00:16 < bridge_> netcode didn't really change 00:16 < bridge_> basically only the pacing of packets 00:17 < bridge_> I would have expected the inverse πŸ˜„ 00:17 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129174817074069604/F07Bj50XgAAFJ8C.png 00:18 < bridge_> why? 00:18 < bridge_> Turns out people with filthy mouths are better C coders, take that cs people 00:19 < chillerbot> error 00:19 < bridge_> error 00:24 < chillerbot> error 00:24 < bridge_> error 00:26 < 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 00:26 < bridge_> 00:26 < bridge_> BENEFITS! 00:26 < bridge_> 00:26 < bridge_> Training\: 1 week. 00:26 < bridge_> 3 hours daily/ 5days Monday-Friday 00:26 < bridge_> 00:26 < bridge_> Payment\: Weekly $2500 00:26 < bridge_> 00:26 < bridge_> Location\: Anywhere of your choice 00:26 < bridge_> 00:26 < bridge_> Employment Type\: online promoter /ONLINE TASK 00:26 < bridge_> 00:26 < bridge_> Work from Home Position 00:26 < bridge_> 00:26 < bridge_> JOIN THE CHAT ROOM FOR MORE INFORMATION 00:26 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 00:26 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 00:26 < bridge_> 00:26 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 00:35 < bridge_> <_gwendal> Hey i think that's quite a problem 00:35 < bridge_> <_gwendal> https://cdn.discordapp.com/attachments/293493549758939136/1129179240722604194/Discord_t2FV9XJwZA.png 00:35 < bridge_> <_gwendal> if you don't enter a name, the bot will try your username instead trying with your nickname 00:35 < bridge_> <_gwendal> if you don't enter a name, the bot will try your username instead of trying with your nickname 00:37 < bridge_> Blame discord 00:37 < bridge_> <_gwendal> xd 00:37 < bridge_> uNiQuE UsErNAmEs 00:37 < bridge_> <_gwendal> i can try to fix that tonight if you wish 00:37 < bridge_> <_gwendal> (it must be 1 line to change) 00:48 < bridge_> No, we just have to update our discord.py version. What you experience is a bug that hasn't been fixed in discord.py 2.2.2 yet 00:53 < bridge_> granted the problem couldn't have been resolved in discord.py 2.2.2 because the username migration took place after the release of that version but still 00:59 < 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 00:59 < bridge_> 00:59 < bridge_> BENEFITS! 00:59 < bridge_> 00:59 < bridge_> Training\: 1 week. 00:59 < bridge_> 3 hours daily/ 5days Monday-Friday 00:59 < bridge_> 00:59 < bridge_> Payment\: Weekly $2500 00:59 < bridge_> 00:59 < bridge_> Location\: Anywhere of your choice 00:59 < bridge_> 00:59 < bridge_> Employment Type\: online promoter /ONLINE TASK 00:59 < bridge_> 00:59 < bridge_> Work from Home Position 00:59 < bridge_> 00:59 < bridge_> JOIN THE CHAT ROOM FOR MORE INFORMATION 00:59 < bridge_> πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡ 00:59 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 00:59 < bridge_> 00:59 < bridge_> https://t.me/+s1mUKAv6bQMxOWE0 01:00 < bridge_> @zwelf2 Please kick "majefamous" from IRC 01:01 < bridge_> done now 01:10 < bridge_> yo, what about adding an option for sorting the skins by last added or recently used? 01:42 < bridge_> cant you use the name that is used only by this discord rather than the uNiQuE UsErNAmE ? 01:43 < bridge_> if I update the discord.py lib, yes. 01:59 < bridge_> is that even proper statistical analysis 01:59 < bridge_> it is if you only consider the average 01:59 < bridge_> but the second gaussian fit is far fetched 01:59 < bridge_> it doenst compare code with to code without swear words really 02:00 < bridge_> it does? 02:00 < bridge_> It's probably a flawed study, the group of projects with swear words must be much much smaller 02:01 < bridge_> is wtf a swear word? 02:01 < bridge_> As evidenced by the distribution not really being normal, central limit theorem guarantees that with enough of a sample size you'll always get a normal, as you do on the left one 02:03 < bridge_> it just shows the distribution for each on their own no? 02:03 < bridge_> am i tripping 02:03 < bridge_> in the same way you can compare number, you can compare distribution 02:03 < bridge_> like having an average for each value would be a better comparison 02:03 < bridge_> in the same way you can compare numbers, you can compare distributions 02:03 < bridge_> and yeah looks like the sample size is too small for the one on the right anyways 02:04 < bridge_> you can also see here the asymmetry of the second one 02:04 < bridge_> theres nothing 9+ 02:04 < bridge_> but yeah, we lack also the std deviation, the kurtosis and asymmetry factor if we want to be pedantic 02:04 < bridge_> we also lack sample size for each one, methodology and roughly 95% of a real study 02:07 < bridge_> πŸ˜„ 02:07 < bridge_> It's just one graph 02:07 < bridge_> πŸ€“ this twitter post is confirmed not statistically sound 02:07 < bridge_> Also depends very much on what code quality metric is used 07:10 < bridge_> trye 07:10 < bridge_> another day i get the urge to do some ddnet web dev 07:10 < bridge_> with rust 07:10 < bridge_> maybe ill do it finally 08:36 < ws-client> @ryozuki when if not today, on FFR 08:37 < bridge_> ye 08:37 < bridge_> when im done with gym 09:14 < bridge_> what even is rust web development? I can only imagine it writing your wasm code 09:16 < bridge_> no? 09:16 < bridge_> backend 09:16 < bridge_> my go to stack nowadays is rust backend svelte ts frontend 09:17 < bridge_> im gonna do a master visualizer i think 09:18 < bridge_> oh u mean as backend i see, sounds like a nice stack 09:18 < ws-client> i mean even for wasm its cool 09:18 < bridge_> please do it ddnet.org gives me chills 09:18 < ws-client> blazingly fast startup times 09:19 < ws-client> blazingly few javascript 09:20 < bridge_> ill try 09:20 < bridge_> modern slick 09:20 < bridge_> blazing fast 09:20 < bridge_> fearless concurrnecy 09:20 < bridge_> catgirl devs 09:21 < bridge_> :cutestare: 09:21 < bridge_> with socks 09:21 < bridge_> put the rust socks 09:23 < bridge_> WTF is that a response to my !p from yesterday? 09:23 < bridge_> (<@749222324980416602_chillerbot>) 09:24 < ws-client> i think i have to write yet another serialization library for rust xdd 09:24 < ws-client> https://github.com/djkoloski/rust_serialization_benchmark 09:24 < ws-client> they are simply too slow 09:24 < bridge_> no? 09:24 < bridge_> they pretty fast 09:24 < bridge_> iirc 09:32 < ws-client> i need the fastest 09:58 < bridge_> alkahest looks nice 09:58 < bridge_> but its weird to put serde_json there 09:58 < bridge_> json is inherently slower than others like bincode 10:00 < bridge_> rkyv too 10:08 < bridge_> https://cheats.rs/ 10:08 < bridge_> @learath2 10:08 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129323623736418304/image.png 10:08 < bridge_> here its shown too 10:08 < bridge_> the let thing we discussed 10:18 < bridge_> my rust pr was merged finally 10:18 < bridge_> present rust contributor 10:44 < bridge_> gg 11:03 < ws-client> @ryozuki u are smth better now than us 11:24 < bridge_> chillerdragon\: I've now a daily updating archive of the ddnet discord channels\: https://archive.strct.cc/ddnet (and some more) Not an interactive Matrix bridge yet, but at least read-only access. 11:25 < ws-client> omg that looks fancy af xd 11:29 < bridge_> Zwelf: cool! 11:29 < bridge_> I love archives 11:32 < bridge_> @jupeyy_keks cool benchmark 11:33 < bridge_> I think it's good to include, so you can see how much slower it is 11:52 < bridge_> hmmmmmm 11:54 < bridge_> Lol 11:54 < bridge_> Did it do that automatically? 11:54 < bridge_> yes. but before passing checks 11:54 < bridge_> I seem to have misconfigured something 11:55 < bridge_> Rn it's only on the merge queue branch? Maybe it reopens the pr or smith xd 11:55 < bridge_> Smth 11:56 < bridge_> Ah no it merged into master 11:56 < bridge_> And additionally a branch lol 11:58 < bridge_> @jupeyy_keks is https://github.com/ddnet/ddnet/pull/6836 ready? 11:58 < bridge_> can you try to merge it using hte merge queue? 11:59 < bridge_> Why did it work now? 12:00 < bridge_> I changed some settings on the repo itself 12:00 < bridge_> I x 12:00 < bridge_> C 12:11 < bridge_> Cool stuff thanks. How is that done? Is it a officially supported export feature? Who is hosting that? 12:16 < bridge_> I'm hosting that using https://github.com/Tyrrrz/DiscordChatExporter/ 12:17 < bridge_> not really official, but best option for me from available listed on https://wiki.archiveteam.org/index.php/Discord 12:29 < bridge_> did that pr merge itself without review? 12:30 < bridge_> ah heinrich did it 12:30 < bridge_> ill miss bors r+ 12:31 < bridge_> https://github.com/ddnet/ddnet/pull/6848 12:31 < bridge_> you can try out the new thing πŸ™‚ 12:31 < bridge_> ohh 12:31 < bridge_> i will xD 12:31 < bridge_> @heinrich5991 merge when ready waits for ci right? 12:31 < bridge_> correct 12:31 < bridge_> it's like `bors r+` 12:32 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129359656926576710/image.png 12:32 < bridge_> pog 12:32 < bridge_> hmmmm 12:32 < bridge_> this looks different from merge queue 12:32 < bridge_> let's see if it'll work 12:33 < bridge_> i think it auto merges into the queue 12:33 < bridge_> i guess the merge queue is a requirement 12:35 < bridge_> bors was a nice service πŸ™‚ I'm thankful we had access to it 12:35 < ws-client> lmao the greatest contributor to our project died xd 12:35 < bridge_> xd 12:35 < bridge_> true 12:35 < bridge_> im still mad 100 commits of mine are not counted 12:36 < bridge_> cuz github doesnt resolve mailmap 12:36 < bridge_> oh, it does not? 12:36 < bridge_> no sadly 12:36 < bridge_> i would be top 9 12:36 < bridge_> or 8 12:36 < bridge_> have you found a feature request? 12:37 < bridge_> https://github.com/orgs/community/discussions/22518 12:37 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129360947392290816/image.png 12:37 < bridge_> I see 12:37 < bridge_> unfortunately, github is closed-source software 12:37 < bridge_> otherwise you could have fixed it yourself 12:38 < bridge_> true 12:43 < bridge_> @ryozuki did you press any more buttons? 12:43 < bridge_> or did it add itself to the merge queue? 12:43 < bridge_> looks so weird xdd. i wonder if that influences the stats on gh profil 12:43 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129362517592907786/Screenshot_20230714-124114.png 12:44 < bridge_> no, merge commits aren't counted AFAIK 12:45 < bridge_> any preference for merge commits vs rebasing? 12:45 < bridge_> ntw 12:45 < bridge_> btw 12:45 < ws-client> rebase i guess xd 12:58 < bridge_> conflicts 13:00 < bridge_> I'm not sure how there can be conflicts 13:00 < bridge_> but we'll see πŸ™‚ 13:01 < bridge_> @heinrich5991 sometimes there arent, u just need to rebase 13:03 < bridge_> @ryozuki seems like github is buggy(?) there are no merge conflicts when merging the branch on the command line 13:03 < bridge_> yeah idk 13:03 < bridge_> i seen this a lot 13:04 < bridge_> rebased 13:05 < bridge_> does it auto close issues just like bors though ? 13:06 < bridge_> @deen on the sqlite dumps, can u make map.timestamp nullable and put the 0000-00-00 timestamps as null? 13:06 < bridge_> that's a github feature, not a bors feature 13:06 < bridge_> so yes 13:06 < bridge_> with that fix pgloader would work and i would be able to import it to psql 13:06 < bridge_> which probs works faster 13:06 < bridge_> and maybe ddstats can be faster 13:07 < bridge_> ``` 13:07 < bridge_> 2023-07-14T11:07:23.147996Z ERROR Database error 22008: date/time field value out of range: "0000-00-00 00:00:00" 13:07 < bridge_> QUERY: CREATE TABLE maps 13:07 < bridge_> ( 13:07 < bridge_> map text, 13:07 < bridge_> server text, 13:07 < bridge_> points bigint default '0', 13:07 < bridge_> stars bigint default '0', 13:07 < bridge_> mapper text, 13:07 < bridge_> timestamp timestamp default '0000-00-00 00:00:00' 13:07 < bridge_> ); 13:07 < bridge_> ``` 13:07 < bridge_> and sqlite doesnt support alter column xd 13:08 < bridge_> its such a chore 13:25 < bridge_> @ryozuki https://github.com/ddnet/ddnet/pull/6849 could you review this? 13:29 < bridge_> done 13:30 < bridge_> nice. now it doesn't rnu all the checks twice 13:32 < bridge_> ah 13:32 < bridge_> maybe the merge conflict thing came because I changed the merge mode to rebase instead of merge 13:32 < bridge_> perhaps merge would be better? 13:32 < bridge_> its easier certainly 13:33 < ws-client> but why should rebase not work in such a case 13:33 < bridge_> because it likely tried to rebase both commits 13:34 < bridge_> even the one already included in master 13:34 < ws-client> mh weird behavior xd 13:37 < bridge_> well, I'll leave it as rebase for now 13:38 < bridge_> let's see how it works out or if someone complains 13:39 < ws-client> bors used merged right? 13:39 < ws-client> the commits were always all over the place 13:39 < bridge_> yes 13:40 < bridge_> bors used merge, it couldn't do rebase unless you self-hosted it 13:40 < bridge_> we didn't ahve a choice there 13:51 < bridge_> the hashes for the nightly version somehow doesnt align, can someone check too? 13:51 < bridge_> ddnet.org/downloads/DDNet-nightly-win64.zip 13:51 < bridge_> ddnet.org/downloads/md5sums.txt 13:51 < bridge_> the hashes for the nightly version somehow doesnt align, can someone check too? 13:51 < bridge_> https://ddnet.org/downloads/DDNet-nightly-win64.zip 13:51 < bridge_> https://ddnet.org/downloads/md5sums.txt 13:53 < bridge_> I can confirm that it doesn't match 13:53 < bridge_> md5? 13:53 < bridge_> wasnt it sha 13:53 < bridge_> we also have sha256 13:53 < bridge_> both 13:53 < bridge_> both don't match 13:53 < bridge_> (you should ignore md5, probably, and only use sha256) 13:56 < bridge_> it probably just didn't got updated: 13:56 < bridge_> ```shell 13:56 < bridge_> $ curl -I https://ddnet.org/downloads/sha256sums.txt 13:56 < bridge_> HTTP/2 200 13:56 < bridge_> last-modified: Sun, 09 Jul 2023 00:19:13 GMT 13:56 < bridge_> $ curl -I https://ddnet.org/downloads/DDNet-nightly-win64.zip 13:56 < bridge_> HTTP/2 200 13:56 < bridge_> last-modified: Thu, 13 Jul 2023 22:15:51 GMT 13:56 < bridge_> ``` 13:56 < bridge_> ah 13:56 < bridge_> we had full disk problems on ddnet.org yesterday 13:57 < bridge_> probably due to that 13:57 < ws-client> on 9th july was last release 13:57 < ws-client> maybe they were never updated in first place 13:57 < bridge_> ah 13:57 < bridge_> maybe 13:58 < ws-client> we dont offer any download besides https do we? so they are not that useful anyway 13:58 < ws-client> if your https isnt secure, then these keys probs wont help xd 14:03 < bridge_> https://godbolt.org/z/ba7doaTn8 14:04 < bridge_> look at this 14:04 < bridge_> auto simd 14:04 < bridge_> epic 14:04 < bridge_> It would be useful if one of us would sign the checksums file actually 14:16 < bridge_> @ryozuki why 112? 14:16 < bridge_> https://www.reddit.com/r/rust/comments/14yvlc9/n_times_faster_than_c_where_n_128/ 14:16 < bridge_> idk 14:16 < bridge_> i found it here 14:16 < bridge_> in comments 14:29 < bridge_> apparently unity can glitch when you delete something and decided it want to delete a parent folder instead 14:30 < bridge_> my day is ruined 14:30 < bridge_> my dog ate my unity project 14:30 < bridge_> literally 14:31 < bridge_> or i have schizophrenia and just thought i worked the entire day 14:39 < bridge_> also seems to work with 256 14:40 < bridge_> no git? 14:40 < bridge_> git solves that 14:40 < bridge_> small commits 14:40 < bridge_> rebase when done 14:42 < bridge_> hello its friday 14:42 < bridge_> and 14:42 < bridge_> https://github.com/ddnet/ddnet/issues/6843 14:42 < bridge_> rust would have prevented this 14:42 < bridge_> have a good day 14:42 < bridge_> was about to say 14:42 < bridge_> rly? xd 14:43 < bridge_> not this issue, but i wanted to remind its friday 14:43 < bridge_> it's also 14th of july 14:43 < bridge_> french national day 14:43 < bridge_> congratz 14:43 < bridge_> on whathever this means for u a french 14:44 < bridge_> maybe ill do french fries today 14:44 < bridge_> :trollet: 14:44 < bridge_> officially, it's french federation day, but lots of people thinks more about Bastille take over 14:44 < bridge_> > Bastille Day is the common name given in English-speaking countries to the national day of France, which is celebrated on 14 July each year. 14:45 < bridge_> which is officially wrong 14:46 < bridge_> I don't think anything in that sentence is wrong πŸ˜„ 14:47 < bridge_> ```rust 14:47 < bridge_> #[no_mangle] 14:47 < bridge_> pub unsafe extern "C" fn cairo_native__dict_get( 14:47 < bridge_> map: *mut std::ffi::c_void, 14:47 < bridge_> key: &[u8; 32], 14:47 < bridge_> ) -> *mut std::ffi::c_void { 14:47 < bridge_> let ptr = map.cast::>>(); 14:47 < bridge_> 14:47 < bridge_> if let Some(v) = (*ptr).get(key) { 14:47 < bridge_> v.as_ptr() 14:47 < bridge_> } else { 14:47 < bridge_> std::ptr::null_mut() 14:47 < bridge_> } 14:47 < bridge_> } 14:47 < bridge_> ``` 14:47 < bridge_> its safe if i save a ptr to a hashmap outside rust and pass it to extern c rust functions to use its functionality? 14:47 < bridge_> ```rust 14:47 < bridge_> #[no_mangle] 14:47 < bridge_> pub unsafe extern "C" fn dict_get( 14:47 < bridge_> map: *mut std::ffi::c_void, 14:47 < bridge_> key: &[u8; 32], 14:47 < bridge_> ) -> *mut std::ffi::c_void { 14:47 < bridge_> let ptr = map.cast::>>(); 14:47 < bridge_> 14:47 < bridge_> if let Some(v) = (*ptr).get(key) { 14:47 < bridge_> v.as_ptr() 14:47 < bridge_> } else { 14:47 < bridge_> std::ptr::null_mut() 14:47 < bridge_> } 14:47 < bridge_> } 14:47 < bridge_> ``` 14:47 < bridge_> its safe if i save a ptr to a hashmap outside rust and pass it to extern c rust functions to use its functionality? 14:47 < bridge_> :justatest: 14:48 < bridge_> yes 14:48 < bridge_> what are you doing? 14:48 < bridge_> @murpi maybe there should be a "bug" button that redirects to the bug channel, if such thing is possible 14:48 < bridge_> better than handle those stuff private πŸ˜„ 14:48 < bridge_> bad stuff 14:48 < bridge_> Well, #welcome specifically says: 14:48 < bridge_> 14:48 < bridge_> Other (for miscellaneous issues) 14:48 < bridge_> Note: No technical support. 14:49 < bridge_> add a bug report button xd 14:49 < bridge_> and I had nothing else to do, so yeah 14:49 < bridge_> and the bot sends a #bugs msg 14:49 < bridge_> wdym by this 14:49 < bridge_> btw its mildly triggering 14:49 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129394307175039036/image.png 14:49 < bridge_> but the icon on linux looks shiet 14:50 < bridge_> means im currently im bed, doing literally nothing so I might as well answer the guys question 14:50 < bridge_> ^^ 14:50 < bridge_> can probablyβ„’ be fixed by installing the right font 14:51 < bridge_> u know which? 14:51 < bridge_> i have windows fonts installed iirc 14:53 < bridge_> he kinda cheats though, input string is not supposed to be only s and p 14:53 < bridge_> i dont want to code a hashmap in mlir again so we have like part of a rust runtime in it 14:53 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129395299715141784/image.png 14:53 < bridge_> looks nice 14:53 < bridge_> send font 14:53 < bridge_> ah nice 14:53 < bridge_> win7 discord app 14:53 < bridge_> no. some emoji font 14:54 < bridge_> didnt u say when u finished paper u would come to linux 14:54 < bridge_> uh, no 14:54 < bridge_> i gotta upgrade my ubuntu 18 though 14:56 < bridge_> hello, past is calling, they want their chairn back 14:56 < bridge_> xd 14:57 < bridge_> <_voxeldoesart> im probably gonna get linux mint if anything when i DO get a linux 14:57 < bridge_> try it in a vm 14:57 < bridge_> can u use qemu in windows? 14:57 < bridge_> <_voxeldoesart> idk 14:57 < bridge_> qemu is so good 14:57 < bridge_> <_voxeldoesart> im mobile i cant check 14:57 < bridge_> WSL 14:57 < bridge_> I usually use virtualbox 14:58 < bridge_> https://www.qemu.org/download/#windows 14:58 < bridge_> exists for windows 14:58 < bridge_> i always want to try some embedded chips and stuff with rust 14:58 < bridge_> but im unoriginal 14:58 < bridge_> idk what to do 14:58 < bridge_> i have a stm32 iirc 14:58 < bridge_> do vms already support OpenglOnDirect12 14:58 < bridge_> how do you program it? 14:59 < bridge_> ST IDE is garbage built on garbage eclipse.... 14:59 < bridge_> i have a stm32f3 and a stm32g491 14:59 < bridge_> no ides 14:59 < bridge_> @_voxeldoesart try native, else u dont feel the linux perf boost 14:59 < bridge_> 14:59 < bridge_> vms are slow af and gpu drivers are always bad xd 14:59 < bridge_> https://medium.com/digitalfrontiers/rust-on-a-stm32-microcontroller-90fac16f6342 15:00 < bridge_> u'll get a wrnog image burnt into your head 15:00 < bridge_> back in my days, virtualbox had not gpu driver available 15:00 < bridge_> now it has 15:00 < bridge_> if u have a second gpu 15:00 < bridge_> u can also do passthrough 15:00 < bridge_> native perf right 15:00 < bridge_> @ryozuki https://doc.rust-lang.org/rustc/platform-support/wasm64-unknown-unknown.html 15:00 < bridge_> 15:00 < bridge_> pls make it happen 15:00 < bridge_> what about this 15:00 < bridge_> this is the best target: https://doc.rust-lang.org/rustc/platform-support/x86_64-unknown-none.html 15:00 < bridge_> passthrough is such a godsent 15:01 < bridge_> wasm with 64 -bit memory model 15:01 < bridge_> Freestanding/bare-metal x86-64 binaries in ELF format: firmware, kernels, etc. 15:01 < bridge_> is it 32 rn? 15:01 < bridge_> yes 15:01 < bridge_> f 15:01 < bridge_> why do we need more than 4gb of ram? :p 15:01 < bridge_> for wasm 15:01 < bridge_> to run wasm games for example 15:01 < bridge_> thats not the point 15:01 < bridge_> usize is 32bit too 15:01 < bridge_> why is that a problem? 15:02 < bridge_> easier to read linear memory if memory has the same sizes xd 15:02 < bridge_> @chairn do u know a microprocessor with lot of docs? 15:02 < bridge_> i know espresso does a lot of software 15:02 < bridge_> was it the name 15:03 < bridge_> https://github.com/esp-rs 15:03 < bridge_> espressif 15:03 < bridge_> risc-v is quite well documented, but real chips unfortunately are not... 15:04 < bridge_> Alpha architecture used to be a standard in experiments during 2000's 15:04 < bridge_> you can try Atmel chips that are used by arduino 15:04 < bridge_> https://docs.rust-embedded.org/book/intro/index.html 15:05 < bridge_> how can i summon a tee with purpose in my server 15:05 < bridge_> there are also softcore such as picoblaze for FPGA only 15:06 < bridge_> "Connect dummy" 15:06 < bridge_> in esc menu 15:06 < bridge_> i mean i want to write a npc 15:07 < bridge_> maybe u should first play around with server code 15:07 < bridge_> this is a very specific question 15:09 < bridge_> https://en.wikipedia.org/wiki/Micromouse 15:09 < bridge_> if i lived in my own house i would def make it smart 15:09 < bridge_> with rust 15:09 < bridge_> i live with parents still so its a bother 15:10 < bridge_> make it smart anyway :p 15:10 < bridge_> I actually don't like the word 'smart' πŸ˜„ 15:10 < bridge_> xd 15:10 < bridge_> ye but idk how to convey the meaning 15:10 < bridge_> actually i have a aquarium 15:11 < bridge_> i made it "smart" with a simple timed switch 15:11 < bridge_> it just turns on and off lights 15:11 < bridge_> wdym "make it smart" ? 15:11 < bridge_> xdd 15:11 < bridge_> thats already not smart xd 15:11 < bridge_> @chairn automate shit 15:11 < bridge_> for example 15:11 < bridge_> i don't get the relation with the post you replied to 15:11 < bridge_> i think here u pay electricity prices depending on hour 15:11 < bridge_> when usage is low u pay less 15:11 < bridge_> so making laundry at late night is cheaper 15:11 < bridge_> iirc 15:11 < bridge_> no relation sry 15:12 < bridge_> im just dum 15:12 < bridge_> don't you have a room ? 15:12 < bridge_> its quite small 15:12 < bridge_> and don't you earn 3k€ ? 15:12 < bridge_> ryo already leaked his room 15:12 < bridge_> 2k€ 15:12 < bridge_> really? 15:12 < bridge_> but ye 15:12 < bridge_> im saving 15:12 < bridge_> to go 15:12 < bridge_> i ahven't seen it 15:12 < bridge_> i'm still waiting for fokkonauts reveal 😬 15:13 < bridge_> @chairn 15:13 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129400248104652810/IMG_20230518_142723.png 15:13 < bridge_> this was some time ago 15:13 < bridge_> most of my hardware kek 15:13 < bridge_> that's no room :D, that's just desktop 15:13 < bridge_> that's no room πŸ˜„ , that's just desktop 15:13 < bridge_> true 15:13 < bridge_> well the bed is behind 15:13 < bridge_> but u see its very small 15:13 < bridge_> and a small aquarium 15:13 < bridge_> actually, desktops 15:13 < bridge_> thats it 15:14 < bridge_> uh no? there's no wall on right apparently, so could be huge 15:14 < bridge_> there is wall bru 15:14 < bridge_> i mean, wall on left is going backward while wall on right is going right, so we can't estimate the room area 15:15 < bridge_> its more or less same 15:15 < bridge_> the room is just weird 15:15 < bridge_> @chairn when do u leak 15:15 < bridge_> never i guess 15:15 < bridge_> i just have one laptop, not really interesting 15:15 < bridge_> inb4 30 monsters 15:15 < bridge_> in desk 15:15 < bridge_> pee bottle 15:15 < bridge_> i want to see your toilet paper reserves 15:15 < bridge_> :trollet: 15:16 < bridge_> sorry, the bear is out, he took all the toilet paper with him 15:16 < bridge_> poor bear 15:17 < bridge_> @jupeyy_keks r u working rn 15:17 < bridge_> @chairn since ur a teacher, do u have holidays rn? 15:17 < bridge_> well in spain there is no school rn 15:17 < bridge_> no, you? 15:17 < bridge_> im working 15:17 < bridge_> from home 15:18 < bridge_> i see that 15:18 < bridge_> not yet, im also a researcher you know 15:18 < bridge_> 😬 15:18 < bridge_> 😬😬 15:18 < bridge_> but today is public holliday 15:18 < bridge_> due to national day 15:18 < bridge_> how is research going 15:18 < bridge_> bad πŸ˜„ 15:18 < bridge_> 😬 15:18 < bridge_> i cant reproduce fault injection from ARM to RISC-V 15:18 < bridge_> whats fault injection 15:18 < bridge_> https://www.reddit.com/r/technology/comments/14yprx3/its_official_smartphones_will_need_to_have/ 15:18 < bridge_> almost feels like we're going back to 2000, good old time 15:19 < bridge_> like a x86 double fault? 15:19 < bridge_> physically faulting the hardware to disturb program execution and potentially retrieve secret data or gain execution with a combination of software attack 15:19 < bridge_> ohh 15:19 < bridge_> in my case, i use clock glitch injection 15:20 < bridge_> i.e. i can create 2 clock cycles within the duration of a normal clock cycle leading to some data path being in "undetermined" state 15:20 < bridge_> interesting 15:39 < bridge_> 2027 is very very lax on the regulators side, but thank god finally 15:40 < bridge_> This sort of hardware glitching has always fascinated me, you can get such bizarre behaviour 15:53 < bridge_> is the eu the only thing doing consumer-friendly laws recently? 15:53 < bridge_> At least I haven't heard anyone else trying to regulate these tech behemoths at all 16:18 < bridge_> um, writing to a mut global is unsafe? 16:19 < bridge_> Globals are evil 16:20 < bridge_> https://www.forrestthewoods.com/blog/global-variables-are-evil-and-unsafe/ 16:20 < bridge_> xDD 16:20 < bridge_> And passing some obviously global context variable around and pretending it's not global isn't evil 16:20 < bridge_> ```cpp 16:20 < bridge_> unsafe_and_evil { 16:20 < bridge_> int g_evil = 0; 16:20 < bridge_> } 16:20 < bridge_> 16:21 < bridge_> void IncrementGlobal(int v) { 16:21 < bridge_> unsafe_and_evil { 16:21 < bridge_> g_evil += v; 16:21 < bridge_> } 16:21 < bridge_> } 16:21 < bridge_> ``` 16:21 < bridge_> I swear computer science people have some sort of brainrot 16:21 < bridge_> there is no global context πŸ˜‰ 16:21 < bridge_> True king 16:21 < bridge_> global `mut`s are unsafe because you can obtain multiple `mut` references 16:21 < bridge_> you can still have mutable (non-`mut`) global state 16:21 < bridge_> what are you trying to do? @learath2 16:22 < bridge_> I want a context variable, that'll get initialized late and can change 16:23 < bridge_> A singleton 16:23 < bridge_> not a lot of context. `Mutex>` would probably work? 16:23 < bridge_> If I pass it around to every function that needs the state 16:24 < bridge_> no, in a `static` 16:24 < bridge_> (not `static mut`) 16:24 < bridge_> i guess he meant holding the lock everywhere? 16:25 < bridge_> dunno what u doing learath, but if its not some random project go the hard way and use no globals 16:25 < bridge_> rust's stdlib also uses globals πŸ˜‰ 16:25 < bridge_> sometimes they're useful 16:26 < bridge_> Can you even mutate the inside of a Mutex? atleast it won't allow me 16:26 < bridge_> lock 16:26 < bridge_> yes 16:26 < bridge_> `.lock().unwrap()` 16:26 < bridge_> But why? This is why I hate "rules" like this. Some weirdo doesn't like them and writes some article that everyone swoons over for 3 decades. What actually is wrong with a singleton actually being global? 16:27 < bridge_> Yes, they are usually not good, but a singleton is the perfect place for them 16:27 < bridge_> bad design, i blame the OS tho, they are not designed for this yet xd 16:27 < bridge_> the only globals that must exists is a minimal set of core functionality the OS must implement xd 16:28 < bridge_> i mean heinrich already said it 16:28 < bridge_> multiple mutable references 16:28 < bridge_> and locks can have deadlocks 16:28 < bridge_> That's a rust thing, definitely not the reason people hate globals 16:29 < bridge_> Locks can always have deadlocks, you don't hate globals you hate locks then 16:29 < bridge_> then use unsafe? 16:29 < bridge_> in languages other than rust, globals can easily cause dataraces 16:29 < bridge_> you can use globals in rust without using `unsafe` 16:29 < bridge_> it sounds like he wants to use globals in unsafe matters 16:30 < bridge_> @learath2 does the `static DATA: Mutex> = Mutex::new(None);` work for your use-case? 16:30 < bridge_> No, you just gathered that from the fact that you don't like globals and anyone that uses them must be doing something wrong in your mind 16:30 < bridge_> the problem is, sure u can say if u only use a global and thought about it 1 week, then they might be nice to share some stuff 16:30 < bridge_> 16:30 < bridge_> but the truth is they will be used like in ddnet source code 16:30 < bridge_> completely random 16:31 < bridge_> I think there are valid use-cases for globals 16:31 < bridge_> if u dont do std::exit in a cpp shared library they stay active 16:31 < bridge_> u have random broken states everywhere 16:31 < bridge_> Let me think about it for a second. I can't argue against deep rooted ideology and code at the same time 16:31 < bridge_> I don't understand this 16:31 < bridge_> when c++ exits main, it calls all the destructors, no? 16:32 < bridge_> what main? 16:32 < bridge_> `int main() {}` 16:32 < bridge_> whne the program exits 16:32 < bridge_> the whole program 16:32 < bridge_> well with shared libraries i meant dynamic libraries 16:33 < bridge_> I don't understand it yet. even destructors in shared librariese hsould be calld when the main process exits 16:33 < bridge_> u can unload a shared library without destroying its state, as android does it 16:33 < bridge_> I mean that's kinda on android though 16:33 < bridge_> it doesn't support C++ apparently 16:34 < bridge_> then you could say "globals are evil because android doesn't support c++ properly" 16:34 < bridge_> thats not an android bug 16:34 < bridge_> why is it not? 16:34 < bridge_> I think shared libraries call destructors on linux 16:34 < bridge_> when you unload them 16:35 < bridge_> there's a special link section for this, I think 16:35 < bridge_> @learath2 pls give me cpp spec that guarantees the above 16:35 < bridge_> can confirm that the esp32 rust support is really damn good. call it bloated microcontroller programming but I enjoyed having most of the rust std library available ^^. I coded some infrastructure in rust on the microcontroller and didn't really face many problems. https://esp-rs.github.io/book/ 16:35 < bridge_> shared libraries don't exist in the cocntext of the C++ standard 16:35 < bridge_> it is in rust cuz its not thread safe 16:35 < bridge_> so you agree that this is not an android bug 16:36 < bridge_> no, I do not 16:36 < bridge_> a compiler failing to compile something also adheres to the C++ standard 16:36 < bridge_> nice! 16:36 < bridge_> I'd still call it a bug in the C++ compler 16:36 < bridge_> failing to compile any source file at all 16:37 < bridge_> check out once_cell and its lazycell variant 16:37 < bridge_> https://docs.rs/once_cell/latest/once_cell/sync/struct.Lazy.html 16:37 < bridge_> what I want to say: having a functioning c++ compiler goes beyond adhering to the standard) 16:37 < bridge_> what I want to say: having a functioning c++ compiler goes beyond adhering to the standard 16:37 < bridge_> I was thinking `OnceCell` but I need to mutate it more than once 16:37 < bridge_> well then mutex 16:38 < bridge_> does thread local work here if ur not doing mt? 16:38 < bridge_> ```rust 16:38 < bridge_> use std::cell::Cell; 16:38 < bridge_> thread_local! { 16:38 < bridge_> pub static FOO: Cell = const { Cell::new(1) }; 16:38 < bridge_> } 16:38 < bridge_> ``` 16:38 < bridge_> I'm doing mt 16:38 < bridge_> they just added const support for it 16:38 < bridge_> ah then mutex ye 16:39 < bridge_> @learath2 well check RwLock if u read more than write 16:39 < bridge_> good idea 16:39 < bridge_> https://github.com/usagi/rust-memory-container-cs 16:39 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129421899575865484/rust-memory-container-cs-3840x2160-dark-back.png 16:39 < bridge_> this is a rly good pic imho 16:39 < bridge_> i usually follow this 16:40 < bridge_> anime pfp obviously 16:41 < bridge_> i like how deen checks this channeel from time to time 16:41 < bridge_> and possible the only thing he sees 16:41 < bridge_> is rust 16:42 < bridge_> as intentended 16:42 < bridge_> cant write 16:42 < bridge_> as intended 16:44 < bridge_> @jupeyy_keks when bible? 16:45 < bridge_> This works with `std::sync::Mutex` but not with `tokio::sync::Mutex`, I'm perhaps just misunderstanding something, but it seems tokios mutexguard doesn't implement DerefMut for some reason 16:45 < bridge_> I think I'll just pass around an `Arc` like I did last time, I can't believe you actually made me feel bad about using a global 16:46 < bridge_> u can use sync mutex in tokio 16:46 < bridge_> Well `Arc>` that is 16:46 < bridge_> `tokio`'s `MutexGuard` seems to impl `DerefMut` 16:47 < bridge_> btw i think in tokio u should spawn blocking calls in a special way 16:47 < bridge_> https://docs.rs/tokio/latest/tokio/task/fn.spawn_blocking.html 16:48 < bridge_> https://docs.rs/tokio/latest/tokio/sync/struct.RwLock.html 16:48 < bridge_> Ah, they weren't returning a Result like the std one, yeah I figured it out 16:48 < bridge_> wdym it doesnt impl derefmut 16:48 < bridge_> u have to do .lock().await iirc 16:48 < bridge_> Yeah 16:48 < bridge_> or `blocking_lock()` 16:48 < bridge_> and omit the unwrap 16:49 < bridge_> yeah they dont handle poisoning i think 16:49 < bridge_> its a debate in rust itself 16:49 < bridge_> Or maybe I should think of making the context actually immutable, I didn't end up needing it last time and removed it, that's even safer 16:50 < bridge_> Anyway, thanks, I hadn't thought of a Mutex 16:50 < bridge_> > Mutex poisons not for true safety in the sense that Rust normally cares about. It poisons as a safety-guard against blindly using the data that comes out of a Mutex that has witnessed a panic while locked. The data in such a Mutex was likely in the middle of being modified, and as such may be in an inconsistent or incomplete state. It is important to note that one cannot violate memory safety with such a type if it is correctly written. After al 16:50 < bridge_> > 16:50 < bridge_> > However if the Mutex contained, say, a BinaryHeap that does not actually have the heap property, it's unlikely that any code that uses it will do what the author intended. As such, the program should not proceed normally. Still, if you're double-plus-sure that you can do something with the value, the Mutex exposes a method to get the lock anyway. It is safe, after all. Just maybe nonsense. 16:50 < bridge_> https://doc.rust-lang.org/nomicon/poisoning.html 16:51 < bridge_> Why is there a debate? I think it's a good idea, no? Such data is rarely ever useful 16:51 < bridge_> cuz its not unsafe 16:51 < bridge_> idk 16:51 < bridge_> i just said it there is debate 16:51 < bridge_> it adds lot of unwraps xd 16:51 < bridge_> @learath2 u sure u dont want rwlock? 16:51 < bridge_> I guess if you know for sure what panic'd and what it touches is limited to something that can just be reinitialized, maybe it's sane to keep using 16:52 < bridge_> multiple readers 16:52 < bridge_> I think I'll just get rid of the mutability by getting more out of the context, so I can just have a `OnceCell` 16:52 < bridge_> you probably want to have `OnceLock` instead: https://doc.rust-lang.org/std/sync/struct.OnceLock.html 16:53 < bridge_> `OnceCell` (stdlib) doesn't work with threads 16:53 < bridge_> Ah, yes that one 16:55 < bridge_> btw i don't directly agree with this. It depends on the OS design 16:55 < bridge_> 16:55 < bridge_> rn you have an OS that does everything for you. it deallocates the processes you allocated etc. 16:55 < bridge_> 16:55 < bridge_> I bet in future there are operating systems that are so minimal that u rather link against an OS sdk that having a kernel space and user space 16:55 < bridge_> 16:55 < bridge_> with a minimal set of data that can be considered a global state 16:55 < bridge_> 16:55 < bridge_> a global variable would mean there is a "known" location(be it a memory address or a global function) that initializes it or accesses it in some kind. 16:55 < bridge_> So you increase amount of "OS SDK" again. 16:55 < bridge_> 16:55 < bridge_> All code would be truely position independent with such a concept 16:55 < bridge_> 16:55 < bridge_> Current global variables are scoped bcs they are within a program that works with virtual memory addresses 16:55 < bridge_> 16:55 < bridge_> So yeah not future proof. Thanks for agreeing with me humans in 2000 years 16:57 < bridge_> btw i don't directly agree with this. It depends on the OS design 16:57 < bridge_> 16:57 < bridge_> rn you have an OS that does everything for you. it deallocates the processes you allocated etc. 16:57 < bridge_> 16:57 < bridge_> I bet in future there are operating systems that are so minimal that u rather link against an OS sdk than having a kernel space and user space 16:57 < bridge_> 16:57 < bridge_> with a minimal set of data that can be considered a global state 16:57 < bridge_> 16:57 < bridge_> a global variable would mean there is a "known" location(be it a memory address or a global function) that initializes it or accesses it in some kind. 16:57 < bridge_> So you increase amount of "OS SDK" again. 16:57 < bridge_> 16:57 < bridge_> All code would be truely position independent with such a concept 16:57 < bridge_> 16:57 < bridge_> Current global variables are scoped bcs they are within a program that works with virtual memory addresses 16:57 < bridge_> 16:57 < bridge_> So yeah not future proof. Thanks for agreeing with me humans in 2000 years 16:57 < bridge_> :gigachad: 16:57 < bridge_> Shared lib destructors get called? As far as C++ standard is concerned shared libraries aren't even a thing 16:58 < bridge_> yeah yeah was more a trick question 16:58 < bridge_> even dlopen allows "saving" global variables 16:58 < bridge_> e.g. not deallocating them 16:59 < bridge_> "RTLD_NODELETE (since glibc 2.2) 16:59 < bridge_> Do not unload the library during dlclose(). Consequently, the library's static variables are not reinitialized if the library is reloaded with dlopen() at a later time. This flag is not specified in POSIX.1-2001." 16:59 < bridge_> xd 16:59 < bridge_> How is my bots context not part of it's minimal set of global state? 17:00 < bridge_> u bloat the global space with a global state 17:00 < bridge_> How is passing every function the exact same address any different from a global? 17:00 < bridge_> why should it have the same address? 17:01 < bridge_> Barring memory mapping shenanigans, I allocate it once, it'll be passed to every function, it'll have the same address 17:02 < bridge_> It has to be Pin with multiple things reading it aswell so no rust moving shenanigans either 17:02 < bridge_> In C++ even less, the compiler won't move things around 17:03 < bridge_> well depends on if u want this 17:05 < bridge_> If the argument was that any such piece of data is bad I'd have an easier time following it, but passing the same address to everything vs the compiler placing it compile time and providing the address really doesn't seem any different to me 17:05 < bridge_> anyway 17:05 < bridge_> what i want to ultimately say is it destroys modularity 17:05 < bridge_> (You know why globals are actually hated? They don't exist in math) 17:05 < bridge_> xDDDDDDDDDDD 17:06 < bridge_> ok touche 17:06 < bridge_> but yeah u also pass the address of all functions in your whole programm 😬 17:06 < bridge_> But why aren't modules allowed to have local globals? 17:06 < bridge_> save me immortal humans 2000 years from now 17:06 < bridge_> i want to see such an OS design in action 17:07 < bridge_> Things have to have some state, even Haskell people have to pass around some state everywhere 17:07 < bridge_> mhh local globals xdd 17:07 < bridge_> 17:07 < bridge_> i mean i know what u mean, but isnt the module itself then a state 17:07 < bridge_> it's kind of your state object xd 17:08 < bridge_> Local global does sound like a bit like an oxymoron, but what you are saying makes it feel like my global state is leaking all the way to the kernel 17:08 < bridge_> It's not it's just "global" within my program 17:09 < bridge_> The only truly global state is the kernel 17:09 < bridge_> yeah but that also means the kernel can be extremly small 17:09 < bridge_> 17:09 < bridge_> bcs the program does not need to know about any "kernel functions" except very very few 17:09 < bridge_> registers :p 17:14 < bridge_> anyway @learath2 isnt rust already cool bcs if u dont use refcell and Rc and Arc and Mutex u basically never face hard to debug memory/data race behavior xd 17:14 < bridge_> 17:14 < bridge_> at least for a single threaded program i find this pretty cool tbh 17:14 < bridge_> 17:14 < bridge_> it wont scale to real world ofc, but who knows what programming languages there will be some day πŸ˜„ 17:16 < bridge_> Even with `Arc` and `Mutex` there won't be any memory/data race issue 17:16 < bridge_> Even with multiple threads you are pretty safe in rust 17:16 < bridge_> race conditions then* 17:16 < bridge_> It indeed is pretty impressive, I just find it's compiler way too "endearing" at times 17:17 < bridge_> its* (?) 17:17 < bridge_> I keep having trouble with this recently, when you have possession, do you use `'s`? 17:17 < bridge_> and arc and rc can leak memory 17:18 < bridge_> not for its 17:18 < bridge_> it is 17:18 < bridge_> it's 17:18 < bridge_> it's = it is 17:18 < bridge_> its = belonging to it 17:19 < bridge_> but it's heinrich's car 17:19 < bridge_> xd 17:19 < bridge_> heinrich's a car 17:19 < bridge_> xd 17:20 < bridge_> Yeah, this is the one that confuses me 17:20 < bridge_> I guess it's just used to separate the `s` from the noun there and not as a contraction 17:21 < bridge_> `'` are bloat 😬 17:21 < bridge_> we just lazy 17:32 < bridge_> u are safe with multiple threads, in the sense rust defines safe 17:32 < bridge_> u can leak, deadlocks, and race conditions (but not data races (if i didnt get this the other way i always forget)) 17:33 < bridge_> and its math 17:33 < bridge_> :justatest: 17:33 < bridge_> it's = it is 17:34 < bridge_> @ryozuki does the heinrich move xDDD 17:34 < bridge_> no, ' are for lifetimes 17:34 < bridge_> :gigachad: 17:34 < bridge_> 😬 17:34 < bridge_> 😬 17:34 < bridge_> #define 😬 ' 17:34 < bridge_> would be pog 17:34 < bridge_> 😬a 17:34 < bridge_> fn <😬 a> 17:34 < bridge_> xD 17:35 < bridge_> ```rust 17:35 < bridge_> fn<😬a>(hello: 😬a str) -> &😬a str; 17:35 < bridge_> ``` 17:35 < bridge_> thats why rust needed proc macros 17:35 < bridge_> 😬 17:37 < bridge_> <_voxeldoesart> why the a 17:37 < bridge_> u can also name it b 17:38 < bridge_> <_voxeldoesart> ok so 😬a is just a name 17:38 < bridge_> error: identifiers cannot contain emoji: 17:38 < bridge_> <_voxeldoesart> grimaceA 17:38 < bridge_> <_voxeldoesart> dude im so funny quirky! grimace? like the Grimace Sh- 17:40 < bridge_> if u use doc syntax, e.g. 17:40 < bridge_> 17:40 < bridge_> /** 17:40 < bridge_> * you can do any syntax you want with rust, because the string here is preserved 17:40 < bridge_> */ 17:40 < bridge_> u can then parse the inner string 17:40 < bridge_> `&'a` 17:43 < bridge_> chillerdragon: when bash to rust proc macro? 17:43 < bridge_> then i can use bash inside rust code 17:49 < bridge_> @murpi #join-leave bot still needs the new channel id xdd 17:49 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1129439521025564702/image.png 17:50 < bridge_> ah ok 17:52 < bridge_> a bit silly to keep creating pull requests to a repository that no one manages 17:55 < bridge_> who owns it? 17:56 < bridge_> what repo 17:56 < bridge_> what did i miss 17:58 < bridge_> ddnet-discordbot 18:00 < bridge_> lmao so many open prs 18:00 < bridge_> why dont u just merge @murpi 18:00 < bridge_> i also went full ego on my bot xdd 18:00 < bridge_> easier for small repos 18:01 < bridge_> if nobody cares to review just merge 18:01 < bridge_> tbh I'd just put all my changes into one PR 18:10 < bridge_> oh 18:10 < bridge_> i dont have write access to it 18:25 < ChillerDragon> @jopsti use this crate https://github.com/matklad/xshell 18:30 < bridge_> but i need to distract you xd 18:31 < ChillerDragon> hrhrhr 18:31 < ChillerDragon> nice try 18:33 < ChillerDragon> https://zillyhuhn.com/tmp/12len.pcap @heinrich5991 @davide55 here u go 238.0.0.2 is fokkos server 238.0.0.1 is me. My client was connecting to the server being filtered by the fw. And the server was still sending snaps from a prior connection of mine. 19:17 < ChillerDragon> can i stop srv running in da client while in game? 19:17 < ChillerDragon> pkill ddnetserver i geuss 19:28 < bridge_> There is a stop server vote by default but ig you don't use a default server 19:28 < bridge_> And rcon also exist 19:31 < bridge_> And rcon shutdown also exists 19:32 < ChillerDragon> im ingame on other srv xd 19:34 < bridge_> Ahh I get it now 19:34 < bridge_> ChillerDragon: did you use an old version of the dissector at the time? 19:34 < bridge_> it's not showing me problems from the screenshot yesterday 20:06 < bridge_> Thx 20:07 < bridge_> Seems not a really useful pcap. 20:07 < bridge_> 20:07 < bridge_> Start recording before joining the server, and wait 30-40 before stopping please 20:34 < ChillerDragon> @heinrich5991 not latest for sure 20:35 < ChillerDragon> @davide55 im not bugged anymore