00:03 < bridge> oy vey 00:03 < bridge> time to grind brand new translation 00:05 < bridge> he is using those things they are just a weakness of his 03:05 < bridge> What’s cowrie but no I did not use any tools or libs. It’s pure self written typescript 03:08 < bridge> @tsfreddie: good morning c: 03:08 < bridge> why 03:08 < bridge> Aren’t u in utc+8 ? 03:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1195916026634833970/tex.png?ex=65b5ba97&is=65a34597&hm=7634e96bf3fe9ed54c963b0bd56fa55bce040265f93797c2b0d63a5874516294& 03:30 < bridge> Sorry if I woke you or something Fred .\_. 03:31 < bridge> Just wanted to know if we are timezone buddies now 04:07 < bridge> :owo: 04:08 < bridge> did you go to australia or something 04:08 < bridge> Indonesia 04:08 < bridge> for? 04:08 < bridge> So wats ur timezone 04:08 < bridge> +8 04:08 < bridge> Secret 04:08 < bridge> So we timezone buddies uwu 04:08 < bridge> 04:08 < bridge> I will ping you every morning! 04:09 < bridge> are you like just there now? 04:09 < bridge> Yea 04:09 < bridge> ~~did germany kick you out~~ 04:09 < bridge> Yes I was too edgy 04:09 < bridge> :kek: 04:10 < bridge> imma take a nap actually 04:10 < bridge> woke up at 3am, it wasn't great 04:10 < bridge> Bruv 04:11 < bridge> I was still awake at that time 04:11 < bridge> Jet lag moment I guess 04:11 < bridge> :HammyShock: 04:11 < bridge> Agreed, we germans abandoned irc enjoyers (except scrumplex because He cool) 04:11 < bridge> Don’t you have to go to work or something? 04:11 < bridge> me? 04:11 < bridge> no 04:11 < bridge> Wowo 04:11 < bridge> why would i go to work on sunday 04:12 < bridge> Oh 04:12 < bridge> I totally knew it was Sunday 04:12 < bridge> 04:13 < bridge> But then you are in china 04:13 < bridge> Do you even do weekends? 04:13 < bridge> we do 04:13 < bridge> woah lazy 04:13 < bridge> :HammyShock: 04:51 < bridge> yeh, i facing my weaknesses like batman 04:51 < bridge> true 04:56 < bridge> it's 7:30 in the morning here 05:08 < bridge> 9 pm 05:17 < bridge> left or right 05:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1195944791062630451/IMG_1697.jpg?ex=65b5d561&is=65a36061&hm=9840e1025f964f93e76ab3f414ef0ff710c13b8f2f18bb7bfb0fcdbd70d452d5& 05:24 < bridge> bro, reading and writing to a file is so faking fast, i never tougth i could read, delete, and write again to a file every single tick 05:25 < bridge> without a single mistake 05:34 < bridge> i wonder how fast it's gonna be if i use hard drive instead of ssd 05:49 < ws-client> ye writin smol files is fast af 05:50 < ws-client> faster than priting to the terminal iirc 05:50 < ws-client> i think i boosted fps in a terminal based game once by instead of printing writing to a file and then using ``cat`` to print the entire file :D 05:51 < ws-client> buy chillerdragons bash game engine today 05:52 < ws-client> https://zillyhuhn.com/cs/.1705207908.png 05:52 < ws-client> this looks wrong. Jopsti should one highlite him self? 05:52 < ws-client> i wonder if i could have replaced "him" with something genderless in that sentence 05:53 < bridge> -21 out tonight 05:53 < bridge> :feelsbadman: 05:53 < ws-client> i envy u 05:54 < ws-client> cold is pog 05:54 < ws-client> for me it doesnt get much colder than 28 durin da nite i think 05:55 < ws-client> @Ewan fahrenheit? 05:55 < bridge> c 05:55 < ws-client> o.O 05:55 < bridge> i got yelled at for using freedom units last time 05:55 < ws-client> xd 05:55 < ws-client> freedom units 05:55 < ws-client> watfak 05:55 < bridge> murica 05:56 < ws-client> i think i never got to xp -21 05:56 < ws-client> sounds fun 05:56 < ws-client> i didnt know its that cold in murica 05:56 < ws-client> time to move 05:57 < ws-client> ewan u eng pro 05:57 < ws-client> send woke generless sentence 05:57 < ws-client> > Jopsi should one highlite him self? 05:58 < ws-client> how can i replace "him" with something genderless like "one" @Ewan ? 05:58 < ws-client> or how to make the sentence cool in general 05:59 < ws-client> apparently "oneself" is a thing xd 05:59 < bridge> what context 05:59 < bridge> yea 05:59 < ws-client> the context i used it in 05:59 < bridge> themselves 06:00 < ws-client> oke thank 06:00 < bridge> should one highlight themselves 06:00 < ws-client> i put tripple A english on my CV now 06:00 < bridge> lol 07:15 < ws-client> Okay thats kinda cool you can close issues in other repos with commit messages 07:15 < ws-client> https://zillyhuhn.com/cs/.1705212891.png 07:15 < ws-client> can codeberg do that too? -.- 07:47 < bridge> it's huge country 07:47 < bridge> it just depends on where you are 07:49 < bridge> ah man 07:51 < bridge> i run a server on linux, people can register and make an account, the physical file of that account is made but it can not be readed from the server once the player tries to "/login username password" 07:52 < bridge> and it's working on windows with the same code 07:52 < bridge> i run the server as root, but still having the same problem 07:53 < bridge> and once i restart the server, you can /login 07:54 < bridge> i gave the DDnet-Server chmod +rwx but still the same 07:55 < bridge> also i can give you my last commit link if you want 08:00 < bridge> and once i restart the server, you can /login with previously register accounts 08:01 < bridge> and once i restarting the server, you can /login with previously register accounts 08:06 < bridge> never mind, the code is having problem, in windows too 08:06 < bridge> 😂 08:20 < bridge> the problem was stupid as, not closing the file: io_close() :troll: 08:28 < bridge> Classic 08:40 < bridge> No 09:14 < bridge> ye dats wat i thought ima open an issue and will probably not fix before end of 2028 09:14 < ws-client> did you know the word procrastination includes pro? 09:22 < bridge> with improved knowledge from work im retaking edlang 09:40 < ChillerDragon> i cant tell if ddnet singapore servers lagg or my wifi idk how to test 09:50 < bridge> when 09:50 < bridge> what's your ping to Singapore? 09:50 < ChillerDragon> 37 09:51 < ChillerDragon> it feels smoother than at home haha 09:51 < ChillerDragon> but i have lag spikes that make it super faily to play 09:51 < bridge> XD good 09:51 < ChillerDragon> idk if its my connection or the server 09:51 < bridge> CHN8 has good ping too from here 09:52 < ChillerDragon> i have 78 in chn8 09:52 < bridge> oh I have 60ish 09:52 < ChillerDragon> jumps to 90 ye its rly bad xd 09:53 < bridge> probably your wifi then 09:53 < ChillerDragon> meh 09:54 < ChillerDragon> sucks to be me 09:55 < ChillerDragon> shiet mobile data is even way worse 10:47 < bridge> hi meeu 10:47 < bridge> 😃 10:48 < bridge> how is singapore fellas 11:00 < bridge> hi Ewan o/ 11:00 < bridge> the singapore server is empty most of the time XD 11:00 < bridge> damn 11:00 < bridge> i saw chiller but he was afk earlier 11:00 < bridge> ah 11:00 < bridge> i wonder why he is there 11:02 < bridge> how are u 11:02 < bridge> sad cuz bad ping to USA :c 11:02 < bridge> it's not so bad to USA2 ig, 200 ping 11:03 < bridge> ah messed up 11:39 < bridge> What’s your in game name? 11:39 < bridge> Best ping ddnet server 11:40 < bridge> Meeu 11:40 < bridge> Lol 12:48 < bridge> I seriously do not understand MSVC 12:49 < bridge> Accessing an unscoped enumeration that's a member of a class through a fully qualified name is legal since C++11 12:51 < bridge> It should even be part of the outside scope, so should let me refer to it using just the class too... 13:00 < bridge> oh it's not the scoping that's the issue, it's that stray constant... 13:01 < bridge> Damn 13:05 < bridge> Let's just drop support for MSVC, no self respecting developer uses it anyway 13:10 < bridge> Ok, I can't do this without a windows machine, can one of you find out where this constant is coming from? 13:10 < bridge> Ach 13:11 < bridge> https://godbolt.org/z/K1nbbno9K this is what's happening, so you are looking for a `#define ERROR` that only happens on windows 😄 13:11 < bridge> what’s the constant 13:11 < bridge> Or maybe I should just rename my error state to something like FAILED 13:12 < bridge> It might be easier 13:13 < bridge> I have no idea where it's coming from https://github.com/ddnet/ddnet/pull/7683 but somehow after all the includes in `http.cpp` there is `ERROR` `#define`d 13:13 < bridge> Or maybe I can just do #ifdef ERROR #undef ERROR after the include 🤔 13:19 < bridge> before that let's drop support for macos xd 13:22 < bridge> No macos > msvc 13:22 < bridge> At least it’s unix 13:23 < bridge> xcode is the poggest of them all 15:11 < bridge> @heinrich5991 what's the main reason of using `warn` instead of using `Result<_, _>`? 15:12 < bridge> @gerdoe warn is for inconsistencies / oddities which should not cause the operation to fail, but can be logged 15:13 < bridge> yeaah but warn goes trhu aall the codebase of libtw2 15:14 < bridge> looks monstrous just for logging 15:16 < bridge> btw, inconsistencies and oddities are the ones that should not occur? 15:18 < bridge> yes 15:19 < bridge> for example, in gamenet, snap object decoding warns whenever there is excess data 15:20 < bridge> excess data is not an huge issue, since we expect backwards compatibility by future extensions 15:20 < bridge> but this does indicate that something should be updated 15:20 < bridge> or fixed elsewhere 15:21 < bridge> but what about using result + error handling? 15:21 < bridge> i just don't get the point 15:22 < bridge> because then the entire operation would unnecessarily fail 15:22 < bridge> no why 15:22 < bridge> ah 15:22 < bridge> okey i get it xd 15:22 < bridge> nice :) 15:23 < bridge> its kinda weird to work with at first 15:23 < bridge> and its an additional parameter everywhere, which can be a bit annoying at times ^^ 15:24 < bridge> yeah like every function signature every function call has this warn field 15:24 < bridge> also callbacks 15:24 < bridge> yea 15:24 < bridge> its kinda like logging, but with a very different interface 15:25 < bridge> c-way in rust 15:26 < bridge> hm, logging is also quite common in rust 15:26 < bridge> have never seen such approach tho 15:27 < bridge> having `log!` is cleaner imho 15:28 < bridge> repo is quite old maybe that's the reason 15:32 < bridge> do the it must exist extremist path 15:32 < bridge> 15:32 < bridge> 15:32 < bridge> every unwrap is a potential logic bug 15:32 < bridge> do the "it must exist" extremist path 15:32 < bridge> 15:32 < bridge> 15:32 < bridge> every unwrap is a potential logic bug 16:10 < bridge> no unwraps only match 8) 16:17 < bridge> every error u must handle will introduce more potential to do it wrong 16:18 < bridge> the code also fails to compile with clang and gcc 16:18 < bridge> the macro is replaced in both case 16:19 < bridge> Yes, I hadn’t noticed the define was the issue 16:19 < bridge> The define only happens in windows, thus I thought it was a msvc issue 16:19 < bridge> who the hell defines an ERROR macro ? 16:19 < bridge> maybe you can try the MSVC equivalent -E flag to see where it comes from 16:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1196117616444588112/message.txt?ex=65b67656&is=65a40156&hm=f2a64f8081177816d096ac4c3e5cf627bf486a10a25c847442ca0ce2ac95b2a7& 16:44 < bridge> so yeah it's curl.h that includes windows.h 16:45 < bridge> you don't wanna know how many hours of my life were wasted debugging some cursed windows-only issue that turned out to just be due to windows.h defining some weird macro 16:51 < bridge> so better to panic you mean lol 16:53 < bridge> hard to say, but sometimes i like it more than creating long unhandled err chains, or handle errors everywhere 16:53 < bridge> in code where you dont expect errors, your error handling will probably suck 16:53 < bridge> xd 16:55 < bridge> tell me a feature u would like in edlang 16:55 < bridge> hiarc 16:55 < bridge> terminating pc 16:55 < bridge> i need a nice logo 16:55 < bridge> avx2 support 16:55 < bridge> u can do that on any systems lang 16:56 < bridge> arch intrinsics 16:56 < bridge> does this feature fit on a language feature? 16:56 < bridge> not a library i mean 16:56 < bridge> imo yes, i abuse it across half of my code base already 16:56 < bridge> i need to find some new papers on borrow checkers 16:57 < bridge> it's basically the alternative to borrow checking 16:57 < bridge> and u need RAII 16:57 < bridge> hmm 16:57 < bridge> bcs i am also huge RAII abuser 16:57 < bridge> how would u call edlang's cargo? 16:58 < bridge> walkstop 16:58 < bridge> xd 16:58 < bridge> car go 16:58 < bridge> walk stop xd 16:58 < bridge> epic 16:58 < bridge> lmao 16:59 < bridge> ed is like a ancient editor right 17:02 < bridge> really? 17:32 < bridge> gats 18:15 < bridge> Yea edge case error paths are often bugged them selfs. Because they were never tested. 19:48 < bridge> is this two conditions are equal ? 19:48 < bridge> ```cpp 19:48 < bridge> if(pPlayer->GetCharacter() == 0) 19:49 < bridge> 19:49 < bridge> if(pPlayer->GetCharacter()) 19:49 < bridge> ``` 19:49 < bridge> if my cpp knowledge doesn't fail me they are the opposite ^^ 19:51 < bridge> i think they are the same if you use it in an if, 19:51 < bridge> it, in an if 😂 19:52 < bridge> bro 19:52 < bridge> if(pPlayer->GetCharacter() == 1) should be the same as if(pPlayer->GetCharacter()). 19:52 < bridge> Can't you just test it anyways? 19:52 < bridge> i testing the people here :lol: 19:52 < bridge> 0 gets evaluated to false while any other int is true 19:55 < bridge> is there a function to get the ClientID by the players name ? 20:05 < bridge> There isn't a function for it, you will have to loop over all players and check if the name matches. But I guess it would be pretty easy to extract something like this to a function. 20:05 < bridge> 20:05 < bridge> ```cpp 20:05 < bridge> char aPlayerName[MAX_NAME_LENGTH] = "nameless tee"; 20:05 < bridge> int ClientID = -1; 20:05 < bridge> for(int i = 0; i < MAX_CLIENTS; i++) 20:05 < bridge> { 20:05 < bridge> if(str_comp(aPlayerName, Server()->ClientName(i)) == 0) 20:05 < bridge> { 20:05 < bridge> ClientID = i; 20:05 < bridge> break; 20:05 < bridge> } 20:05 < bridge> } 20:05 < bridge> ``` 20:05 < bridge> 20:05 < bridge> ClientID will be -1 if a player named `nameless tee` wasn't found. 22:16 < bridge> Lol, that's hella wrong. 22:16 < bridge> `if (pPlayer->GetCharacter() != 0)` 22:16 < bridge> is the same as 22:16 < bridge> `if (pPlayer->GetCharacter()` 22:16 < bridge> but definitely not the opposite using `1` is true xD 22:18 < bridge> yeah... that's what I said? 😄 22:18 < bridge> Ok, I won't argue with you. You're a troll 22:18 < bridge> Are you sure you are not hating on me 22:18 < bridge> no but fr 22:18 < bridge> that's exactly what I said 22:18 < bridge> Ok 22:18 < bridge> You sure you aren't victimizing yourself? 22:18 < bridge> Can someone not biased tell me if I'm actually dumbing hard or just fokko trolling me? 22:18 < bridge> Like last time 22:18 < bridge> Maybe just learn to read 22:18 < bridge> And not victimizing yourself 22:18 < bridge> that's very toxic 22:19 < bridge> I told you last time even directly that I was not hating. But you're dumbing hard *again* 22:19 < bridge> And u victimized urself last time too by not accepting my statement :) 22:21 < bridge> that's right though 22:21 < bridge> thanks 22:21 < bridge> fokkonaut being fokkonaut 22:21 < bridge> @nouaa no wonder you want to steal code. Too dumb to code on your own 22:22 < bridge> I'll explain. 22:23 < bridge> GetCharacter() does not return `1` if it exists. It's a pointer, and it points to a memory location. So when you take it as an integer, it'll not be 1. That would imply all characters point to the same memory 22:23 < bridge> that's why you check `!= 0` 22:24 < bridge> atleast it should return a truthy value if it does exist 22:24 < bridge> aka `!= 0` 22:24 < bridge> And not `== 1` 22:24 < bridge> As both of you seemed to agree on 22:25 < bridge> Oh boi... 22:25 < bridge> I assumed it wasn't necessarily a pointer, but yeah u're right 22:26 < bridge> @devinci24 So I think you're the one that is biased. Work on yourself 22:26 < bridge> DDNet hiring anyone these days 22:26 < bridge> it wont work because the pointer is probs implicitly casted to a int, and a pointer is like a numeric address 22:26 < bridge> and a lower address like 0x1 is probs not what u will get 22:27 < bridge> if(pPlayer->GetCharacter()) 22:27 < bridge> this works because 22:27 < bridge> the address is not 0 22:27 < bridge> so its a truthy value 22:27 < bridge> 🤝😂 22:27 < bridge> all values > 0 are truthy 22:27 < bridge> if(pPlayer->GetCharacter() > 0) 22:28 < bridge> And < 0, but that doesn't matter in this context 22:28 < bridge> true i forgot about negatives xd 22:28 < bridge> xd 22:28 < bridge> anyway its wrong to compare a pointer to a number 22:28 < bridge> for lot of complex reasons 22:28 < bridge> do if(pPlayer->GetCharacter()) or if(pPlayer->GetCharacter() != nullptr) 22:28 < bridge> That aswell 22:28 < bridge> Does nullptr actually work when the DDNet code sets it to 0 or NULL? 22:29 < bridge> yeah 22:29 < bridge> Nice 22:29 < bridge> btw 22:29 < bridge> 0 is the nullptr address on the default address space 22:29 < bridge> hello world :poggers2: 22:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1196204424658432010/image.png?ex=65b6c72f&is=65a4522f&hm=8c3509daa3de3d2adc2b3a901f6740e7ad8cf76ed115edf5d6acb7984110afd0& 22:29 < bridge> there can be address spaces where a adress at 0 is valid 22:29 < bridge> Ahhh 22:29 < bridge> but thats another talk 22:29 < bridge> I see 22:29 < bridge> ty 22:29 < bridge> > An address space is a fundamental part of the type of a pointer value and the type of operations that manipulate memory. LLVM affords a default address space (numbered zero) and places a number of assumptions on pointer values within that address space: The pointer must have a fixed integral value. 22:30 < bridge> https://llvm-swift.github.io/LLVMSwift/Structs/AddressSpace.html 22:30 < bridge> > A pointer is an address that provides a translation within some virtual address space to a piece of physical memory. 22:31 < bridge> that's the reason I proposed == 1. I could have also said == 123123. Doesn't 1 get evaluated to true aswell? 22:31 < bridge> ur missing the point 22:32 < bridge> if u compare a pointer type to a int 22:32 < bridge> it wont be casted to a bool 22:32 < bridge> Oh man. 22:32 < bridge> there will never be a true or false 22:32 < bridge> it will be 22:32 < bridge> does pointer has address 0x1 through this cast to int 22:32 < bridge> oh really? That's what I was missing then. thanks for your answer ryo 22:32 < bridge> @devinci24 #staytoxic 22:34 < bridge> That from a moderator 22:34 < bridge> @devinci24 22:34 < bridge> ```cpp 22:34 < bridge> g++ /tmp/G2nc4Yh94s.cpp 22:34 < bridge> /tmp/G2nc4Yh94s.cpp: In function 'int main()': 22:34 < bridge> /tmp/G2nc4Yh94s.cpp:14:10: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] 22:34 < bridge> 14 | if(a == 1) { 22:34 < bridge> | ~~^~~~ 22:34 < bridge> 22:34 < bridge> ``` 22:34 < bridge> the compiler will also tell u ur doing bad stuff 22:34 < bridge> yeah I didn't know that method? was returning a pointer. 22:34 < bridge> I just assumed, mb there 😛 22:35 < bridge> xxxxD 22:35 < bridge> 0 self awareness 22:35 < bridge> fokkonsomething 22:36 < bridge> ? 22:36 < bridge> Yeah, I'm on my daily dose of talking to idiots 22:36 < bridge> ah that makes sense 22:36 < bridge> u didnt talk to me yet 😏 22:37 < bridge> shit, I'm included 22:37 < bridge> self awareness: 1 22:37 < bridge> > devinci 22:37 < bridge> `> devinci` 22:38 < bridge> good night :) 22:39 < bridge> gn :) 23:01 < bridge> friendly fire will not be tolerated 23:08 < bridge> another self-made teedrama™? 23:26 < bridge> @ChilleDragon where can i check your votes.cfg for zilly-insta? 23:58 < bridge> is it still on? 23:58 < bridge> nop 23:58 < bridge> rip 23:58 < bridge> got any way for me to doo it myself 23:58 < bridge> didnt finish it 23:59 < bridge> since ive been trying to get it to work 23:59 < bridge> but i have no idea what to change