02:36 < bridge> Wats wrong 05:41 < bridge> Idk, probably we have skill issue understanding him 05:47 < bridge> WHY CAN'T I TAKE THEM TO THE BLMAP CHILL? 05:47 < bridge> ???!!! 06:26 < bridge> ???!!! 06:26 < bridge> 06:26 < bridge> Message #developer 08:27 < bridge> https://www.nature.com/articles/s41586-023-06927-3 11:23 < bridge> ```cpp 11:23 < bridge> Test(const string& str1, bool flag=false); 11:23 < bridge> Test(const string& str1, const string& str2, bool flag=false) 11:23 < bridge> 11:23 < bridge> which one will this call? 11:23 < bridge> 11:23 < bridge> Test("foo", "bar"); 11:23 < bridge> ``` 11:24 < bridge> @mpft 11:24 < bridge> no googling 11:25 < bridge> the fact u cant answer instantly (i saw u type) 11:25 < bridge> shows why rust explicitness is better 11:25 < bridge> I’m trying to parse it 11:25 < bridge> i just figured out it’s a function overload 11:25 < bridge> 😬 11:25 < bridge> it didnt look like code 11:25 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1187340155397349376/IMG_4721.png?ex=659687b0&is=658412b0&hm=02f329af67a27a37d326febc179b3a85257a0efa8a1128ab7f11d70743cceaba& 11:26 < bridge> lol mobile sucks 11:26 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1187340215749181531/image.png?ex=659687bf&is=658412bf&hm=b678506cbfd93e5731121a6dc4ba8f53c30d95fa25c9fba427ad3981a5aa6181& 11:26 < bridge> it could reasonably call either 11:26 < bridge> nope 11:26 < bridge> it will call the first 11:27 < bridge> because char is implicitly converted to bool 11:27 < bridge> https://tenor.com/view/smh-gif-21608426 11:27 < bridge> const char * 11:27 < bridge> ding ding ding 11:27 < bridge> rust wins 11:27 < bridge> what 11:27 < bridge> :poggers2: 11:27 < bridge> rust has no implicit casts 11:27 < bridge> xd 11:27 < bridge> wats that gif 11:28 < bridge> gif of disappointment 11:28 < bridge> i though it would call 2nd 11:28 < bridge> ofc everyone would think at first glance 11:28 < bridge> i did too xd 11:29 < bridge> but a literal "sdfdsf" 11:29 < bridge> is not a string 11:29 < bridge> so const char * is casted to bool 11:29 < bridge> https://stackoverflow.com/questions/32253788/c-wrong-constructor-being-called 11:29 < bridge> > 11:29 < bridge> > 11:29 < bridge> > The type of the argument being used to construct Test is char const[4]. 11:29 < bridge> > 11:29 < bridge> > char const[4] decays to char const*, and has to be converted to a bool or a std::string const& to make the function call unambiguous. 11:29 < bridge> > 11:29 < bridge> > A pointer can be converted to bool using standard conversion rules. 11:29 < bridge> > 11:29 < bridge> > A char const* can be converted to std::string const& using a user defined conversion rule. 11:30 < bridge> > 11:30 < bridge> > Given that, the conversion from char const*, a pointer, to bool is considered a better match than the conversion from char const* to std::string const&. 11:30 < bridge> > 11:30 < bridge> > Hence, the call resolves to the first constructor. 11:30 < bridge> thanks god there's no such thing in js land :santatrollet: 11:30 < bridge> ``` 11:30 < bridge> 11:30 < bridge> The type of the argument being used to construct Test is char const[4]. 11:30 < bridge> 11:30 < bridge> char const[4] decays to char const*, and has to be converted to a bool or a std::string const& to make the function call unambiguous. 11:30 < bridge> 11:30 < bridge> A pointer can be converted to bool using standard conversion rules. 11:30 < bridge> 11:30 < bridge> A char const* can be converted to std::string const& using a user defined conversion rule. 11:30 < bridge> 11:30 < bridge> Given that, the conversion from char const*, a pointer, to bool is considered a better match than the conversion from char const* to std::string const&. 11:30 < bridge> 11:30 < bridge> Hence, the call resolves to the first constructor. 11:30 < bridge> 11:30 < bridge> ``` 11:30 < bridge> in js land there's everythign except programming :justatest: 12:05 < bridge> ah yes, another feature that makes your life ""easier"" 12:05 < bridge> i honestly dont understand what made people think that automatic casting is any good 12:34 < bridge> Implicit. 12:34 < bridge> I find casts to bool usually pretty usefull 12:39 < bridge> https://github.com/zesterer/chumsky 12:52 < bridge> where all the functions is called in server/gamemode/DDrace.cpp ? 12:52 < bridge> i don't get it 12:53 < bridge> who call them every tick and on tile triggering ? 12:59 < bridge> i feel stupid 13:00 < bridge> CGameContext's property called m_pController call all those fucntion 13:00 < bridge> CGameContext's property called m_pController call all those fucntions 13:00 < bridge> no? 13:03 < bridge> :pepeW: 13:36 < bridge> Are the server types given by the ddnet server register or are they client dependent? 13:45 < bridge> Register 13:45 < bridge> But color client side 14:03 < bridge> @deen: would it be possible to fund an Indonesian ddnet instance? 14:05 < bridge> Hmm or how high is the Singapur server ping in Bali? 14:06 < bridge> howhighru 14:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1187380929241555065/Heinorich.png?ex=6596adaa&is=658438aa&hm=37b600df2d89e0a42117e0e4f402434e50b8c4b4d76144bb3c94ae6e12688a5e& 14:08 < bridge> @fokkonaut i survived him but u didnt :p 14:09 < bridge> i did 14:09 < bridge> i was scared tho 14:09 < bridge> xd 14:09 < bridge> not ur img tho 14:09 < bridge> i sacrifised it 14:09 < bridge> to be alive 14:21 < bridge> ping from jakarta to singapore ddnet server is 20ish, from bali would probably be about 30-40 14:22 < ChillerDragon> ah nice that seems okay i guess 14:22 < ChillerDragon> @meeu where do you play from? o.O 14:23 < bridge> jakarta 14:23 < bridge> are u in indonesia chiller? :o 14:23 < ChillerDragon> nice and you just casually happend to lurk in #developer? i never saw ur name 14:23 < bridge> i lurk here from time to time xd 14:23 < ChillerDragon> @meeu not yet but currently looks like i will be in bali for a year starting january 14:24 < bridge> nice, have fun! 14:24 < ChillerDragon> gotta make sure i can at least do some ddnet gaming from my laptop 14:25 < bridge> ddnet influencer moment 14:26 < bridge> damn AI is evolving, they are traveling to bali by themselves now?! 14:35 < ChillerDragon> i am hooman 14:36 < bridge> https://tenor.com/view/captcha-google-im-not-a-robot-gif-17752213 14:36 < ChillerDragon> -.- 14:41 < bridge> no? 15:03 < bridge> neither has c++, a cast is always explicit. Did you mean »conversion«? 15:03 < bridge> and it's obvious which overload is chosen 15:05 < bridge> seems like potato potato 15:05 < bridge> it's clear what they meant 15:05 < bridge> even if not using the C++-specific terms 15:06 < bridge> rekt :kek: 15:07 < bridge> @heinrich5991 I don't have a problem with this in general, but I *do* have a problem with "rust is better than c++" obviously not knowing much about c++ 😄 15:07 < bridge> @heinrich5991 I don't have a problem with this in general, but I *do* have a problem with "rust is better than c++" guys obviously not knowing much about c++ 😄 15:08 < bridge> in this particular example, I also found it very nonobvious which function would be called 15:08 < bridge> I only guessed the right one because the question was asked 15:08 < bridge> I only guessed the right one because the question was asked at all 15:08 < bridge> and I don't know why you question people's C++ skills. I think most people in this channel are pretty familiar with C++ 15:08 < bridge> @Fussel btw, do you know rust? 15:08 < bridge> 15:08 < bridge> Like did you code at least 10k lines in it? 15:09 < bridge> familiar enough to confuse cast and conversion 15:09 < bridge> oh come on, that's just stupid 15:09 < bridge> @jupeyy_keks you wouldn't have found me to talk much about rust details, right? 15:09 < bridge> you can use whatever words you want, you're not bound by the C++ standard 15:10 < bridge> Well I literally was just curious^^ 15:10 < bridge> apparently boost even has a `boost::implicit_cast` btw 15:10 < bridge> Learath also knows rust even tho he doesnt act like that mostly 15:10 < bridge> so it seems that the wording is actually accepted in the the C++ community 15:11 < bridge> you could say Learath got rusty in coding 15:11 < bridge> question time. whats the difference between conversation and cast 15:11 < bridge> conversion* 15:12 < bridge> exactlz 15:12 < bridge> exactly 15:12 < bridge> apparently @Fussel makes the distinction at "cast" being an explicit type conversion and "conversion" being an implicit one 15:13 < bridge> here's a wikipedia article using these more or less interchangeably: https://en.wikipedia.org/wiki/Type_conversion 15:13 < bridge> > In the C family of languages and ALGOL 68, the word cast typically refers to an explicit type conversion (as opposed to an implicit conversion), causing some ambiguity about whether this is a re-interpretation of a bit-pattern or a real data representation conversion. 15:14 < bridge> ah, maybe that's where they're coming from 15:14 < bridge> So the right term is implicit type conversion, and we can all continue living. 15:14 < bridge> *in C++* 15:14 < bridge> if you're talking about multiple languages at once, it becomes less obvious 15:15 < bridge> Well since rust doesn't have it, there is also no name for it 15:15 < bridge> rust also has it 15:15 < bridge> let me remember what it's called there 15:15 < bridge> Since he didn't actively mention cpp, one has to read in context anyway 15:15 < bridge> Conversion and cast have some semantic differences but a lot of non pedantic people use them interchangeably 15:16 < bridge> (e.g. from `&Vec` to `&[u8]` 15:16 < bridge> (e.g. from `&Vec` to `&[u8]`) 15:16 < bridge> (or from `&'static str` to `&'a str`) 15:17 < bridge> Isn't the first deref 15:17 < bridge> it's called coercion in rust 15:17 < bridge> Ok 15:18 < bridge> Semantic isn't even the right word. It's like just terminology 15:18 < bridge> Casting causes an explicit conversion 15:19 < bridge> `Deref` can allow for coercions, yes 15:19 < bridge> Anyway my brain won't remember the word coercion. Very hard xd 15:19 < bridge> and in the first case, it's what happens 15:19 < bridge> it allows you to pass a `&Vec` to a function that expects a `&[u8]` 15:20 < bridge> ah, and `[u8; 64]` to `[u8]` 15:20 < bridge> and `!` to anything ^^ 15:20 < bridge> deref coercion 15:21 < bridge> but its also why deref should only be used forsmart pointers iirc 15:21 < bridge> anyway its not as invasive in rust imho 15:21 < bridge> So coercions are kind of a try and error by compiler xd 15:21 < bridge> 15:21 < bridge> Just without losing context like with implicit conversion 15:21 < bridge> also no overloads 15:21 < bridge> I already send u the commit that changed the doc 15:21 < bridge> okay, let's conclude: I'm wong because I'm right \*shrug/* 15:22 < bridge> okay, let's conclude: I'm wong because I'm right \*shrug\* 15:22 < bridge> okay, let's conclude: I'm wrong because I'm right \*shrug\* 15:22 < ChillerDragon> Thursday new C++ day? 15:22 < bridge> oh xd 15:22 < bridge> You aren't wrong at all. But you are pendetic. It was clear in this context. But i agree that yours would be the most clear one 15:23 < bridge> one question, in rust this deref is coded somewhere, as a trait, in c++ is it coded somewhere or is it done internally by the compiler? 15:23 < bridge> You are not wrong about the C++. Judging someones knowledge of a language because they don't know a minute detail in the terminology is what is not quite right 15:23 < bridge> Cpp has smth similar to deref too 15:23 < bridge> Operator overloading with specific return types 15:24 < bridge> you can add implicit conversions in C++, by using a single-parameter constructor (and forgetting to add `explicit`) or by using `operator int()` where `int` is the target type 15:24 < bridge> but the conversion from my code 15:24 < bridge> both rust and C++ have a number of built-in conversions 15:25 < bridge> which already comes "by default 15:25 < bridge> " 15:25 < bridge> ah its builtin ok 15:25 < bridge> what are rust builtin conversions? 15:25 < bridge> https://doc.rust-lang.org/reference/type-coercions.html 15:25 < bridge> https://doc.rust-lang.org/src/alloc/vec/mod.rs.html#3104 15:25 < bridge> I forgot `&mut T` to `&T` e.g. 15:26 < bridge> `as_ref` is entirely non-magical. it's just a normal trait 15:26 < bridge> ok yeah the literal numbers being coerced 15:26 < bridge> https://doc.rust-lang.org/src/alloc/vec/mod.rs.html#3104 15:27 < bridge> https://doc.rust-lang.org/src/alloc/vec/mod.rs.html#2657 15:27 < bridge> xd 15:27 < bridge> yep, that one is the magic one that allows the implicit type conversion between `&Vec` and `&[u8]` 15:28 < bridge> @jupeyy_keks is the doc update rly in? i still see the warning in docs 15:28 < bridge> i guess its nightly 15:29 < bridge> we cant use ! in stable right 15:29 < bridge> never type 15:29 < bridge> i know i used it for functions that dont terminate 15:29 < bridge> only as a function return type 15:29 < bridge> yeah 15:30 < bridge> you also use it implicitly when you use `break`, `return`, `continue`, etc. 15:31 < bridge> ```rs 15:31 < bridge> fn get_integer() -> i32 { 15:31 < bridge> return return return return return!!!!!!!!!11111; 15:31 < bridge> } 15:31 < bridge> ``` 15:33 < bridge> Yeah it's nightly. But it's widely used out side of standard 15:33 < bridge> So they made it less confusing 15:33 < bridge> And imo makes sense xd 15:59 < bridge> yes 16:01 < bridge> funny 16:31 < ChillerDragon> ffs paypal passwords are 20 chars max now!? 16:32 < bridge> Use only Chinese characters 16:36 < bridge> can u explain this snipped in detail 16:36 < bridge> snippet 16:41 < bridge> It never returns never xd 16:42 < bridge> Else it would be ever xddd 16:43 < bridge> ```rust 16:43 < bridge> return { 16:43 < bridge> return { 16:43 < bridge> return { 16:43 < bridge> return !!!!!!!111111; 16:43 < bridge> } 16:43 < bridge> } 16:43 < bridge> } 16:43 < bridge> ``` 16:43 < bridge> is it equivalent to this? 16:43 < bridge> ! in rust also means bitwise not 16:43 < bridge> Yeah 16:44 < bridge> I think he just wanted to show the conversion 16:45 < bridge> @ryozuki what are use cases except as return type btw? 16:45 < bridge> @jupeyy_keks the function running a infinite loop in bare metal 16:46 < bridge> ```rust 16:46 < bridge> fn a() -> ! { 16:46 < bridge> loop {} 16:46 < bridge> } 16:46 < bridge> ``` 16:46 < bridge> https://doc.rust-lang.org/rust-by-example/fn/diverging.html 16:47 < bridge> > Another possible use would be a wrapper around the Unix exec family of functions, in which the current process is replaced with the one being executed. 16:47 < bridge> > s a full-fledged type, it can be used in more contexts, such as in Result indicating a result that can never fail, or Result as one that can never succeed. These are useful in generic contexts; if you have some trait that requires a method to return a result, but for that particular implementation it can only possibly succeed, you don't need to fill in some dummy error type. 16:48 < bridge> pub fn exit(code: i32) -> ! 16:49 < bridge> would be rust equivalent of exit 16:49 < bridge> or 16:49 < bridge> making ur panic handler 16:49 < bridge> ```rust 16:49 < bridge> #![panic_handler] 16:49 < bridge> fn panic(_info: &PanicInfo) -> ! { 16:49 < bridge> loop{} 16:49 < bridge> } 16:49 < bridge> ``` 16:49 < bridge> Could you explain why it was done like that? I mean i understand that this makes sense, in a way that it doesn't break any logic. But it's kinda weird xd 16:49 < bridge> it makes sense for macros 16:50 < bridge> like todo! 16:50 < bridge> it works on any return type 16:50 < bridge> thanks to that iirc 16:50 < bridge> I meant that the syntax even allows multiple returns 16:51 < bridge> Like i understand that it simply adds a never type here 16:51 < bridge> But dunno xd 16:52 < ChillerDragon> gg i am locked out of paypal because i provided fake data 16:53 < ChillerDragon> rip moni 16:53 < ChillerDragon> i wonder why quitting vim is a meme but nano isnt xd. Quitting nano is so hard. 16:53 < ChillerDragon> :x vs ctrl+x y ENTER 16:54 < bridge> Isn't there like a panel at the bottom which shows possible shortcuts 16:54 < ChillerDragon> ou so at least you know what to do 16:54 < ChillerDragon> okay i see 16:54 < bridge> I used it once 16:54 < bridge> During installation of gentoo 16:54 < bridge> Xd 16:55 < ChillerDragon> a user new to linux does not understand ^X Exit 16:55 < ChillerDragon> not sure how much help that is 16:55 < ChillerDragon> vim even tells you what to do when you press ctrl+c while nano does not 16:55 < bridge> Then closing the terminal would be the easiest 16:55 < ChillerDragon> imo quitting nano should be established as meme 16:57 < bridge> chillerdragon: do u use tmux? 17:00 < ChillerDragon> yes 17:00 < bridge> Do u have some fancy cool ass scripts for it? 17:00 < ChillerDragon> nah my tmux conf is pretty chill and i use key 4 key bindings 17:01 < ChillerDragon> but couldnt live without it since a few years 17:01 < ChillerDragon> i played with some plugins but nothing really stuck 17:01 < bridge> Wanna see da best script for tmux? >~< 17:01 < ChillerDragon> ok 17:02 < bridge> https://github.com/ThePrimeagen/.dotfiles/blob/master/bin/.local/scripts/tmux-sessionizer 17:03 < ChillerDragon> yter 17:03 < bridge> wat 17:03 < ChillerDragon> ThePromeagen 17:03 < ChillerDragon> is yter 17:04 < ChillerDragon> anyways i dont use sessions lol 17:04 < ChillerDragon> i only ever have one session xd 17:04 < bridge> :pepeW: 17:04 < ChillerDragon> i quit them when i turn my pc off 17:04 < ChillerDragon> i dont reattach to old 17:09 < bridge> Classic chiller 17:10 < bridge> The paypal spies hunt you 17:26 < bridge> DDNet's server process is multicore or it's single core? 17:28 < bridge> mostly single core 17:28 < bridge> single threaded to be precise 17:30 < bridge> I getting some spike high CPU usage on more than 200 players 17:30 < bridge> is it normal ? 17:30 < bridge> that sounds pretty normal yes 17:30 < bridge> besides the physics, it must also process all packets for all players etc 17:31 < bridge> but it depends on: 17:31 < bridge> - are all on one server 17:31 < bridge> - how good is your VPS? 17:32 < bridge> it's show a bit higher ping in servers with more players like 60 players but in other ports with lower player it's fine 17:44 < bridge> thats normal 17:44 < bridge> need good single core performance 18:04 < bridge> https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html 18:04 < bridge> @heinrich5991 @jupeyy_keks @leprezaun 18:04 < bridge> @heinrich5991 @jupeyy_keks @learath2 18:14 < ChillerDragon> @jupeyy_keks ye paypal support was really confused how i managed to not connect a bank. Leave the address field empty and provide an invalid phone number. And use that account to receive money xd 18:14 < ChillerDragon> somehow i conviced him i am legit and i got my 5 bucks back poggies 18:19 < ChillerDragon> @jupeyy_keks yo btw how do you handle security questions? i mean the legacy 2fa where they ask for maiden name of grandma and shit. I always use pw generator for that. Its so funny when some dude asks you on the phone "in what city or town did your parents meet?" and you go "g6">QM5%Kq;[" 18:20 < bridge> i once couldnt enter my acc, bcs my phone number changed. 18:20 < bridge> the support just changed it without any verfication at all xdd 18:21 < ChillerDragon> sus 18:21 < bridge> i use keypass 18:21 < bridge> keepass 18:21 < ChillerDragon> also for moms maiden name? 18:21 < bridge> i was never asked that xD 18:22 < ChillerDragon> yea its not that wide spread anymore 18:22 < ChillerDragon> different generation 18:22 < bridge> only thing i once used as verification was name of my first school 18:22 < ChillerDragon> gen Z jopsti 18:22 < bridge> Y 18:22 < ChillerDragon> ye but did you put actual school name? 18:22 < bridge> This https://keepass.info/ ? 18:22 < ChillerDragon> or passphrase? 18:22 < bridge> i purposely wrote it wrong xd 18:22 < bridge> but yes 18:22 < ChillerDragon> what school did you go to? 18:23 < bridge> grundschule 18:23 < ChillerDragon> xd 18:23 < ChillerDragon> i love how my mood always swings during those scenarios 18:24 < ChillerDragon> from "MF LET ME I IN I OWN THIS ACCOUNT CANT YOU TELL I AM REAL" to "wtf WHY DID YOU LET ME IN I BARLEY PROOFEN ANYTHING?! DO YOU LET IN EVERYBODY TO MY ACCOUNT!?" 18:24 < ChillerDragon> its gonna be fun with ddnet accounts too 18:26 < ChillerDragon> i feel like 20% of all ddnet++ accounts got a pw reset already because they forgot pw 18:26 < ChillerDragon> and i had to use weird shenanigans to proof identity 18:26 < ChillerDragon> on ddnet scale that will be madness 18:29 < ws-client> helo i reel lerato! i forgot my maxbook pw and lost ssh key can u plz add my new ssh key to ddnet servers ``ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICw657xjb37Z7DJ+5uoPDMvLEirgFCTRmV1eblGgXzcX chilleddreggen@yahoomail.tk`` 18:32 < bridge> ah hi learado davinci 18:32 < bridge> 18:32 < bridge> ofc i can 18:39 < bridge> lol 18:40 < bridge> zilera why u scem 18:40 < bridge> scemmer 18:40 < ChillerDragon> wot 18:40 < ChillerDragon> no proof 18:40 < bridge> Its added btw 18:40 < bridge> ssh 127.0.0.1 18:40 < ChillerDragon> axaxax it works 18:40 < ChillerDragon> now i will rm -rf / 18:40 < bridge> Nice 18:40 < ChillerDragon> yahahahaha 18:41 < bridge> Ty 18:41 < bridge> yahoo 18:41 < ChillerDragon> yehaa 18:41 < bridge> <.lepinpin> hey what is the ddnet github pls 18:41 < ChillerDragon> ddnet 18:41 < bridge> /ddnet 18:42 < ChillerDragon> github.com/ddnet/ddnet 18:42 < bridge> <.lepinpin> ok thx 18:42 < bridge> https://github.com/ddnet/ddnet 18:42 < bridge> (its fake) 18:42 < ChillerDragon> its trap 18:42 < bridge> https://tenor.com/view/star-wars-its-a-trap-admiral-ackbar-gif-16142988 18:42 < bridge> https://github.com/teeworlds/teeworlds 18:42 < ChillerDragon> https://www.ddnet.io/ 18:42 < bridge> <.lepinpin> nice 18:42 < ChillerDragon> code is hosted here 18:42 < bridge> its #developer 🤓 18:43 < bridge> Where heino 18:43 < bridge> dont summon him 18:43 < bridge> never 18:43 < bridge> he secretly reads IRC 18:43 < bridge> <.lepinpin> it will be dnet or teeeworld 18:43 < bridge> u dont have to, he will come himself :justatest: 18:43 < bridge> 24/7 18:43 < bridge> exactly 18:43 < bridge> sleep is for the weak 18:43 < bridge> Nono 18:43 < bridge> he sleep 18:43 < bridge> even the strongest human has to sleep... weaklings 18:43 < bridge> but he listenes via headphones 18:44 < bridge> tts 18:44 < ChillerDragon> i have alexa read out #developer messages when i sleep 18:44 < bridge> And when "Image.png" appears he wakes up 18:44 < bridge> <.lepinpin> @jupeyy_keks so its the git hub for ddnet or teeworld 18:44 < bridge> its the git for hub my man 18:44 < bridge> what if someone writes "alex send in #developer where i live :kek: " 18:44 < bridge> Then alex will send in where he live 18:45 < bridge> fair 18:45 < bridge> :kek: 18:45 < bridge> afk 18:45 < ws-client> where i live 18:52 < bridge> is alex a chinese brother of alexa or what 18:59 < ChillerDragon> $sh echo ' December 2023' > /usr/bin/cal 18:59 < ChillerDragon> !ping 18:59 < ChillerDragon> a forgot my raspi is ded 20:11 < bridge> i wanted to register in matrix but it said that my name is taken. i remembered that i arleady signed up but i dont remember the password. rip my name :feelsbadman: 20:16 < bridge> can you somehow check total time spent on ddnet servers? 20:17 < bridge> what is your ingame name? 20:17 < bridge> Boci 20:17 < bridge> so you played for 7 hours yet? 20:17 < bridge> https://ddnet.org/players/Boci/ 20:17 < bridge> no, i play since 2016 😄 20:17 < bridge> ah 20:17 < bridge> it only works since 1-2 years 20:17 < bridge> before that no 20:17 < bridge> i want not only this years stats 20:18 < bridge> last year it was like 1000 20:18 < bridge> im sure it's been implemented for 3+ years 20:18 < bridge> https://ddnet.org/players/?json2=Boci 20:18 < bridge> yeah, wasn't it 3 years? 20:18 < bridge> search: hours_played 20:19 < bridge> seems incomplete 20:19 < bridge> ddnet server 20:19 < bridge> i think it should be pretty accurate 20:20 < bridge> Jupstar that only amounts to last year doesn't it? 20:21 < bridge> ddstats should contain more info I think 20:21 < bridge> first datapoint is at 2021-07-24 20:21 < bridge> first datapoint is at 2021-07-13 20:21 < bridge> thats not accurate im sure 20:21 < bridge> and there is only 76 ebtrues 20:21 < bridge> and there is only 76 entries 20:22 < bridge> oh nvm, I'm saying shit then 20:22 < bridge> it would work if i hadn't skipped playing for 2 years 20:22 < bridge> that date is probably when they starting keeping track of hours ig 20:25 < bridge> yea could be 20:25 < bridge> Mhm, data has only been collected since 2021-05-18. Here , you can find some more detailed stats, but it's still quite futile. 20:27 < bridge> for some reason I though ddstats had been going on for a bit more time 20:59 < bridge> oh wow 20:59 < bridge> ddstats? 20:59 < bridge> xd 20:59 < bridge> didnt know about this one 21:00 < bridge> i got ddstats.org tho 21:06 < bridge> wait, but it's thje same database isn't it?? 21:11 < bridge> after bajillion of tries i got it 21:22 * owo slaps bridge around a bit with a large fishbot 21:22 < owo> help 22:05 < bridge> does it work 0\_o 22:06 < bridge> holy hell im hacker man 23:44 < bridge> https://loco.rs/