00:23 <+bridge_> learath feels threatened by ai 00:23 <+bridge_> thus underestimating it 01:06 <+bridge_> I can confirm AI can read NobyC 01:30 <+bridge_> look at this wtf šŸ’€ discord.gg/ninasvid 01:31 <+bridge_> It's a coping mechanism ok? 05:52 <+bridge_> ```cpp 05:52 <+bridge_> bool Success = true; 05:52 <+bridge_> json_value *pJson = pGetServers->State() == EHttpState::DONE ? pGetServers->ResultJson() : nullptr; 05:52 <+bridge_> Success = Success && pJson; 05:53 <+bridge_> Success = Success && !Parse(pJson, &m_vServers); 05:53 <+bridge_> json_value_free(pJson); 05:53 <+bridge_> if(!Success) 05:53 <+bridge_> ``` 05:53 <+bridge_> It was enough to read a couple of lines to understand that the server browser code is very funny :) 06:04 <+bridge_> If anyone is interested in the code, you can take a look at this [commit](https://github.com/FoxTempFork/ddnet/commit/3e02885cec08079bf8fe69412b3acd63b41d8821) 06:35 <+bridge_> <._.spook._.> I have a database set up for my server, i have votes to change map difficulties, and points set up, how do i make random_map and random_unfinished_map work? it shows "*** No maps found on this server!" 06:35 <+bridge_> <._.spook._.> I have a database set up for my server, i have votes to change map difficulties, and points set up, how do i make random_map and random_unfinished_map work? it shows "No maps found on this server!" 07:19 <+bridge_> Hey, Is there a download link for all the current testing maps? 08:01 <+bridge_> actually there is, uhm @patiga šŸ¤” 08:10 <+bridge_> what is `https://ddnet.org/testmaps/`, I just uploaded a map, is this the previewer open for everyone? 08:11 <+bridge_> you can click through the json and download them one by one: https://twdata.pati.ga/maplists/ddnet-testing.json 08:11 <+bridge_> or you make a small script 08:32 <+bridge_> @heinrich5991 08:32 <+bridge_> 08:32 <+bridge_> https://github.com/ddnet/ddnet/issues/12075#issuecomment-4311047296 08:32 <+bridge_> 08:32 <+bridge_> 08:32 <+bridge_> I did some work on the code using LLVM, maybe you'll find it useful :) 08:32 <+bridge_> https://github.com/FoxTempFork/ddnet/commit/3b310bc0303934ec0e94b54d4a11cc9eb4910bdd 08:32 <+bridge_> @heinrich5991 08:32 <+bridge_> 08:32 <+bridge_> https://github.com/ddnet/ddnet/issues/12075#issuecomment-4311047296 08:32 <+bridge_> 08:32 <+bridge_> I did some work on the code using LLVM, maybe you'll find it useful :) 08:32 <+bridge_> https://github.com/FoxTempFork/ddnet/commit/3b310bc0303934ec0e94b54d4a11cc9eb4910bdd 08:32 <+bridge_> @heinrich5991 08:32 <+bridge_> 08:32 <+bridge_> https://github.com/ddnet/ddnet/issues/12075#issuecomment-4311047296 08:32 <+bridge_> 08:32 <+bridge_> I did some work on the code using LLVM, maybe you'll find it useful :) 08:32 <+bridge_> https://github.com/FoxTempFork/ddnet/commit/3b310bc0303934ec0e94b54d4a11cc9eb4910bdd 08:32 <+bridge_> @heinrich5991 08:32 <+bridge_> 08:32 <+bridge_> https://github.com/ddnet/ddnet/issues/12075#issuecomment-4311047296 08:32 <+bridge_> 08:32 <+bridge_> I did some work on the code using LLVM, maybe you'll find it useful :) 08:32 <+bridge_> https://github.com/FoxTempFork/ddnet/commit/3b310bc0303934ec0e94b54d4a11cc9eb4910bdd 08:32 <+bridge_> @heinrich5991 08:32 <+bridge_> 08:32 <+bridge_> https://github.com/ddnet/ddnet/issues/12075#issuecomment-4311047296 08:33 <+bridge_> 08:33 <+bridge_> I did some work on the code using LLVM, maybe you'll find it useful :) 08:33 <+bridge_> https://github.com/FoxTempFork/ddnet/commit/3b310bc0303934ec0e94b54d4a11cc9eb4910bdd 08:33 <+bridge_> @heinrich5991 08:33 <+bridge_> 08:33 <+bridge_> https://github.com/ddnet/ddnet/issues/12075#issuecomment-4311047296 08:33 <+bridge_> 08:33 <+bridge_> I did some work on the code using LLVM, maybe you'll find it useful :) 08:33 <+bridge_> [commit](https://github.com/FoxTempFork/ddnet/commit/3b310bc0303934ec0e94b54d4a11cc9eb4910bdd) 08:33 <+bridge_> @heinrich5991 08:33 <+bridge_> 08:33 <+bridge_> https://github.com/ddnet/ddnet/issues/12075#issuecomment-4311047296 08:33 <+bridge_> 08:33 <+bridge_> I did some work on the code using LLVM, maybe you'll find it useful :) 08:33 <+bridge_> [commit](https://github.com/FoxTempFork/ddnet/commit/3b310bc0303934ec0e94b54d4a11cc9eb4910bdd) 08:59 <+bridge_> @sollybunny when are you coming back? I miss you 09:05 <+bridge_> what do the first 4 lines mean here? 09:05 <+bridge_> ```c 09:05 <+bridge_> [workload] first 3 items (sanity check): 09:05 <+bridge_> [0] type=8 id=0 size=7 data[0..2]=-975414162,1843186657,-1589973652 09:05 <+bridge_> [1] type=12 id=1 size=6 data[0..2]=-1800938411,767405145,1590064561 09:05 <+bridge_> [2] type=11 id=2 size=4 data[0..2]=568249289,1989790960,-649391045 09:05 <+bridge_> === build snap (300 items) === 09:05 <+bridge_> iterations: 100000 09:05 <+bridge_> mean: 9.850 us 09:05 <+bridge_> median: 9.094 us 09:05 <+bridge_> p95: 15.348 us 09:05 <+bridge_> p99: 24.800 us 09:05 <+bridge_> total: 985.040 ms 09:05 <+bridge_> ``` 09:05 <+bridge_> looks like some entities šŸ¤” 09:06 <+bridge_> ty thats what i needed 09:06 <+bridge_> you should thank patiga the goat šŸ˜„ 09:07 <+bridge_> ty @patiga thats what i need 09:07 <+bridge_> u also helped, btw 09:14 <+bridge_> This benchmark script was taken from message by 0xfaulty 09:15 <+bridge_> does anyone know a good way to learn rust? Like a gamefied step by step website šŸ˜„ 09:17 <+bridge_> lol there is an official one: https://github.com/rust-lang/rustlings 09:17 <+bridge_> rust roadmaps? 09:18 <+bridge_> Like this: https://roadmap.sh/rust 09:27 <+bridge_> I think I just need the open source rust book next to my toilet, and I'll be a pro tomorrow šŸ™ˆ 09:48 <+bridge_> that's a wild one. 09:54 <+bridge_> ``` 09:54 <+bridge_> for(size_t PixelY = StartY; PixelY < Height; ++PixelY) 09:54 <+bridge_> { 09:54 <+bridge_> for(size_t PixelX = StartY; PixelX < Width; ++PixelX) 09:54 <+bridge_> { 09:54 <+bridge_> ``` 09:54 <+bridge_> 😠 09:59 <+bridge_> free heating from your cpu šŸ”„ 10:00 <+bridge_> šŸ‘€ wait a minute 10:00 <+bridge_> dunno what's going on 10:01 <+bridge_> thought there was at least one closing brace in the codeblock. 10:03 <+bridge_> bro 10:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497146035527618560/1.jpg?ex=69ec7566&is=69eb23e6&hm=009b75c8d49dc717da02f8ec8b7821e1cc8b3591a728f60159b8f31c7da7abd0& 10:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497146035930140733/2.jpg?ex=69ec7566&is=69eb23e6&hm=d09b333e6d5b49c9cd41fa07f7ae28d80a6544d4d550b2ad28d53caaba2acb94& 10:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497146036425064468/3.jpg?ex=69ec7566&is=69eb23e6&hm=0903d972515ece2995fbe2d3c68acdff8c3539c0119a324eba6c6a34685c1939& 10:03 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497146036840435815/4.jpg?ex=69ec7566&is=69eb23e6&hm=ef84f6ff55bee234f719f8bd95f52f1b2fdda314801f4bdb2225c209a420458d& 10:20 <+bridge_> this loops were just wrong in multiple ways 10:29 <+bridge_> oh my gosh 10:30 <+bridge_> I finally found that pipewire is not supported directly by Steam linux runtime. 10:31 <+bridge_> rustlings is the best yes, helped me alot 10:52 <+bridge_> rustlings is really cool, just started 10:54 <+bridge_> `let mut x: i32 = 42;` beatiful or something xD 10:54 <+bridge_> I guess rust wants to be const correct out of the box 11:35 <+bridge_> as is right 12:55 <+bridge_> nevermind it says memory leak 12:56 <+bridge_> but the memory leak is in the sound thingies huh 13:00 <+bridge_> I really don't like that the hardcodes the links for the browser... 13:13 <+bridge_> have you verified this or is it just "random thing my LLM told me"? 13:31 <+bridge_> RKN blocked ddnet, what the fuck 13:31 <+bridge_> Crazy 13:48 <+bridge_> reason? 14:19 <+bridge_> idfk 14:35 <+bridge_> who/where is RKN 14:37 <+bridge_> https://en.wikipedia.org/wiki/Roskomnadzor 14:37 <+bridge_> Roskomnadzor 14:37 <+bridge_> Yeah 14:37 <+bridge_> oh 14:38 <+bridge_> I have thought that was something idk in the ISO 3166-1 14:39 <+bridge_> (I found it using wikipedia, I typed "RKN" into the english wikipedia and picked the result that looked correct) 15:12 <+bridge_> ```console 15:12 <+bridge_> git checkout russia 15:12 <+bridge_> git reset --hard HEAD 15:12 <+bridge_> ``` 15:12 <+bridge_> I guess even if this would work ... 15:13 <+bridge_> `git reset --hard HEAD` this doesn't do anything, does it? you've just checked out a branch 15:13 <+bridge_> I wanted to remove the HEAD 15:13 <+bridge_> it's a bad joke that is not funny 15:35 <+bridge_> since when are there ads in emails from github -.- 15:35 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497229429829668874/image.png?ex=69ecc311&is=69eb7191&hm=55f36e5fa27a433af647dbef43350ad7f0270f5b16149fc8400698f436d394dd& 15:51 <+bridge_> at least it's ads for a product that they own 16:24 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497241825545687060/8411fb7a20fa1570.png?ex=69ecce9c&is=69eb7d1c&hm=2be6f3110134963d3c0664925f10db18f2659cfdc3e409018ee1fbb7e05f8cf2& 16:25 <+bridge_> who can actually master server ban 16:25 <+bridge_> is there a list of people 16:27 <+bridge_> i saw that melon 16:27 <+bridge_> yes yes let me boot up my stuff. 16:28 <+bridge_> baned 16:28 <+bridge_> banned 16:29 <+bridge_> i'm too slow :( 16:29 <+bridge_> hi too slow :( 16:29 <+bridge_> im fox 16:34 <+bridge_> *We are foxes :) 16:47 <+bridge_> @heinrich5991 I decided to look at the snapshot in libtw2... You can see why it's so slow, it's not just because of `BTreeMap`, there's a lot of `clone`... 16:47 <+bridge_> 16:47 <+bridge_> I'll send a pull request soon :) 16:47 <+bridge_> @heinrich5991 I decided to look at the `snapshot` in `libtw2`... You can see why it's so slow, it's not just because of `BTreeMap`, there's a lot of `clone`... 16:47 <+bridge_> 16:47 <+bridge_> I'll send a pull request soon :) 16:48 <+bridge_> can you show me a `clone` that is problematic? 16:50 <+bridge_> I'm saying that there's a lot of clones in general, which isn't typical for the Rust language. It's common for clones to be absent or kept to a minimum, but here I see them in the iterations... 16:50 <+bridge_> where did you get the impression that the `clone`s are problematic? 16:51 <+bridge_> I just took a look at it, and it seems all the `clone`s are `Range::::clone` 16:51 <+bridge_> which are trivially optimized out by the compiler 16:51 <+bridge_> (in src/snap.rs) 16:51 <+bridge_> (in snapshot/src/snap.rs) 16:51 <+bridge_> From experience, I can say that memory cloning slows down the program and wastes memory :\ 16:52 <+bridge_> do you write rust code? 16:52 <+bridge_> Considering that the same compiler spends 14 bytes just to remember that there is a space in the code :\ 16:53 <+bridge_> I started learning Rust before learning C++, and I have a friend who has been writing in it for over 5 years. 16:53 <+bridge_> do you understand that `Range::::clone` is a no-op? 16:54 <+bridge_> `struct Range { start: T, end: T }` 16:54 <+bridge_> `Range` is 64 bit. the compiler will never run code for the `Range::clone` function here, it will only `mov` the relevant part 16:55 <+bridge_> I can show you a godbolt link if I get enough internet connectivity ._. 16:55 <+bridge_> melon tell them 16:56 <+bridge_> I just recommend avoiding clone, I really don't like it, after all, I had to optimize quite a few files :) 16:56 <+bridge_> https://tenor.com/view/genusa-gameth-jojo-jojo%27s-bizarre-adventure-gif-14089456047922486081 16:56 <+bridge_> you're right in general, that excessive use of `clone`s are seen as bad practice - but in this case using the value directly would be the same. 16:56 <+bridge_> @heinrich5991 theyre back 16:56 <+bridge_> 159.194.210.58 16:57 <+bridge_> you're right in general, that excessive use of `clone`s are seen as bad practice - but in this case using the value directly would (practically) be the same. 16:57 <+bridge_> banned 16:57 <+bridge_> please show me that these `clone`s generate code 16:58 <+bridge_> `Range` doesn't implement `Copy`, so you have to call `.clone()` 16:58 <+bridge_> if they don't generate code, then they're free in the compiled executable 16:59 <+bridge_> https://rust.godbolt.org/z/xY7jjsrnq 17:00 <+bridge_> here, you can see that a `clone` of a `Range` generates no function call, it just moves the data around 17:03 <+bridge_> Please use `cargo clippy`, you have too many warnings in `libtw2` :) 17:03 <+bridge_> 17:03 <+bridge_> I'll have time to answer the questions later, I just want to send the PR first. 17:04 <+bridge_> I'm willing to fix useful warnings 17:04 <+bridge_> I'm not willing to fix useless warnings 17:04 <+bridge_> unfortunately, clippy has a lot of useless warnings 17:05 <+bridge_> They can be ignored with `#[allow(clippy::{type})]` :\ 17:07 <+bridge_> `#[inline] fn isize(self) -> isize { self.try_into().ok().unwrap() }` 17:07 <+bridge_> 17:07 <+bridge_> ``` 17:07 <+bridge_> warning: useless conversion to the same type: `u64` 17:07 <+bridge_> --> common/src/num/cast.rs:316:37 17:07 <+bridge_> | 17:07 <+bridge_> 316 | #[inline] fn u64(self) -> u64 { self.try_into().ok().unwrap() } 17:07 <+bridge_> | ^^^^^^^^^^^^^^^ 17:07 <+bridge_> | 17:07 <+bridge_> = help: consider removing `.try_into()` 17:07 <+bridge_> = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.94.0/index.html#useless_conversion 17:07 <+bridge_> 17:07 <+bridge_> ``` 17:07 <+bridge_> :\ 17:08 <+bridge_> looks intentional to me. 17:09 <+bridge_> its not converting, its enforcing. 17:09 <+bridge_> They usually leave a comment under this and ignore clippy :) 17:10 <+bridge_> I still don't understand why he wasn't happy with `cast` via `as` 17:11 <+bridge_> `as` != `try_into()` 17:11 <+bridge_> essentially yes) 17:11 <+bridge_> essentially yes :) 17:13 <+bridge_> And yes, it was possible to return `self` here, since it is he who returns himself :) 17:14 <+bridge_> returning self is conceptually inconsistent 17:14 <+bridge_> returning `self` is conceptually inconsistent 17:16 <+bridge_> Do you think that unnecessary actions are not is conceptually inconsistent? 17:16 <+bridge_> yes, its possible - and will be identical at runtime - but consistency is important for this, so writing it like that is good practice IMO. (makes it easier to understand too, personally) 17:17 <+bridge_> Short answer cause Iā€˜m on the run. Yes. Longn answer later 17:17 <+bridge_> being explicit on uniform patterns isn't an unnecessary action - and even then its not for you to decide that, but the author 17:17 <+bridge_> Write self, there is less work for the compiler to process this and in general it would be convenient to understand that it does not try to process itself 17:17 <+bridge_> That's true, but it looks terrible :) 17:17 <+bridge_> `less work for the compiler` ._: 17:18 <+bridge_> Short answer cause Iā€˜m on the run. Yes. Longn answer later edit: as in yes i double checked it 17:18 <+bridge_> I already said that there are 14 bytes for each thing, even a space, the compiler's optimization is poor :\ 17:19 <+bridge_> `fn u64(self) -> u64 { self }` 17:19 <+bridge_> `fn u64(self) -> u64 { self.try_into().ok().unwrap() }` 17:19 <+bridge_> 17:19 <+bridge_> compile both, check the machine code afterwards. please. 17:19 <+bridge_> Okay, I won't argue, because I'm probably wrong here, since I used the wrong words in the translation, but let's leave that aside :\ 17:22 <+bridge_> @heinrich5991 I created a [PR](https://github.com/heinrich5991/libtw2/pull/134), please take a look at it when it's convenient for you. 17:30 <+bridge_> I've already suggested converting libtw2 from `workspace` to [features](https://doc.rust-lang.org/cargo/reference/features.html), since it's one library, but in my opinion it's not a library but rather a collection of utilities :) 17:30 <+bridge_> As for [feature](https://doc.rust-lang.org/cargo/reference/features.html)s in libraries, it's much more convenient because you can just specify what you need and use it, instead of cloning the whole project :\ 17:30 <+bridge_> I've already suggested converting libtw2 from `workspace` to [features](https://doc.rust-lang.org/cargo/reference/features.html), since it's one library, but in my opinion it's not a library but rather a collection of utilities :) 17:30 <+bridge_> As for [features](https://doc.rust-lang.org/cargo/reference/features.html) in libraries, it's much more convenient because you can just specify what you need and use it, instead of cloning the whole project :\ 17:30 <+bridge_> I've already suggested converting libtw2 from `workspace` to [features](https://doc.rust-lang.org/cargo/reference/features.html), since it's one library, but in my opinion it's not a library but rather a collection of utilities :) 17:30 <+bridge_> As for [features](https://doc.rust-lang.org/cargo/reference/features.html) in libraries, it's much more convenient because you can just specify what you need and use it, instead of cloning the whole project :\ 17:30 <+bridge_> I've already suggested converting libtw2 from `workspace` to [features](https://doc.rust-lang.org/cargo/reference/features.html), since it's one library, but in my opinion it's not a library but rather a collection of utilities :) 17:30 <+bridge_> As for [features](https://doc.rust-lang.org/cargo/reference/features.html) in libraries, it's much more convenient because you can just specify what you need and use it, instead of cloning the whole project :\ 17:31 <+bridge_> I've already suggested converting libtw2 from `workspace` to [features](https://doc.rust-lang.org/cargo/reference/features.html), since it's one library, but in my opinion it's not a library but rather a collection of utilities :) 17:31 <+bridge_> As for [features](https://doc.rust-lang.org/cargo/reference/features.html) in libraries, it's much more convenient because you can just specify what you need and use it, instead of cloning the whole project :\ 20:10 <+bridge_> lmao Google who plans to invest 40B$ into Claude 20:11 <+bridge_> :giga_chad: AI move 20:11 <+bridge_> how's ur rustlings journey going 20:35 <+bridge_> did until structs, then went back to work, but so far amazing 20:36 <+bridge_> like it's not that hard yet, all known concepts to me so far 20:36 <+bridge_> slices are cool, like Python like :3 22:26 <+bridge_> 48.220.48.24:24741 22:26 <+bridge_> ban 22:26 <+bridge_> this "5years" again 22:27 <+bridge_> announcing bot players 22:28 <+bridge_> owner of FiveNet, regularly adding bots to my server btw, and did the swastika spam half an hour with proxies 22:29 <+bridge_> @robyt3 22:30 <+bridge_> this "5years" / "Bell" / "bob" again 22:34 <+bridge_> I dont know why we still give such people a platform 22:46 <+bridge_> harvesting ips seems not to be punishable nice 22:49 <+bridge_> what would u do instead 22:49 <+bridge_> Ban these servers? Like we did in the past? 22:50 <+bridge_> or like DDNet did in the past 22:50 <+bridge_> it takes time it's cat and mouse game 22:50 <+bridge_> Ok 22:51 <+bridge_> takes time to ban a malicious server, sure 22:52 <+bridge_> i'll just stop reporting if i get admin responses like "server isnt registered anymore." If DDNet doesnt care about their players' safety 22:55 <+bridge_> are there masterserver logs 23:00 <+bridge_> admin askin 23:12 <+bridge_> bro 23:12 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497344512383779088/1.jpg?ex=69ed2e3f&is=69ebdcbf&hm=81ab011eeb4d63cc7717d6c1df43c2e4df7ebfb251f14e6ca9b8478d1f718929& 23:12 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497344512798883850/2.jpg?ex=69ed2e3f&is=69ebdcbf&hm=32baf6cbb426c7853433de8ae9004b9c0f45ef3e9ec7e477a2f1b6c550dcc4a6& 23:12 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497344513193152632/3.jpg?ex=69ed2e3f&is=69ebdcbf&hm=8dd179aad6112c0c62060e6c71c50c3b638ba84c2363b2042d0cd2aa32721117& 23:12 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1497344513793065000/4.jpg?ex=69ed2e3f&is=69ebdcbf&hm=0604e198f5f381ef35195582711f60c6c2a6ba757012f75f047f90c68f022194& 23:17 <+bridge_> no discord mod online? šŸ™ 23:46 <+bridge_> <._.spook._.> I have a database set up for my server, i have votes to change map difficulties, and points set up, how do i make random_map and random_unfinished_map work? it shows "No maps found on this server!" 23:51 <+bridge_> 185.23.34.226:8354 23:51 <+bridge_> pidor is back 23:51 <+bridge_> "pidor" is back 23:52 <+bridge_> GG DDNet 23:53 <+bridge_> 185.23.34.226:xxxx