01:11 <+bridge> can we add a build option to disable rust 01:11 <+bridge> atm it doesn't do anything and it would help build times 01:12 <+bridge> <_voxeldoesart> https://www.tabnine.com/ 01:12 <+bridge> <_voxeldoesart> @ryozuki 01:12 <+bridge> <_voxeldoesart> this screams you 01:12 <+bridge> <_voxeldoesart> escept maybe it not being vim 01:12 <+bridge> what is escept 01:12 <+bridge> <_voxeldoesart> except* 03:47 <+bridge> @robyt3 linking `NtosKrnl.lib` may fix the windows undefined reference issues 03:47 <+bridge> @robyt3 explicitly linking `NtosKrnl.lib` may fix the windows undefined reference issues 07:02 <+bridge> Yo amigos, anyone know a good way to get your dummies' coords even if its outside of render distance? Currently im trying this with the dummy's ID and it returns 0 once my main gets far away from it. 07:02 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120216925755166830/image.png 07:02 <+bridge> Yo amigos, anyone know a good way to get your dummies' coords even if its outside of render distance? Currently im trying this with the dummy's ID and it returns {0,0} once my main gets far away from it. 07:02 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120216925755166830/image.png 07:12 <+bridge> Just a guess, but maybe the chat command `/showall 1` might help? 07:12 <+bridge> 07:12 <+bridge> "Whether to show players at any distance (off by default)" 07:14 <+bridge> ooh 07:15 <+bridge> thanks, that did the trick! 07:46 <+bridge> another botter helped 07:48 <+bridge> <_voxeldoesart> yeah hold on 07:48 <+bridge> <_voxeldoesart> what are you trying to do? :o 08:04 <+bridge> To detect if the dummy is where i left it 08:21 <+bridge> Spotted the cynic 08:23 <+bridge> :greenthing: 08:23 <+bridge> This is NOT greenthing 08:30 <+bridge> If something like this gets released to the public that might cause some trouble https://youtu.be/AJF7iMXodbE 08:30 <+bridge> That fully convinced me it’s not a human 08:34 <+bridge> 99% of the randoma ask for help for bots, indirectly 08:34 <+bridge> and i still believe u are here for that 08:34 <+bridge> I will ask directly next time I suppose 08:34 <+bridge> So you are botting 08:34 <+bridge> yes pls, so we know not to help 08:35 <+bridge> :bluekitty: 08:35 <+bridge> 🦔 08:39 <+ChillerDragon> need bot? 08:39 <+ChillerDragon> chillerbot.github.io 11:13 <+bridge> @ryozuki I Just had a look at chillberbot-ux, found this camp feature. This is pretty much what im doing rn. You consider this botting? 11:13 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120280082339070024/Screenshot_20230619-111139-634.png 11:22 <+bridge> yeye dont talk to me 11:22 <+bridge> i aint talkin to botters 11:24 <+bridge> 😴 11:39 <+bridge> ChillerDragon: ryo refuses to talk to you further :troll: 11:40 <+bridge> :poggers2: 11:46 <+bridge> Chiller always the exception 11:53 <+bridge> ChillerDragon that camp feature is against the rules btw 11:55 <+bridge> whose rules 11:55 <+bridge> I’ve only ever seen chillerbots on block servers 11:56 <+bridge> We do not allow any client feature that does inputs for you, unless it's also in the official client 11:57 <+bridge> I was going to say that to him, but he instructed me to not talk to him 11:57 <+bridge> I was going to say that to ryo, but he instructed me to not talk to him 11:57 <+bridge> What do you mean by 'do not allow'? What is the penalty? 11:58 <+bridge> ‘Your’ rules are irrelevant if he’s not playing on your servers. Lol 11:59 <+bridge> You are so cool when you are being pedantic. Ofc we can't do anything about servers other than ours. 12:00 <+bridge> The penalty for using it on a ddnet server is a ban like all other bots 12:00 <+bridge> Sorry. I didn’t mean to be a pain in the ass 12:00 <+bridge> I just figured he knew it was against ddnet rules and is redundant to point out 12:00 <+bridge> I just figured he knew it was against ddnet rules when he made it and so it’s redundant to point out 12:00 <+bridge> Who, me or chiller? 12:01 <+bridge> Chiller 12:01 <+bridge> I think you’re breaking the rules lol 12:01 <+bridge> I guess so, but i dont really play ddnet 12:03 <+bridge> Just giving you a heads up is all. Not like we can stop you from coding whatever you like. 12:04 <+bridge> Yeah np, for what its worth i have no interest in making something to cheat in ddnet servers 12:04 <+bridge> Since 3 days we talk about bots 🥱 12:05 <+bridge> An anti afk bot might not hurt the racing competition but it still does smth a human can't do 12:05 <+bridge> So other ppl see it and want it too 12:06 <+bridge> Yeah I'm not a huge fan of people making these bots and even less a fan of them being available for the public 12:07 <+bridge> For any automated input the anti bot has to assume u are a cheater anyway 12:07 <+bridge> The anti bot? 12:07 <+bridge> Is there even anything like that on the ddnet servers? I have never seen anyone get auto banned for botting 12:09 < ws-client> The big ban 12:09 < ws-client> mhh interesting 12:09 < ws-client> seems like my mobile discord ain't working anymor 12:09 <+bridge> The big ban 12:09 <+bridge> The big ban 12:09 <+bridge> Huh? 12:10 <+bridge> The anti bot exists yes 12:10 <+bridge> I dunno how good it is, BCS i never challenged it xd 12:11 <+bridge> Gotcha 12:14 <+bridge> bruh another bot client is coming 12:16 <+bridge> Antibot for kog and fng is more obvious 12:16 <+bridge> Because they’re easier to write bots for 12:18 <+bridge> :greenthing: 12:18 <+bridge> write another implementation of antibot pls 12:19 <+bridge> Yeah i figured. I see people get flagged on fng and fokkonauts server all the time. I wonder how much of that is because people use bots more there and how much because the antibot is more sensitive 12:20 <+bridge> Are bullet lines against the rules? That isnt technically automated input 12:21 < ws-client> but automated vision 12:21 <+bridge> What is bullet lines? Like hooklines but trajectories for projectiles? 12:23 <+bridge> The rule is no automated input. The rest are a bit of a grey area, I'm of the opinion that it's fine mostly because impossible to detect anyway 12:25 <+bridge> I'd say they are a cheat anyway. If in CSGO the cursor would tell you where to aim for a better spray or how far off your aim is to hit the head of an opponent, it's an unfair advantage 12:26 <+bridge> No killing in ddnet so it's a little better, but I do get your point 12:38 <+bridge> CS2 Follow recoil 12:42 < ws-client> uff, didnt know CS2 added such a feature 12:42 < ws-client> but if the game adds it as defaults its ofc no cheat... if this is a good addition is ofc a different question 13:27 <+bridge> no, bullet lines are also against the rules 13:28 <+bridge> they give you a gameplay advantage over the original client 13:29 <+bridge> Where do we even have this written down? I'm sure I would have objected to the addition of this clearly unenforceable rule if we ever discussed it 13:30 <+bridge> we probably haven't written it down anywhere 13:31 <+bridge> in that sense, a proper aimbot would also be undetectable 13:31 <+bridge> so I don't think this is a good line 13:32 <+bridge> An aimbot has a chance to be detected. A rendered line on the screen has no chance to be detected unless you want to go closed source and add clientside anticheat 13:32 <+bridge> no, not if you do it properly 13:32 <+bridge> also, this has nothign to do with being closed source 13:32 <+bridge> also, this has nothign to do with being open source 13:33 <+bridge> Afaik any reasonable aimbot can be deduced by looking at recorded footage of the player in question. For the bullet lines, if someone is perfectly hitting bounces first try, that too can become suspicious 13:33 <+bridge> Or atleast only allow binary releases. Whatever, point is we can't detect it while allowing any client we haven't directly built 13:35 <+bridge> i compile my own from git with my ebuild 13:35 <+bridge> If it doesn't do inputs for you it's not a cheat in the context of ddnet, atleast if it were my servers that's how I would do it. 13:35 <+bridge> I think that's not consensus 13:36 <+bridge> Which is why I said it's how I would run my own servers, and why I said it's a bit of a gray area when asked in the official context 13:36 <+bridge> I see 13:36 <+bridge> we can have that discussion, if you want to 13:36 <+bridge> It's a grey area because it's not written down and at the very least you and I seem to disagree 13:37 <+bridge> Who is the final authority/ owner in ddnet anyway? 13:37 <+bridge> heinrich 13:37 <+bridge> even if he denies it 13:37 <+bridge> Very technically deen, but he doesn't play that card ever 13:37 <+bridge> Ooh @heinrich5991 nice to meet you 13:38 <+bridge> So in practice anyone with a light green name + heinrich gets a say in every decision 13:39 <+bridge> which is really sad 13:39 <+bridge> Ah ok makes sense 13:39 <+bridge> Whys that sad? How would you want it? 13:39 <+bridge> i like openness 13:39 <+bridge> open discussion 13:39 <+bridge> open decisions 13:39 <+bridge> heinrich is good 13:39 <+bridge> but im still waiting for options :feelsbadman: 13:39 <+bridge> @gerdoe no, heinrich hardly moves out of what he thinks is good 13:40 <+bridge> Very rarely there is anything to be decided in secret anyway. I guess the picking of new mods is about all that happens in private 13:40 <+bridge> I'd say anything that makes gameplay easier than "DDNet client without extra tools" is considered a cheat 13:40 <+bridge> whatever but his decisions are good mostly 13:40 <+bridge> Oh, heinrich said so before too 13:41 <+bridge> thats ur opinion 13:41 <+bridge> i know many people disliked the single handledly enforcement of the new hammer 13:41 <+bridge> which is a BEFORE and AFTER era for ddnet 13:41 <+bridge> it rly changed ddnet drastically 13:41 <+bridge> That wasn't his decision alone 13:42 <+bridge> anyway, i have no say in this or many things 13:42 <+bridge> Not like he went rogue and pushed to master 13:42 <+bridge> yeah, he has rly good conversational skills, in that it makes others look stupid, and obviously he didnt push to master, but used his influence heavily 13:43 <+bridge> anyway we cant change the past 13:43 <+bridge> but thats how ddnet is now 13:43 <+bridge> What kind of criticism is that 13:43 <+bridge> for me, heinrich is like the BFDL of ddnet 13:43 <+bridge> bdfl* 13:43 <+bridge> u wont understand cuz ur new 13:43 <+bridge> he speaks like a politician 13:44 <+bridge> thats what i mean 13:44 <+bridge> I don't think BDFLs usually get overruled 😄 13:44 <+bridge> yeah he is still here xD 13:45 <+bridge> @ryozuki wait, aren't you in unique? 13:45 <+bridge> Learned a new term, thanks 13:45 <+bridge> i am, but i dont rly partake much in the activities xD 13:45 <+bridge> why 13:46 <+bridge> Seems weird that heinrich argues in your favor and you against him 13:46 <+bridge> How is the ability to convince other people a bad thing? Not like we agreed to it without thinking about it because he is well spoken 😄 13:46 <+bridge> were did he argue in my favour? 13:46 <+bridge> In our private #admin chat about race maps 13:47 <+bridge> its not a bad thing per se, just frustrating on my part xd 13:47 <+bridge> i just know timakro told me is hosting some servers in taiwan or smth 13:47 <+bridge> but just because he says well stuff doesnt mean i would say he is the best right 13:47 <+bridge> just like im hosting the wiki i dont expect anything 13:48 <+bridge> anyway im not even badmouthing 13:48 <+bridge> its my opinion on him, he does lot of controversial decisions thats it 13:48 < ws-client> @ryozuki just code smth everyone wants, but only you can maintain. then u are the hostage taker <:lol:460429405328506900> 13:48 <+bridge> There is some sense to this, but what would projectile lines even help with? I imagine it would be mostly used for planning rocket shots which you can just do by spamming a couple 13:49 <+bridge> @Jupeyy_Keks xd like what? everything is done 13:49 <+bridge> and i lack time 13:49 <+bridge> Yeah, Jupstar is the BDFL of the gfx code. Become like him if you want influence 13:49 <+bridge> That and quickly seeing if someone is reachable by rifle/sg 13:50 <+bridge> just wanted to say that dev chat can be a echo chamber for decisions, nothing wrong with asking others about opinions, like i did with the friend list that robyt made and posted on #general 13:50 <+bridge> Erlang masters. None of us could maintain anything about it 13:51 <+bridge> @learath2 or be like robyt and do everything, he has the right to be bdfl 13:51 <+bridge> that would be dope, but i would use https://gleam.run/ 13:51 <+bridge> But the things he does is generic, you need to become an irreplaceable cog if you want true bdfl powers 13:51 <+bridge> which runs on the erlang BEAM 13:53 <+bridge> btw its june 13:53 <+bridge> c++20 13:54 < ws-client> letse go 13:54 < ws-client> https://ubuntu.com//blog/18-04-end-of-standard-support 13:54 < ws-client> since 31 may already 13:54 < ws-client> xd 13:55 <+bridge> there is something else we can update besides c++20 right 13:55 <+bridge> i forgot 13:55 <+bridge> im sure there are new shiny things 13:55 <+bridge> Sorry, but that sounds super wrong to me. BDFL is more of a descriptive term for a specific leadership role within an open-source project, rather than a defined right. 13:56 < ws-client> @ryozuki rust? 13:56 < ws-client> or do we drop opengl 1.x 😂 13:56 <+bridge> i know, i was kinda joking 13:56 <+bridge> :justatest: 13:56 <+bridge> uh ok 👀 13:56 <+bridge> rust deps 13:56 <+bridge> true 13:57 <+bridge> we can update rust to newer version 13:57 < ws-client> why even do this with rust at all? 13:57 <+bridge> in steam it says we only support opengl 2.1+ 13:57 < ws-client> just enforce rustup 13:57 <+bridge> cuz heinrich 13:57 <+bridge> he wants to support old debian rust 13:57 < ws-client> thats really weird 13:57 <+bridge> :PES2_Shrug: 13:57 < ws-client> isnt it nice that rust doesnt do it so shitty over system package manager 13:57 <+bridge> i never use the rust from system package manager 13:58 <+bridge> rustup is so powerful 13:58 <+bridge> I like using it from the arch repos 13:58 < ws-client> yeah 13:58 <+bridge> it gives me automated updates 13:58 <+bridge> put rustup update in .bashrc 13:58 <+bridge> but yeah 13:58 <+bridge> heinrich wants it 13:58 <+bridge> no need to argue 13:58 < ws-client> or convince rustup to make a plugin for the system package managers 13:59 <+bridge> you can install rustup via arch's package manager as well 13:59 <+bridge> > or convince rustup to make a plugin for the system package managers 13:59 <+bridge> that sounds stupid ^^ it does away with the entire reason of system package managers 13:59 <+bridge> i forgot at which version of rust we are 13:59 <+bridge> i.e. you could just use rustup itself instead 13:59 <+bridge> in ddnet 13:59 < ws-client> yeah but apparently u like package manager auto update more 14:00 <+bridge> i also dislike heinrich rust style 14:00 < ws-client> so if the package manager simply triggers rustuo 14:00 < ws-client> rustup 14:00 < ws-client> xDD 14:00 <+bridge> ah 14:00 <+bridge> I see 14:00 < ws-client> @ryozuki the includes? 14:00 <+bridge> yeah 14:00 < ws-client> i wonder if vscode would simply refactor them when i click save xD 14:00 <+bridge> and idk libtw i hate it, but probs cuz its rly old code 14:00 <+bridge> yes, rustfmt nightly can do it 14:01 <+bridge> can you maybe be less negative about stuff I create, @ryozuki? 14:01 < ws-client> i actually dont care, aslong as i dont need to do it manually :D 14:01 <+bridge> I don't go around saying other people's creatiosn are crap 14:01 <+bridge> u said that urself now 14:02 <+bridge> i just said i hate the style its written with 14:02 <+bridge> dont put words in my mouth 14:02 <+bridge> > and idk libtw i hate it, but probs cuz its rly old code 14:02 <+bridge> hate is not saying its crap 14:02 <+bridge> but i was talking in the context of code style 14:02 <+bridge> I also don't go around saying I hate other people's creations 14:02 <+bridge> I see, still not nice 14:03 <+bridge> :bluestripe: 14:03 <+bridge> but better 14:03 <+bridge> im out 14:03 <+bridge> thanks 14:03 <+bridge> this was not nice 14:03 <+bridge> :justatest: 14:03 <+bridge> good morning developers of ddnet 14:03 <+bridge> good morning 🙂 14:03 < ws-client> whom do i insult if i say ddnet is crap? xd 14:04 <+bridge> probably a collective, so less bad 14:04 <+bridge> especially since you're in it 14:04 <+bridge> Every person that likes ddnet feels, obviously 14:04 <+bridge> Every person that likes ddnet, obviously 14:05 <+bridge> i just need to make a mental note 14:05 <+bridge> dont comment on anything relating to heinrich 14:05 <+bridge> but well even joking is not something u can do 14:05 < ws-client> @learath2 pm me ssh key for discord bot server 14:06 <+bridge> That'd be ddnet.org :justatest: 14:06 <+bridge> Perfect 14:06 <+bridge> :greenthing: 14:06 <+bridge> Or give me skin database pw and invite my DC bot 14:06 <+bridge> I can also host it 14:07 <+bridge> What bot? 14:07 <+bridge> We need one more discord bot? 14:07 <+bridge> Skin uploading 14:07 <+bridge> I don't think we'll allow that ever to happen again. jao self-hosting the @DDNet was kind of a pain in the butt 14:07 <+bridge> YAYADDB 14:07 <+bridge> i was making ryochan 14:07 <+bridge> I don't think we'll allow that ever to happen again. jao self-hosting the @DDNet bot was kind of a pain in the butt 14:07 <+bridge> What happened 14:08 <+bridge> you can try run 2 runtimes a time 14:08 <+bridge> to replace @DDNet in rust 14:08 <+bridge> will this work tho 14:08 <+bridge> It's ok we can run another bot, just confused why you didn't just add onto one or the other 14:08 <+bridge> I wonder about that too xd 14:09 <+bridge> https://stackoverflow.com/questions/69796271/simultaneously-running-separate-programs-using-the-same-token 14:09 <+bridge> seems it works 14:09 <+bridge> Ez 14:09 <+bridge> pyson moment or smth 14:09 <+bridge> I guess I'll merge it into either @DDNet or @DDNet or @DDNet 14:09 <+bridge> One day 14:10 <+bridge> Ah we have 3 bots 14:10 <+bridge> you should name the other DDNet bot [D] DDNet 14:10 <+bridge> He was the only person who was able to do anything with the bot. If it ever broke, we'd have to wait for him to fix it 14:10 <+bridge> Nice 14:10 <+bridge> Ah I see xd 14:10 <+bridge> To DDosNet 14:10 <+bridge> DNNet 14:10 <+bridge> Twinbop 14:11 <+bridge> twinbopp 14:11 <+bridge> @learath2 did u know 14:11 <+bridge> string concat in erlang doesnt allocate another string iirc 14:11 <+bridge> since they are linked lists xd 14:12 < ws-client> wtf 14:12 <+bridge> but they slow 14:12 <+bridge> but well erlang is not made for that 14:13 <+bridge> also erlang has first class bit syntax 14:13 <+bridge> ```erlang 14:13 <+bridge> -define(IP_VERSION, 4). 14:13 <+bridge> -define(IP_MIN_HDR_LEN, 5). 14:13 <+bridge> 14:13 <+bridge> DgramSize = byte_size(Dgram), 14:14 <+bridge> case Dgram of 14:14 <+bridge> < ID:16, Flgs:3, FragOff:13, 14:14 <+bridge> TTL:8, Proto:8, HdrChkSum:16, 14:14 <+bridge> SrcIP:32, 14:14 <+bridge> DestIP:32, RestDgram/binary>> when HLen>=5, 4*HLen= 14:14 <+bridge> OptsLen = 4*(HLen - ?IP_MIN_HDR_LEN), 14:14 <+bridge> <> = RestDgram, 14:14 <+bridge> ... 14:14 <+bridge> end. 14:14 <+bridge> ``` 14:14 <+bridge> > Here, the segment corresponding to the Opts variable has a type modifier, specifying that Opts is to bind to a binary. All other variables have the default type equal to unsigned integer. 14:14 <+bridge> > 14:14 <+bridge> > An IP datagram header is of variable length. This length is measured in the number of 32-bit words and is given in the segment corresponding to HLen. The minimum value of HLen is 5. It is the segment corresponding to Opts that is variable, so if HLen is equal to 5, Opts becomes an empty binary. 14:14 <+bridge> interesting xd 14:15 < ws-client> wow my attention span for reading long qoutes goes against 0 14:16 <+bridge> xd 14:16 <+bridge> and yes erlang syntax sucks 14:16 <+bridge> Linked list of strings or linked list of characters? If strings, it's not exactly an awful idea 14:16 <+bridge> elixir improves a bit xd 14:17 <+bridge> strings iirc 14:17 <+bridge> Even better idea is tree of strings, truly revolutionary 14:17 <+bridge> hm 14:17 <+bridge> now that i think 14:18 <+bridge> i think strings are lists in erlang 14:18 <+bridge> xd 14:18 <+bridge> > A string in Erlang is implemented as a linked list of integers. This leads to a large memory 14:18 <+bridge> > overhead on modern hardware (64 bits) causing each character to take 16 bytes, especially 14:18 <+bridge> > compared to the natural representation where each character takes 1 byt 14:19 <+bridge> https://odr.chalmers.se/server/api/core/bitstreams/b0b0e82e-95a1-493c-a3ee-435e17e8a43e/content 14:23 <+bridge> Bizarre design choice. I wonder what compelled them to it 14:25 <+bridge> Is appending so common in telecommunication that the ability to do O(1) worth it? But why not ropes or atleast a linked list of char arrays? 14:25 <+bridge> @learath2 or @Jupeyy_Keks do u know how to make clangd treat .inc files as c++ 14:25 <+bridge> llvm tablegen generates c++ headers with .inc 14:29 < ws-client> mh i dunno, the vscode cmake generator associates files without ending e.g. from standard 14:30 < ws-client> but i guess only for vscode and not clangd 14:30 <+bridge> yeah 14:30 <+bridge> idk how to get clangd autocomp 14:30 <+bridge> i have a clangd file with includes 14:30 <+bridge> but it doesnt find the .inc file 14:30 <+bridge> xd 14:30 <+bridge> but its there 14:31 < ws-client> oh thats weird tho 14:31 < ws-client> an include is simply a text replace 14:31 < ws-client> it should even work on txt files 15:09 <+bridge> good one 15:31 <+bridge> Lol, so how'd you write this bot. This is honestly crazy 15:31 <+bridge> https://www.youtube.com/watch?v=Hda2h7ph8-c 15:37 <+bridge> no bot dev discussion 15:37 <+bridge> :greenthing: 16:16 <+bridge> im not a bot 16:16 <+bridge> i wonder when ddnet anarchy server drops 16:20 <+bridge> <_voxeldoesart> bombay 16:46 <+bridge> do you have questions? happy to answer 🙂 17:06 <+bridge> Does anyone else experience some weird emote delays? 17:06 <+bridge> Do any of you use an IME on linux? Which one is good nowadays? 17:08 <+bridge> > this is just making image management messier than it already is 17:08 <+bridge> 17:08 <+bridge> @_voxeldoesart what do you think would be better than my changes? Not moving arrow, strong weak indicator and new shields into the extra.png? 17:08 <+bridge> Do you think multiple single images are better for image management? Adding all these images to our ingame modding / texture selector would maybe make it complex for normal users, do you think that would be nice / better? 17:08 <+bridge> 17:08 <+bridge> From modding point of view, I guess a problem is, that I merged particles, HUD elements, OPD elements and Game Tetures into one image, do you think that is bad? Could you explain more what you do not like, and make a suggestion that you would like more. 17:09 <+bridge> @Jupeyy_Keks Are you around? 17:13 <+bridge> In around 10min 17:14 <+bridge> Ah, the issue doesn't seem to be reproducible 17:15 <+bridge> @ravie_ravie Have you had time to test in the meantime? 17:15 <+bridge> You have changed the texture of the weapon armor and of the key presses indicator arrow (they are little smaller because of the extra margin). Were these changes made intentionally or did you simply not have access to the original images? The weapon armor do now no longer match the shields in entities. I guess, if you wanted this change and all agree on it, the entities should also be changed. 17:17 <+bridge> I do. it's probably not good or anything 17:17 <+bridge> I use ibus with anthy 17:18 <+bridge> > Note: Anthy has been effectively dead since 2009.[2] 17:18 <+bridge> I use fcitx5, its best if you also want to write Japanese 17:19 <+bridge> ah, interesting 17:19 <+bridge> but wait, that's only one part 17:19 <+bridge> that's the IMF apparently 17:19 <+bridge> what's your IME? 17:20 <+bridge> Moving things around makes old resources unusable, I guess that's one concern? 17:24 <+bridge> I was eyeing fcitx5 with mozc 17:24 <+bridge> currently none; I stopped learning Chinese. I guess you could use fcitx5-anthy for Japanese, But I used Mozc. 17:25 <+bridge> if we move stuff around, I'd like to consider(!) moving to zip files instead of sprites 17:25 <+bridge> this would make future changes easier at the cost of having no preview by default 17:27 <+bridge> zip files might be a good idea, @Jupeyy_Keks is that feasible? If the gfx backend can't build the atlas at runtime I guess we could just build it on the cpu before uploading 17:28 <+bridge> zip files have very nice properties for future-compatibility: you can very easily detect which sprites are present and which are not 17:29 <+bridge> No preview is a little annoying and sharing them is harder 17:29 <+bridge> What would be the benefit of having a zip with multiple images, instead of just the multiple single images? 17:29 <+bridge> No more moving around 17:29 <+bridge> ah 17:29 <+bridge> also forward compatibility 17:30 <+bridge> because you now see that this game.png doesn't contain a snowflake 17:30 <+bridge> Hm, I remember some artists saying they'd rather die than let users mismatch assets 17:30 <+bridge> because you now see that this game.zip doesn't contain a snowflake.png 17:30 <+bridge> Aha, a wild Ravie shows up 17:30 <+bridge> this isn't about mixing 17:30 <+bridge> So no sprites at all? Just every single icon each solo in a single image, that gets ziped together with all images? 17:31 <+bridge> that's the option I wanted us to consider, yes 17:31 <+bridge> I changed the shields and arrow to have everything in vector and also because the old shields are really ugly 17:31 <+bridge> Doesn't have to be all images, we can split it into multiple contextful zips I guess. So you can have a hud.zip e.g. 17:31 <+bridge> I can change the ones in entities as well 17:32 <+bridge> For me its fine, I have not tested yet how they look ingame... I will make a screenshot. If everyone is fine with it, I guess we can change them 17:32 <+bridge> Actually I think the easier sharing and the nice way to preview assets is more important to me than the compatibility, as long as we just extend the image from the bottom right corner it's future proof anyway 17:33 <+bridge> Just never move stuff around, there isn't much reason to move it around anyway 17:33 <+bridge> not currently, we're resizing the image to fit what we want 17:33 <+bridge> we should maybe look at the aspect ratio or something 17:33 <+bridge> Wait, really? That's horrible 17:34 <+bridge> yes 17:34 <+bridge> AFAIK 17:34 <+bridge> I thought we just cropped 17:34 <+bridge> well, it can have any resolution 17:34 <+bridge> so you'd have to be a bit clever about it 17:34 <+bridge> and we aren't, I think 17:35 <+bridge> what issues are we talking about 17:35 <+bridge> I mean extending images to right or bottom should be fine. We will not do that to often, and outdated textures will get forgotton. 17:35 <+bridge> Ah, we allow higher res resources too 17:35 <+bridge> so we're only allowed to extend it to the bottom 17:36 <+bridge> and we need to be a bit clever about the cropping 17:36 <+bridge> and we need to provide a spot where artists can put their logo 17:36 <+bridge> seems feasible though 17:36 <+bridge> if you guys are talking about the new extras.png, there's plenty of space left for future stuff so no need to worry about extending it for a while if ever 17:36 <+bridge> oh no 17:36 <+bridge> not this discussion again 17:37 <+bridge> @c0d3d3v's new pr was moving some stuff around, that's why we are talking about it 17:37 <+bridge> yeah he implemented the combined image that I made a while ago 17:38 <+bridge> your strong response suggests to me that you already have come to a conclusion in one of the past discussions, would you mind enlightening us on the best course of action in that case? 17:39 <+bridge> dont extend images 17:39 <+bridge> dont use zip files 17:39 <+bridge> So don't change? 17:39 <+bridge> xD btw. I asked if we are allowed to / should move the images (that we moved) all into one image back then... there was no argument against it. But since the discussion is over 8 month ago, Its good that we discuss it again. 17:39 <+bridge> give me a tl;dr i only skimmed it 17:40 <+bridge> Recent PR moves stuff around, which is a compatibility break (I think?), we were talking about whether that's okay, and should we maybe use zip files instead so we don't have this problem ever again 17:41 <+bridge> the problem and zip files seem unrelated 17:41 <+bridge> we should move the shields, bcs that was always the plan.. i dunno who released a map with these shields 17:41 <+bridge> stop doing weird hacks with extending and zips tho 17:41 <+bridge> zip files allow to update in the future without compatibility breaks 17:41 <+bridge> that's why it's related 17:42 <+bridge> we dont need zip files for this 17:42 <+bridge> hud.png and the new extras.png aren't compatible, so it's a break indeed 17:42 <+bridge> they are not compatile anyway since we have new freezebar and new icon 17:42 <+bridge> I was just trying to help understand why zip files are related 17:43 <+bridge> why zip files allow to update? 17:43 <+bridge> moving the shields is a break, moving anything is a break if you ever want to re-use that space 17:43 <+bridge> because you can easily detect whether a sprite exists or not 17:43 <+bridge> yes, i have nothing against splitting up all textures 17:43 <+bridge> texture atlasses suck for modding 17:43 <+bridge> the thing is, I merged arrow.png; strongweak.png and the weapon shields into extras.png with the single freeze particle 17:43 <+bridge> but make it ez for the end users 17:43 <+bridge> move file loading to a thread 17:43 <+bridge> dont load useless stuff 17:44 <+bridge> and then we can still _additionally_ think about zip files or smth like that if we really need it 17:44 <+bridge> Now that has nothing to do with compatibility 😄 17:44 <+bridge> so that when you add snowflake.png, it can fallback to the default snowflake.png if it doesn't exist in the user's textre 17:44 <+bridge> so that when you add snowflake.png, it can fallback to the default snowflake.png if it doesn't exist in the user's texture zip 17:44 <+bridge> yeah i know 17:44 <+bridge> i am mostly about usability 17:44 <+bridge> often ppl want to change the gun 17:44 <+bridge> thats it 17:45 <+bridge> explaining zip files to nobos is annoying 17:45 <+bridge> I mean it doesn't have much to do with usability either, no? It'll just make loading faster and appear smoother 17:45 <+bridge> @murpi pm me if we wanted to talk about smth 17:45 <+bridge> Yeah, this is my concern with it, no previews and having to zip/unzip stuff 17:45 <+bridge> isnt there already a multithreaed loading system in progress? 17:45 <+bridge> isnt there already a multithreaded loading system in progress? 17:46 <+bridge> zip files are good for performance, and zip files allow sharing the whole texture. it makes it slightly harder over individual files to edit individual textures 17:46 <+bridge> note that all OSs have native support for zip files 17:46 <+bridge> so you can just copy an image into a zip file on windows 17:46 <+bridge> e.g. 17:46 <+bridge> yeah zips are better for read perf 17:46 <+bridge> 17:46 <+bridge> but not for customization 17:46 <+bridge> and we simply dont need the performance 17:46 <+bridge> why not customization? 17:47 <+bridge> bro, have u ever talked to #questions or #bugs ppl? 17:47 <+bridge> it's easier to share a zip of a whole customization than 20 individual files 17:47 <+bridge> sometimes i am impressed if they can breath 17:47 <+bridge> and stop insulting our users 😦 17:47 <+bridge> and stop insulting our players 😦 17:47 <+bridge> 😛 17:47 <+bridge> Can we just all appreciate the fish in #📬submit-skins 17:48 <+bridge> yeah i dunno, most understand unzipping.. many dont even understand unzipping and start the clietn inside the zip 17:48 <+bridge> now explain them to repack to a zip 17:48 <+bridge> no, it's easier than that stuff 17:48 <+bridge> I have a compromise, we can allow zips and folders 17:49 <+bridge> truth is. client needs to have every single texture in the game as config 17:49 <+bridge> 17:49 <+bridge> else ppl are never happy 17:49 <+bridge> they want the fancy weapon 17:49 <+bridge> but not the ugly hook 17:49 <+bridge> Artists can share coherent sets of assets as zips, and people that want to just customize a couple things can drag just one asset in a folder 17:49 <+bridge> zip files mean, loading a full set 17:49 <+bridge> for me this isnt more future ready than a directory 17:50 <+bridge> @murpi is it about the bot? 17:50 <+bridge> (people seem to be fine with the amount of customization even available today, I don't see this desire to replace a single asset very often at all) 17:51 <+bridge> but I do want to support it, so allow both directories and zips 17:51 <+bridge> No, something else, but it seems to have fixed itself. There was some reaaaally weird emote delay on the server I'm currently on. 17:51 <+bridge> at least once per week i read. "when can i split skins, bla bla" 17:51 <+bridge> oh ok 17:52 <+bridge> I had 1 second emote delay on china, but probably firewall? 17:52 <+bridge> could be solved by an external tool 17:52 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120380557667348501/image.png 17:52 <+bridge> yeah, maybe it works for your community 17:52 <+bridge> and at least for 70% of our 17:52 <+bridge> but not for the rest 17:52 <+bridge> my community? 17:52 <+bridge> also explaining tools is annoying too 17:53 <+bridge> the t-client gang 17:53 <+bridge> ah 17:53 <+bridge> I'm not on a chinese server 17:53 <+bridge> ideally it would just be a website 17:53 <+bridge> you drag skin images, click which ones you want to change 17:53 <+bridge> @murpi when do we test the bot, i want to see if its good enough for a start 17:53 <+bridge> in 1 week i forgot all of my ugly hacked code again xD 17:54 <+bridge> You'll have to convince @learath2 17:54 <+bridge> @learath2 send ssh 17:54 <+bridge> i do it 17:54 <+bridge> so why not just only single textures in folder instead of a zip 17:55 <+bridge> yeah i never said anything about a zip file D 17:55 <+bridge> folders aren't different from zip files on windows 17:55 <+bridge> you can enter them with the explorer 17:55 <+bridge> see i also dunno what the _best_ solution is 17:55 <+bridge> 17:55 <+bridge> but probably the one easiest for the most stupid person 17:55 <+bridge> and you can move things out and in 17:55 <+bridge> the only thing that doesn't work is starting executable from inside 17:56 <+bridge> because they will look for dependent files, and they aren't extracted together by windows 17:56 <+bridge> how windows handles it is how related to how ddnet handles it? 17:56 <+bridge> because you're telling me that users won't be able to handle zip files but they will be able to handle folders 17:56 <+bridge> zips and images 17:56 <+bridge> that alone makes no sense in my head 17:56 <+bridge> and I think they'll be able to handle zip files 17:57 <+bridge> minecraft does texture packs like that, I think 17:57 <+bridge> I'd guess other games, too, but we can check 17:57 <+bridge> you also can't see image thumbnails in a zip 17:57 <+bridge> the unpack and do the rest in the client 17:58 <+bridge> yep. I want to mention that this point was already brought up though 17:58 <+bridge> https://discord.com/channels/252358080522747904/293493549758939136/1120373813679493271 17:58 <+bridge> if u load from 2 zip files the perf will be worse tho 17:59 <+bridge> two zip files compared to what? 17:59 <+bridge> loading two zip files compared to what? 17:59 <+bridge> alone the fact that u unzip an image just to uncompress it 17:59 <+bridge> a .tar would maybe make sense, but thats ofc not a deal 17:59 <+bridge> a zip file doesn't have to be compressed 17:59 <+bridge> i only see bad things about zips 17:59 <+bridge> so its a dir in worse 17:59 <+bridge> same 17:59 <+bridge> i read zip and i get bad vibes 18:00 <+bridge> better use tar.zstd 18:00 <+bridge> so does windows automatically do that? 18:00 <+bridge> no, because you can share it as a whole 18:00 <+bridge> if u think windows handling is so good? 18:00 <+bridge> I don't know. we could investigate 18:00 <+bridge> aren't pngs already compressed? what is the benefit of the zip? 18:00 <+bridge> well u pack them anyway, its about the handling 18:00 <+bridge> merging them together into one file that can be shared, in case we have lots of little textures 18:01 <+bridge> I see 18:01 <+bridge> what do you mean by "pack them anyway"? my proposal was having lots of little images, one for gun, etc. 18:01 <+bridge> probs pack them in the graphics engine 18:01 <+bridge> to send the dir i mean 18:01 <+bridge> Zip is the only compressed format supported natively by every OS. tar would probably be ideal 18:01 <+bridge> oh 18:01 <+bridge> not really relevant, but is loading a zip really faster than loading a bunch of images one after the other? 18:01 <+bridge> Also if we use zips, the modding -> selecting images you want in your texture set, would happen outside the client, you put all images you want into one zip. And in the client we would just select the zip. In minecraft you have a metafile with a title, author in that zip and cover image for a texture set. We could also add an author logo. 18:01 <+bridge> i think recent windows allows tar 18:01 <+bridge> Windows does not zip files uncompressed per default (and has no default method to do so) 18:02 <+bridge> yes, it's faster 18:02 <+bridge> what 18:02 <+bridge> not if u need to touch 2 different zip files 18:02 <+bridge> because less file system access 18:02 <+bridge> loading a zip has to be inherently slower than loading a file directly 18:02 <+bridge> and most will be compressed 18:02 <+bridge> so unzipping takes time too 18:02 <+bridge> reading a zip with 100 files that you need is faster than reading 100 individual files 18:02 <+bridge> is what I want to say 18:02 <+bridge> the problem is @heinrich5991 thinks we **want** to load the whole zip at once 18:02 <+bridge> which we dont 18:03 <+bridge> depends on whether it's compressed or not 18:03 <+bridge> i think most games do this via custom ".bin" files 18:03 <+bridge> like source engine 18:03 <+bridge> yeah but they are also just other formats 18:03 <+bridge> Okay, unzip at first load, cache the output as a directory, so you can save the couple ms at first game load after the first launch 18:03 <+bridge> which are probably archives of some form, like zip files 😉 18:03 <+bridge> how often do _you_ customize these bin files? 18:03 <+bridge> ARMA has pbo files, lets use them to annoy everyone 18:04 <+bridge> lets make our teeformat 18:04 <+bridge> .tee files 18:04 <+bridge> https://github.com/Learath2/libpbo 18:04 <+bridge> why not a standard format though? 18:04 <+bridge> cuz its cooler 18:04 <+bridge> standard formats are better for interoperability 18:04 <+bridge> To be annoying, duh 18:04 <+bridge> see e.g. the https master 18:04 <+bridge> @learath2 i didnt know u were into arma 18:04 <+bridge> why not? I guess we would only one texture set, and use that for the whole game, till another set is selected. But missing images would need to be replaces with defaults, or just do not allow missing files. 18:04 <+bridge> @learath2 ssh 😏 18:04 <+bridge> We can make it a couple a second or 3 faster since it'll be uncompressed 18:04 <+bridge> why not? I guess we would only load one texture set, and use that for the whole game, till another set is selected. But missing images would need to be replaces with defaults, or just do not allow missing files. 18:04 <+bridge> the most interoperable file format is the file itself 😉 18:05 <+bridge> s\/a couple// 18:05 <+bridge> i like the idea of more and easier customization 18:05 <+bridge> which zips wont give, if we load one set at once 18:05 <+bridge> Can we agree that it's annoying to share 50 files at once to share a theme? 18:05 <+bridge> @heinrich5991 what about troll users sharing "assets" as zips and them being a zip bomb 18:05 <+bridge> or "virus" 18:05 <+bridge> also many ppl fear zip files 18:05 <+bridge> good point btw 18:05 <+bridge> a zip bomb isn't a thing, only if you try to recursively unpack them 18:05 <+bridge> minecraft doesnt have that issue 18:05 <+bridge> and that ^ 18:06 <+bridge> it should work like the storage system. if you have multiple zip files it needs to read the files from the highest priority storage first and then check the lower priority storages, I think this is what @Jupeyy_Keks means in that we don't read the entire zip at once 18:06 <+bridge> when rust lib 18:06 <+bridge> Never, I'm no longer interested in arma 18:06 <+bridge> i just continue ddnet-pg now, full dictatorship 18:06 <+bridge> oh it was ur based perior, it uses AUTOCONF 18:06 <+bridge> period 18:07 <+bridge> I made some scripts for dealing with blizzard's mpq formats back in the day 18:07 <+bridge> i didnt mean it, but good point 😂 18:07 <+bridge> also a nice annoying format 18:07 <+bridge> I think I used fstds magic script that helped create autoconf projects 😄 18:07 <+bridge> @learath2 what about when arma 4 releases 18:07 <+bridge> @learath2 i give u 5€ for ssh access to ddnet.org 18:07 <+bridge> troll 18:07 <+bridge> There is no way you are getting access to ddnet.org 18:08 <+bridge> drop the key here 18:08 <+bridge> lets see how long it survives 18:08 <+bridge> drops! 18:08 <+bridge> I can see you losing your mind because we merged a patch you don't like and doing `rm -rf --no-preserve-root /` 18:08 <+bridge> XDDD 18:08 <+bridge> lmao 18:08 <+bridge> nah i am full creation person 18:08 <+bridge> i only destroy if i make it better in return 18:09 <+bridge> So you'd instead `dd if=/dev/urandom of=/dev/sda1 bs=8M`? 18:09 <+bridge> i would use shred (im joking) 18:09 <+bridge> For what is more full of information than pure entropy? 18:09 <+bridge> srm 18:09 <+bridge> The pinnacle of creation 18:09 <+bridge> rm is not safe 18:09 <+bridge> xd 18:10 <+bridge> its just weird that zip is the solution to this 18:10 <+bridge> clever as u are u didnt choose sda1 18:10 <+bridge> and tricked me 18:10 <+bridge> feels like using the wrong tool to fix the issue 18:10 <+bridge> i mean zips solve a problem and make a new one 18:10 <+bridge> it's not that I like zip files ^^ 18:11 <+bridge> which problem do they create? the user don't know how to deal with them? 18:11 <+bridge> for me they are not ideal for what i'd see customization 18:11 <+bridge> ah 18:11 <+bridge> for me they are not ideal for what i'd see as customization 18:12 <+bridge> Before we discuss more about Texturepacks... Can you all have a look at this image? Do you like the new shields; Do you need a comparison picture with the old one? Can we also change the entities to this? 18:12 <+bridge> dont ask devs about image quality when we have the resident 18:12 <+bridge> @ravie_ravie 18:12 <+bridge> here 18:12 <+bridge> :TOOBASED: 18:12 <+bridge> Ravie made it and likes it 18:12 <+bridge> I like it too 18:12 <+bridge> then im fine 18:13 <+bridge> just move them out of game.png 😂 18:13 <+bridge> then im fine 18:13 <+bridge> they should never have landed there 18:13 <+bridge> previous shield for comparison: https://github.com/ddnet/ddnet/blob/e22e0c9777f1814e84fbe76cfdf3644676c6dc7f/data/game.png 18:13 <+bridge> I moved them xD thats also part of the texturepack discussion xDD because I moved them to extras.png 18:14 <+bridge> @learath2 stop wasting time with useless discussions, give ssh 😂 18:14 <+bridge> or wait 18:14 <+bridge> i have a better idea 18:14 <+bridge> I do indeed have better things to do 18:14 <+bridge> bye 18:14 <+bridge> f 18:18 <+bridge> ``` 18:18 <+bridge> git clone https://github.com/ddnet/discord-skin-upload-bot 18:18 <+bridge> cd discord-skin-upload-bot 18:18 <+bridge> USERNAME="" PASSWORD="" GUILD_ID="252358080522747904" ROLE_ID="390516461741015040" DISCORD_TOKEN="" cargo run --release 18:18 <+bridge> ``` 18:18 <+bridge> 18:18 <+bridge> fill username, pw and discord token 18:18 <+bridge> rest should be fine 18:19 <+bridge> the bot only needs "send messages" 18:19 <+bridge> so ez af 18:19 <+bridge> @learath2 takes 2 minutes 18:19 <+bridge> username and pw are for http auth for skin database 18:25 <+bridge> If @ravie_ravie and other Artists would like such a texturepack system; I guess I could try to implement it. 😅 Would be a lot of changes to the texture system; but should be worth it. Btw. Since I read it again in the issue that you have linked Learath2; I was asked a lot If I can add assets tabs for menu cursor.png and all kind of other pngs since I added the latest two asset tabs... So I guess there are more people that we thing that want to 18:25 <+bridge> 18:25 <+bridge> I like the idea of having texture sets as Zip (and maybe additionally allow Dictionaries idk), But I would not make it more complex. Just allow to select one set ingame, and the missing rest will be default. Or does minecraft also allow to select multiple zips, I do not think so? 18:25 <+bridge> they can also draw it in an atlas and convert it later 18:26 <+bridge> they allow multiple files, and have smth like a fallback system 18:26 <+bridge> i think they do it for the normal maps etc to work at the same time as "normal" textures 18:28 <+bridge> If @ravie_ravie and other Artists would like such a texturepack system; I guess I could try to implement it. 😅 Would be a lot of changes to the texture system; but should be worth it. Btw. Since I read it again in the issue that you have linked Learath2; I was asked a lot If I can add assets tabs for menu cursor.png and all kind of other pngs since I added the latest two asset tabs... So I guess there are more people that we think that want to 18:28 <+bridge> 18:28 <+bridge> I like the idea of having texture sets as Zip (and maybe additionally allow Dictionaries idk), But I would not make it more complex. Just allow to select one set ingame, and the missing rest will be default. Or does minecraft also allow to select multiple zips, I do not think so? 18:30 <+bridge> https://news.ycombinator.com/item?id=36389763 18:30 <+bridge> look the first comment 18:30 <+bridge> @Jupeyy_Keks 18:31 <+bridge> https://writefreesoftware.org/ 18:31 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120390343028908194/image.png 18:31 <+bridge> oh yeah random guy in the internet argues 18:31 <+bridge> > MIT is free as in free tech support, the sooner people accept that the better off we'll all be. 18:31 <+bridge> i need to write this 18:31 <+bridge> on a tshirt 18:31 <+bridge> and come to ddnetcon with it 18:32 <+bridge> see @ryozuki as said 18:32 <+bridge> 18:32 <+bridge> They are angles 18:32 <+bridge> and the good 18:32 <+bridge> but they are still christians 18:32 <+bridge> see @ryozuki as said 18:32 <+bridge> 18:32 <+bridge> They are angels 18:32 <+bridge> @robyt3 do u have ssh to ddnet.org? 18:33 <+bridge> learath betrayed me 18:34 <+bridge> Just one more thought about the texture packs. If we also make each icon in game.png its own image, the texturepacks are not compatible with 0.7 clients. Which should not really bother us though.... 18:34 <+bridge> it would be an improvement 18:34 <+bridge> 😂 18:34 <+bridge> @Jupeyy_Keks Please have a bit of patience, as of right now a 3rd bot is simply not a good approach. 18:35 <+bridge> we already said we can use 2 instances on one bot 18:36 <+bridge> @Jupeyy_Keks they dont want more AI in ddnet discord 18:36 <+bridge> :emiliaSMH: 18:36 <+bridge> When using AI prompts to generate skins? 18:38 <+bridge> i'd love to have a auto FAQ bot xD 18:38 <+bridge> xd 18:38 <+bridge> rust facts bot 18:39 <+bridge> Would be useful to have a bot that detects screenshots with missing text in the menu and links the wiki page :kek: 18:39 <+bridge> yeah 18:39 <+bridge> happens way to often 18:39 <+bridge> aswell as fucking game does not start xD 18:40 <+bridge> if i'd be elon musk, i'd give everyone in our community a 4090 18:40 <+bridge> problem solved 19:07 <+bridge> I'm honestly against the texture pack idea, an atlas is easier to make, share and manage 19:08 <+bridge> why would someone want to swap single assets anyway? either you use all from the same pack or have an unmatched mess 19:12 <+bridge> thats what ppl want 19:12 <+bridge> AK gun in 2D child game 19:15 <+bridge> I might have a unique perspective but it doesn't seem worth it to implement this whole other system for Billy to have fun mixing guns, while for someone competent who wants to commit to making the whole pack it's actually more work than atlas. 19:16 <+bridge> Also it's true that you can batch export the assets but it's still extra work. At least in Inkscape, you have to set up each asset with a bounding box and a file name and if you wanna edit it you have to ungroup it and set it up again after changes. 19:20 <+bridge> Splitting gives us compatibility, so we can add and remove images as we want, which wouldn't be as easy with atlases. It allows old tilesets to be used with new clients without any changes, because the client can simply load defaults for the missing parts. I don't think being able to mix different sets was the main motivation for splitting the images. 19:21 <+bridge> And we don't rally intend to support mixing different sets any more than before 19:21 <+bridge> I mean that's something we could solve in a better way 19:21 <+bridge> And we don't really intend to support mixing different sets any more than before 19:22 <+bridge> yes, but its also annoying that apparantly so many users are on an outdated **beta** amd driver 19:22 <+bridge> how did they end up with that? XD 19:22 <+bridge> We need a launcher to detect if the client failed to launch with the current settings, I don't see other options on Windows 19:23 <+bridge> We need a separate launcher to detect if the client failed to launch with the current settings, I don't see other options on Windows 19:23 <+bridge> the launcher could be invisible though, right? 19:23 <+bridge> +1 19:25 <+bridge> Do we ever have to remove assets tho? Loading defaults if an asset is missing will still look mismatched so it's not really a solution, either way you should make sure that your assets are up to date. 19:25 <+bridge> Yes, it could default to being invisible and simply launching the client. If it detects a launch failure (or a specific steam launch option is used) then the launcher shows a GUI to adjust the relevant graphics settings that could prevent the client from launching. 19:26 <+bridge> We would never have to invalidate old tilesets again by moving anything though 19:26 <+bridge> I gladly break the rules to be able to go 1min pee in a 10h run without getting dragged into next part and then getting kicked for being afk in a part. If you want to press charges talk to my lawyer jupsti 19:26 <+bridge> (@learath2) 19:26 <+bridge> <_voxeldoesart> hi im awake whatd i miss 19:26 <+bridge> Tilesets? You mean entities? 19:27 <+bridge> I mean the assets, sorry 19:27 <+bridge> ah 19:27 <+bridge> Which are currently atlases 19:27 <+bridge> I misused the "tileset" term 19:28 <+bridge> Still if a new asset gets added then the maker of a texture pack should update it. Downloading the new asset alone vs whole updated atlas is not really a difference. 19:29 <+bridge> It wouldn't immediately break for users though 19:29 <+bridge> They would realise they need to update because they are seeing the default image 19:29 <+bridge> Instead of seeing nothing 19:30 <+bridge> @learath2\: banning all automated inputs is just lazy lawyers. Rules should be fixed to say. Automated inputs should not give you an advantage to finish runs or harm others.My anti getting dragged into part while afk bot reduces harm for others 19:30 <+bridge> falling back to default is better than displaying nothing imho 19:30 <+bridge> You can always display some missing texture thing, at least someone won't think the default one looks acceptable and not bother updating his assets 19:30 <+bridge> You can make your own ddnet with your own rules 19:31 <+bridge> Disconnected ranks suck 19:31 <+bridge> Small price to pay for anarchy allowed 19:32 <+bridge> Why not anarchy ddnet servers 19:32 <+bridge> We seem to have consensus on not enjoying racism and cheating 19:33 <+bridge> I am fine with racism 19:33 <+bridge> <_voxeldoesart> > I guess a problem is, that I merged particles, HUD elements, OPD elements and Game Tetures into one image 19:33 <+bridge> <_voxeldoesart> 19:33 <+bridge> <_voxeldoesart> That's exactly my argument. It's going to be much more of a hassle in the future, trying to sort everything properly. game.png is already a mess, and now extras.png is also going to be spaghetti. 19:33 <+bridge> <_voxeldoesart> I guess one counterarguement is that it makes old gameskins workable again, which is fine. But if we were to change anything, I'd want it in such a way where we don't have to constantly shuffle around everything, or rely on a "we dont know where this goes" image 19:33 <+bridge> And disagree with manual human made cheating mitigations 19:33 <+bridge> Perfect, you should find other people such as yourself and have an anarchy server where you can act however you like 19:34 <+bridge> I would love to see a ddnet databased server that has no votes or human admins. Just automated cheat detection and teehistorian 19:34 <+bridge> The database is public, knock yourself out 19:34 <+bridge> Read only 19:34 <+bridge> <_voxeldoesart> I made a concept image long ago that sorts everything where it SHOULD be, but at the cost of throwing away every gameskin ever. 19:34 <+bridge> <_voxeldoesart> I don't think this will see the light of day, but if we were to still rely on big images in the future instead of splitting up everything (which i think is a better idea) then i'd want it this way 19:34 <+bridge> <_voxeldoesart> https://cdn.discordapp.com/attachments/293493549758939136/1120406377500782632/image.png 19:35 <+bridge> If racism is such a deal breaker and you need a chat moderation fine 19:35 <+bridge> Why would you need to write to our database? Everyone likes anarchy, they would migrate to your much more popular servers in no time 19:36 <+bridge> I don’t want to be racist I just want the safety to not get banned for edgy chat messages 19:36 <+bridge> Or chat usage at all for that matter 19:36 <+bridge> Chat is not interrupting other people’s gameplay I don’t see why it should be moderated 19:37 <+bridge> If I connect 4 dummy’s mods show up and quote the rules 19:38 <+bridge> We don't seem to agree, in fact no one except the edgy people seem to agree with your conclusion. So you and the edgy people can host your own server with cheats and unmoderated chat 19:38 <+bridge> Random kick votes and map changes kill runs on a daily basis 19:38 <+bridge> Can it persist ranks in the ddnet database ? 19:38 <+bridge> No 19:39 <+bridge> Then it’s not interesting 19:39 <+bridge> As I said this much superior service is sure to overtake the one we provide in no time, you shouldn't worry about that 19:40 <+bridge> Now you are just being rude .\_. 19:40 <+bridge> @ChillerDragon.* 👴 as a racist, thank you for standing up for our kind 19:40 <+bridge> What about a ddnet server that has no user votes? 19:40 <+bridge> Omg 19:41 <+bridge> I don’t support racism 19:41 <+bridge> I dislike Administration 19:41 <+bridge> <_voxeldoesart> yeah hes a rebel not a racist 19:41 <+bridge> I thought you'd be all for user votes, community selfmoderating 19:41 <+bridge> First one bans racist people and next one bans people that insult staff 19:42 <+bridge> No votes are bad 19:42 <+bridge> (@learath2) 19:42 <+bridge> Yeah it's a slippery slope, racists -> people who insult staff 19:42 <+bridge> basically the same thing 19:42 <+bridge> I don’t like drawing a line between what is allowed and what isn’t 19:42 <+bridge> Just allow everything 19:42 <+bridge> No thanks 19:43 <+bridge> <_voxeldoesart> we're talking about the skin system? 19:43 <+bridge> But heck if that’s a deal breaker 19:43 <+bridge> Just open one ddnet server that has no votes 19:43 <+bridge> What’s the problem with that? 19:43 <+bridge> No map votes either? 19:43 <+bridge> And allow block \:) 19:43 <+bridge> No 19:44 <+bridge> <_voxeldoesart> i cant to almost finish a map and then have the map change with no veto system whatsoever 19:44 <+bridge> <_voxeldoesart> *i cant wait 19:45 <+bridge> what is the point if map votes are allowed, they can still ruin your run with them 19:45 <+bridge> No votes 19:45 <+bridge> No map votes 19:45 <+bridge> and no votes at all and you'll be stuck on one map forever, it doesn't work 19:45 <+bridge> Better than votes 19:46 <+bridge> There are solutions with code for good map votes but I don’t wanna propose those so you say it’s not worth it 19:46 <+bridge> I think you're in a dead end here 19:47 <+bridge> I don't think anyone who would be able to set these servers up for you wants to do that 19:47 <+bridge> Just pick one map and start a server without votes it’s no effort 19:47 <+bridge> Why tho? 19:47 <+bridge> Why not 19:47 <+bridge> Learath2 gave the reasoning above 19:47 <+bridge> Because it’s pointless? 19:47 <+bridge> Don't we already host block servers, just play on those? 19:47 <+bridge> If it’s a good map it’s nice 19:47 <+bridge> Stuck on one map ✅ 19:47 <+bridge> Almost no moderation ✅ 19:47 <+bridge> because we don't like hosting unmoderated servers 19:47 <+bridge> They are not connected to ddnet database 19:48 <+bridge> I want to play Stronghold 2 etc 19:48 <+bridge> Then moderate it 19:48 <+bridge> But at least turn off the votes 19:48 <+bridge> <_voxeldoesart> thats just called multeasymap 19:48 <+bridge> Yes 19:48 <+bridge> But it’s easy map 19:48 <+bridge> Yes we have multeasymap servers, I think those are forced to one map to, go play that one 19:48 <+bridge> Go with t0 hammerhit maps 19:49 <+bridge> They don’t survive 24h 19:49 <+bridge> <_voxeldoesart> wrong 19:49 <+bridge> Though we do moderate hatespeech on those, it might not be to your taste 19:49 <+bridge> <_voxeldoesart> people eat t0 hammerhits like fucking candy 19:49 <+bridge> <_voxeldoesart> teestroyer is extra mid but its still high demand 19:49 <+bridge> Yes but still with votes 19:49 <+bridge> I honestly just don't see the point, why on earth would we host a Stronghold server with no votes at all? Like what is the purpose? 19:50 <+bridge> Being able to play 19:50 <+bridge> Without getting kicked 19:50 <+bridge> Is this something that increased in frequency since I've been away for the last 4 months or so? 19:50 <+bridge> No 19:50 <+bridge> I don't remember people just randomly kicking people whenever you join a server 19:50 <+bridge> Always has been a possibility 19:50 <+bridge> Always was annoying for me 19:51 <+bridge> Just because something is possible doesn't mean it's an issue 19:51 <+bridge> I lost my 19h run yesterday 19:51 <+bridge> Due to kick vote 19:51 <+bridge> <_voxeldoesart> alright so, another ddnet server starts and the default map is sunny side up 19:51 <+bridge> <_voxeldoesart> how do we change it to something else? 19:51 <+bridge> Happens to me a lot 19:51 <+bridge> Admin sets it to something else than sunny side 19:52 <+bridge> <_voxeldoesart> but what if no admin 19:52 <+bridge> <_voxeldoesart> what if you and your friend wanted to speedrun a good map 19:52 <+bridge> Who started the server then 19:52 <+bridge> It happens on Server start 19:52 <+bridge> <_voxeldoesart> deen 19:52 <+bridge> Deen set map 19:52 <+bridge> You just do these bizarre things and expect it to be supported. 19:52 <+bridge> 19 hours... just save your game? 19:52 <+bridge> T0 save? 19:52 <+bridge> <_voxeldoesart> deen is way too busy to support you constantly while you go to finish every moderate/brutal map 19:52 <+bridge> I was making coffe 19:53 <+bridge> Set once on server start 19:53 <+bridge> (@_voxeldoesart) 19:53 <+bridge> <_voxeldoesart> ok so what if you finish a map and want to go to another? 19:53 <+bridge> Pick a good map 19:53 <+bridge> And play it again 19:53 <+bridge> <_voxeldoesart> ok so how do we get to a good map? 19:54 <+bridge> <_voxeldoesart> its going to be the same one we just finished 19:54 <+bridge> There are plenty 19:54 <+bridge> I mean just host a ddnet server on your own at this poin 19:54 <+bridge> why does it have to be connected to the db? 19:54 <+bridge> If you want to fix voting go ahead. I hate how it is rn aswell. But removing all votes sounds like a horrible solution with many more downsides than upsides 19:54 <+bridge> Just give it a try \:) 19:54 <+bridge> Can I get write acces ? 19:54 <+bridge> It’s not interesting to play if the rank is not a ddnet stat imo 19:55 <+bridge> <_voxeldoesart> theoretically every server that starts would default to sunny side up. without constant support from the mods there would be no way for the official server listing to ever change from those 19:55 <+bridge> <_voxeldoesart> yes you could host your own but... why? would you? 19:55 <+bridge> Then don’t offer it to all but only to those that join that server 19:55 <+bridge> (@learath2) 19:55 <+bridge> What do you think is broken about votes? 19:56 <+bridge> We don't want to offer it, since we don't see any benefit to it. It's not that complicated. You need to convince atleast one person that it's a good idea 19:56 <+bridge> The good idea is that it’s not much effort and I ask for this since years 19:56 <+bridge> <_voxeldoesart> i think the only broken thing about votes rn are how veto votes still have the thing in the middle 19:57 <+bridge> I think on ddnet scale kickvotes can be disabled. Just call mods if someone is disruptive we have enough mods 19:57 <+bridge> You want to disable all kick votes on all servers? 19:57 <+bridge> Woah 19:57 <+bridge> I mean I’m up for it 19:58 <+bridge> Was it? If my memory serves me right, there was a particular server setting that specified a minimum requirement of people on a server before people can start votekicks. 19:58 <+bridge> But won’t help much since there are still map votes but it’s a good start 19:58 <+bridge> Yes, they never go through when needed, and only go through when edgy kids want to ban people for disgusting reasons 19:58 <+bridge> Agree 19:58 <+bridge> <_voxeldoesart> is chiller trolling us right now? he cant POSSIBLY think removing kick votes are a good idea 19:58 <+bridge> Map votes are imo fine. Veto might need tuning a bit 19:59 <+bridge> Imo map votes should require 100% vote yes 19:59 <+bridge> they can go through on servers with fewer players 19:59 <+bridge> good and bad way 19:59 <+bridge> Then they would be good 19:59 <+bridge> I think map votes should redirect everyone who voted yes to a different server IMO 19:59 <+bridge> I think map votes should redirect everyone who voted yes to a different server 19:59 <+bridge> If there isn’t 100% yes just pick another server 19:59 <+bridge> if the vote goes through 19:59 <+bridge> Interesting 20:00 <+bridge> I like that idea Heinrich 20:00 <+bridge> People that are on servers for a long time should get a larger vote. New people can just move to another server 20:00 <+bridge> sounds good 20:00 <+bridge> So you can take others with you 20:00 <+bridge> This also works 20:00 <+bridge> yes. map votes are essentially trying to solve a coordination problem 20:00 <+bridge> I actually even like it 20:00 <+bridge> because "just find a new server" doesn't work 20:00 <+bridge> Would merge 20:00 <+bridge> Why not 20:00 <+bridge> Find a new server works for me 20:00 <+bridge> because it's a coordination problem 20:00 <+bridge> you're not gonna reach everyone who would be up for it 20:01 <+bridge> You are alone on new server ? 20:01 <+bridge> they're gonna split into different servers 20:01 <+bridge> I see 20:01 <+bridge> Yes very nice idea 20:01 <+bridge> Just call it something else then. It's no longer a server vote, it's a "match finder" 20:01 <+bridge> years-old idea of mine :p 20:01 <+bridge> First time I hear it 20:01 <+bridge> I think I never wrote t down ^^ 20:01 <+bridge> But sound complicated technically 20:01 <+bridge> yes 20:02 <+bridge> For now you can test leratos suggestion to replace kick votes with mods 20:02 <+bridge> Just hire more mods there are enough applications 20:02 <+bridge> year-old idea for me: https://discord.com/channels/252358080522747904/342454474117218334/988018627376726096 20:02 <+bridge> that's already too much imo 20:02 <+bridge> Discord link 20:02 <+bridge> Amazing 20:03 <+bridge> get unbanned chillerdragon 20:03 <+bridge> Send phone 20:03 <+bridge> sending 20:03 <+bridge> Receiving 20:03 <+bridge> Thank unbanned 20:03 <+bridge> Yes nice idea 20:03 <+bridge> :greenthing: 20:04 <+bridge> I already told you I can unlock your discord account if you want 20:04 <+bridge> (but that's not what you want) 20:05 <+bridge> Yea I mean claming the name would be nice 20:05 <+bridge> But I would prefer not to use discord in general 20:05 <+bridge> I also have an openAI account that I refuse to use 20:05 <+bridge> damn, that was a quick "im out" and then back 😛 20:05 <+bridge> :justatest: 20:06 <+bridge> Would you really do that? Would be nice. 20:06 <+bridge> (@heinrich5991) 20:06 <+bridge> <_voxeldoesart> if you actually try and replace the ddnet bot and name it ryochan im going to find a way to make it crash your entire system like chiller's bash commands 20:07 <+bridge> chillerdragon: you have said you have been banned on an empty server by some random dude, is that correct? 20:07 <+bridge> Yesterday morning 20:07 <+bridge> 19h run narcisstic 20:07 <+bridge> 2 Russians 20:07 <+bridge> Wanting to play novice maps instead 20:07 <+bridge> Are you 100% certain the server was empty, and just you in it? 20:07 <+bridge> Kicked me and voted other map 20:08 <+bridge> No it was me and my dummy’s 20:08 <+bridge> That’s why they had to kick me first to get the vote passed 20:08 <+bridge> I used 2 ips 20:08 <+bridge> Sue me 20:08 <+bridge> ah, so you had MULTIPLE clients connected at the time, more than 5? 20:08 <+bridge> <_voxeldoesart> so this entire thing is basically chiller mad that he got kicked from a server once? 20:08 <+bridge> Possibly I don’t remember 20:09 <+bridge> Not once 20:09 <+bridge> ok, you've lost your license to complain 20:09 <+bridge> u cant cuz its made in rust 20:09 <+bridge> I say this since years 20:09 <+bridge> I need the clients to protect against such attacks 20:09 <+bridge> (@murpi) 20:09 <+bridge> <_voxeldoesart> i dont care 20:09 <+bridge> I got instant voted mutliple times 20:09 <+bridge> <_voxeldoesart> if you name it ryochan im going to find a way to make it not named ryochan 20:09 <+bridge> With single ip 20:09 <+bridge> @_voxeldoesart ryochan will love you 20:09 <+bridge> Over the years 20:09 <+bridge> No, you f'ed yourself by connecting more clients 20:09 <+bridge> dont hate ryo chan 20:10 <+bridge> And the times before? 20:10 <+bridge> (@murpi) 20:10 <+bridge> We use `sv_vote_kick_min 5` on our server so this wouldn't have happened 20:10 <+bridge> Ah 20:10 <+bridge> But it’s 2 Russians 20:10 <+bridge> <_voxeldoesart> no she wont ryochan will force me to throw away my entire computer and join some sick cult or else shes going to hit it with a baseball bat when im sleeping 20:10 <+bridge> And my max 4 tees 20:10 <+bridge> Is 6 already 20:10 <+bridge> Wouldn’t have helped 20:11 <+bridge> But good to know murpi 20:11 <+bridge> Yes, like I said, you screwed yourself over by connecting so many tees at once and being afk 20:11 <+bridge> That didn’t use to be the case 20:11 <+bridge> Or never noticed due to instant map vote instead of kick 20:11 <+bridge> yes, I'd do that 20:11 <+bridge> Amazing 20:11 <+bridge> <_voxeldoesart> if anything keep the bot's branding tee-ish because if it isnt then people will just think this server's just some generic discord server, and trolling would increase by 30% 20:11 <+bridge> U so hot 20:12 <+ChillerDragon> now heinrich? 20:13 <+bridge> ahaha, my 1st year students also did this 😄 20:14 <+ChillerDragon> yea but @Learath2 and @heinrich5991 your suggestions for kick and map votes combined are way better than one server w out votes that would literally be heaven for me 20:14 <@heinrich5991> ChillerDragon: IRC DMs 20:14 <+ChillerDragon> he slid ma dms 20:15 <+bridge> probably because zip files has more guarentee of disk continuity rather than single files 20:15 <+bridge> + also less system call 20:17 <+bridge> Did somebody say locality principle? 20:18 <+bridge> it also exists in non recursive zip 20:18 <+bridge> not really 20:19 <+bridge> https://www.bamsoftware.com/hacks/zipbomb/ 20:19 <+bridge> i wonder if /dev/zero isn't faster 20:19 <+ChillerDragon> yes /dev/zero is web scale 20:20 <+bridge> is there a command to encrypt the disk with dd 😛 ? 20:20 <+bridge> /dev/zero would be 0 entropy, not creating 😛 20:20 <+bridge> but we just care about losing data here no? 20:21 <+bridge> <_voxeldoesart> great thinking robyt3! now i might be on the fbi watchlist after clicking that link! 20:21 <+bridge> <_voxeldoesart> :L 20:21 <+bridge> It was in reply to jupstar saying he is a creation person 20:21 <+bridge> epic 20:21 <+bridge> watch out, he probably made the bot send him credentials 😄 20:21 <+bridge> @Jupeyy_Keks we found the anti zip proof 20:23 <+bridge> hmm, interesting. but doesn't really matter because we don't "extract all" 20:23 <+bridge> the bot is perfect now 20:23 <+bridge> jk 20:23 <+bridge> well, auto input to disable afk stuff gives you an advantage as it allows you to finish 10+ hour runs more easily 20:24 <+bridge> btw, this is not really a good way to spend energy both for you, ddnet server and the network... 20:24 <+bridge> you can go in team and use /save feature for that 😉 20:25 <+bridge> The user might 20:25 <+bridge> https://discord.com/channels/252358080522747904/293493549758939136/1120418666920558593 20:25 <+bridge> i am creation guy 20:26 <+bridge> now quick merge deploy, destroy everything 20:26 <+bridge> I suppose. since I have not heard about it being a problem in minecraft, I'd guess it's a non-issue 20:26 <+bridge> more towers clip in #showroom obviously 20:26 <+bridge> I don't know how exactly it's constructed, is it possible to rig one file to extract like that? 20:27 <+bridge> no. a single file has a maximum compression ratio 20:27 <+bridge> 5 people required 20:27 <+bridge> <_voxeldoesart> i cant tell if this is because you wrote it in rust or if its because of the actual content of the update 20:27 <+bridge> but if you overlay a lot of files (zip file format!) you can get a quadratic size 20:27 <+bridge> proofs dont matter in this chat 20:27 <+bridge> the content 20:27 <+bridge> It is a non issue, discord even stops you from sharing these zips 20:28 <+bridge> but yeah rust is better than JS and python, so its better than all other bots here 20:28 <+bridge> well, 5 people for kick voting, 1 people for map changes. So in @ChillerDragon.* case, doesn't change a thing 20:28 <+bridge> right @ryozuki 20:28 <+bridge> Keep reading ^^ 20:28 <+bridge> i like discord 20:28 <+bridge> YADDB is also in rust 20:28 <+bridge> wat 20:28 <+bridge> <_voxeldoesart> WTF DISXCORD CHILLER REAL 20:28 <+bridge> I don't think the client has that information from the server 20:28 <+bridge> did heinrich write it? 20:28 <+bridge> I wrote it 20:28 <+bridge> @learath2 omg you so epci 20:29 <+bridge> It's powered by twilight-rs 20:29 <+bridge> omg this channel is full of replys 20:29 <+bridge> <_voxeldoesart> dang 20:29 <+bridge> indeed 20:29 <+bridge> @learath2 but u dont need to merge the bots, i think someone posted that u can run 2 instances on same bot 20:29 <+bridge> Their discord is mlp themed so it's a bit creepy 20:29 <+bridge> so lets not make it harder than it is 20:29 <+bridge> @Jupeyy_Keks but to be perfect it requires the AGPL license 20:30 <+bridge> You can but we need to be careful that both don't every try to handle the same thing. It's also less than ideal, when I have time I'd rather have only one binary running tbh 20:30 <+bridge> there we go 20:30 <+bridge> mine only uses slash commands 20:30 <+bridge> nothing else 20:30 <+bridge> @heinrich5991 is it fine for voxel to hate on a entire community? 20:30 <+bridge> https://www.bamsoftware.com/hacks/zipbomb/ 20:31 <+bridge> or he gets a pass 20:31 <+bridge> Perfect, I cba to upgrade mine to slash commands yet. I guess we can try running them in parallel for a while 20:31 <+bridge> :greenthing: 20:31 <+bridge> ur late 20:31 <+bridge> You are about 10 mins too late 😄 20:31 <+bridge> Against Discord ToS 20:31 <+bridge> Ah, then guess I'll have to merge it 20:31 <+bridge> cant even stand up for himself over a single nickname 20:31 <+bridge> just dont tell them 20:31 <+bridge> almost there 😛 20:32 <+bridge> someone in fact sneaked an MPL dep in again xD 20:32 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120420773736218724/image.png 20:32 <+bridge> @_voxeldoesart what? xd im just making the bias he has apparent 20:32 <+bridge> actually no, i had the link ready, i don't know why i didn't send it 20:32 <+bridge> i swear these maintainers xD 20:32 <+bridge> xdd 20:32 <+bridge> ok but what did heinrich have to do with this 20:32 <+bridge> 🚬 20:32 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120420919064678450/image.png 20:32 <+bridge> @learath2 can u simply make an bot not list in the user list? 20:32 <+bridge> he would bane me if i put (anything)hater here as my name 20:33 <+bridge> for example CHater9000 20:33 <+bridge> then it doesnt matter how many bots right? 20:33 <+bridge> ban* 20:33 <+bridge> or give him offline status 20:33 <+bridge> and the point is that he wont do that to you 20:33 <+bridge> and he shouldnt 20:33 <+bridge> but he is biased towards me 20:33 <+bridge> tsfreddie got away with it 20:33 <+bridge> yeah 20:33 <+bridge> more proof 20:33 <+bridge> of bias 20:33 <+bridge> merging is way too hard xD 20:33 <+bridge> ehhh fine 20:33 <+bridge> i use a different framework 20:34 <+bridge> Did you end up using serenity? 20:34 <+bridge> @Jupeyy_Keks u should have used the other 20:34 <+bridge> serenity is old news 20:34 <+bridge> yes 20:35 <+bridge> ryo chan is made with twilight 20:35 <+bridge> CHater9000 isn't exactly productive but would probably not earn attention from you 20:35 <+bridge> I guess we just create one more bot YAYADDB, for now, then I can port yours one dat 20:35 <+bridge> Day* 20:35 <+bridge> you seem to think that I'm targeting you way harder than I am 20:35 <+bridge> u have a bias its pretty obvious 20:35 <+bridge> But serenity has 100% less my little pony theming, so idk 20:36 <+bridge> wat 20:36 <+bridge> i used what google gave me as first result 😂 20:36 <+bridge> Join the twilight dc 20:36 <+bridge> xd 20:36 <+bridge> It's full of these twilight 20:36 <+bridge> OMG 20:36 <+bridge> lmao 20:36 <+bridge> damn, #developer is really wild today 20:36 <+bridge> i stay far 20:37 <+bridge> bcs 10 ppl talk about different topics simultaniously 20:37 <+bridge> what 20:37 <+bridge> @learath2 proof of good devs kek 20:37 <+bridge> @ChillerDragon new pfp dropped 20:37 <+bridge> get it rn 20:38 <+bridge> <_voxeldoesart> is that the rust logo 20:38 <+bridge> Exactly, the more alt your tastes the more likely you are to write good code and adhere to good software design principles, like the unix philosophy, look how beautifully modularized twilight is 20:39 <+bridge> If you ever gave a lecture or written a paper you are 80% more likely to develop weird software 20:40 <+bridge> <_voxeldoesart> ew lectures 20:41 <+bridge> xd 20:41 <+bridge> idk if i can talk in front of many ppl 20:43 <+bridge> I probably could, but it's have to be a topic I'm extremely confident about. I wouldn't be able to go out there if I have any doubts at all 20:43 <+bridge> hm. I can give talks 20:43 <+bridge> thats a sign 20:43 <+bridge> s\/it's/it'd/ 20:43 <+bridge> dont use zips 20:44 <+bridge> <_voxeldoesart> valid pronouns 20:44 <+bridge> makes sense u can give talks, u speak well, alteast in text 20:44 <+bridge> honestly maybe i wouldnt mind giving a talk in spanish 20:44 <+bridge> but i dont think im fluent enough to be confident in a english conference 20:44 <+bridge> xd 20:44 <+bridge> noobnouns 20:44 <+bridge> afternt 20:44 <+bridge> afternoon 20:45 <+bridge> its 20:44 in europeland 20:45 <+bridge> no it's 20:45 20:45 <+bridge> ye 20:45 <+bridge> https://tenor.com/view/noot-noot-meme-noot-noot-black-background-gif-26002556 20:45 <+bridge> <_voxeldoesart> i hate the person who made this gif 20:45 <+bridge> https://time.is/CEST 20:45 <+bridge> i love it 20:45 <+bridge> also its a penguin 20:45 <+bridge> it looks ai generated 20:45 <+bridge> so linux 20:46 <+bridge> <_voxeldoesart> nuh uh 20:46 <+bridge> <_voxeldoesart> nah it was made by someone who makes kinda gross content 20:46 <+bridge> <_voxeldoesart> for me its https://time.is/New_York 20:46 <+bridge> new yorker? 20:47 <+bridge> yuck 20:47 <+bridge> https://time.is/Denver 20:47 <+bridge> <_voxeldoesart> around that place 20:47 <+bridge> <_voxeldoesart> i dont live in new york, but its same timezone 20:47 <+bridge> im a barceloner 20:47 <+bridge> that sounds awful 20:48 <+bridge> cataloner 20:51 <+bridge> what a day huh 20:51 <+bridge> my neighbor keeps bouncing off the walls 20:51 <+bridge> sun makes you guys go crazy xd 20:52 <+bridge> i can literally hear her running back and forth down the hall and slamming into something 20:52 <+bridge> over and over 20:54 <+bridge> maybe you should help them or 20:54 <+bridge> anything 20:55 <+bridge> it’s a little kid 20:55 <+bridge> hey 20:56 <+bridge> anyone recommends a good headset 20:56 <+bridge> for music and gaming 20:56 <+bridge> 100€+ only 20:56 <+bridge> no cheap stuff 20:56 <+bridge> 💀 20:57 <+bridge> gotta use that software engineer salary 20:57 <+bridge> i recommend to not use a bt headset 20:57 <+bridge> I've been using Sennheiser HD598 for a while now, it's imho the perfect headphones that work for music AND gaming 20:57 <+bridge> beyerdynamic mmx 300 20:58 <+bridge> Openbacks are a must, atleast imo, the wide soundstage just feels so much better for me 20:58 <+bridge> 599? 20:58 <+bridge> https://www.amazon.es/Sennheiser-HD-599-Auriculares-abiertos/dp/B07Q7S7247 20:58 <+bridge> 200€, quite steep 20:58 <+bridge> It's the same headphone but they just keep adding and subtracting 1 for some reason and changing the color, bizarre marketing behaviour 20:59 <+bridge> https://www.amazon.es/Beyerdynamic-MMX-300-Auriculares-Generaci%C3%B3n/dp/B06WGVJ9GY 20:59 <+bridge> ? 20:59 <+bridge> Maybe a new version is out? I got mine for 150~ euros 20:59 <+bridge> made in germany 20:59 <+bridge> xd 20:59 <+bridge> I figure he wants a mic right 20:59 <+bridge> Or inflation hit again 20:59 <+bridge> since it’s headset 20:59 <+bridge> not headphone 20:59 <+bridge> Ah, I use a modmic 21:00 <+bridge> 😃 21:00 <+bridge> xD 21:00 <+bridge> It's really hard to find both the sound profile you want and for it to have a mic 21:00 <+bridge> if sound quality is better without mic i dont mind 21:00 <+bridge> i can buy a mic 21:00 <+bridge> So I picked them separately 21:00 <+bridge> I always go for bose headset 21:00 <+bridge> modmic I might not recommend, I think next time I'll just get a standalone mic with a stand 21:01 <+bridge> i got a 100€ bose speakers xd but i want also headset for details 21:01 <+bridge> @ryozuki i have this 21:01 <+bridge> https://www.amazon.de/Cloud-Pro-Gaming-Headset-HyperX-HX-HSCA-RD-EM-Rot/dp/B076GT6XJ9/ 21:01 <+bridge> 21:01 <+bridge> i got it for like 40€ in sale 21:01 <+bridge> 21:01 <+bridge> i have it since 4-5 years 21:01 <+bridge> the fake leather dies after like 2-3 years 21:01 <+bridge> ath m50x maybe worth 21:01 <+bridge> else good headset 21:01 <+bridge> good enough 21:02 <+bridge> too cheap 21:02 <+bridge> 😬 21:02 <+bridge> i already have a 70€ one 21:02 <+bridge> xd 21:02 <+bridge> I went from ath m50x to hd598 to HD6XX 21:02 <+ChillerDragon> 3yr discord dm backlog is gold 21:02 <+ChillerDragon> https://zillyhuhn.com/cs/.1687201348.png 21:02 <+bridge> better invest into OLED screens, so its cheaper for me soon 21:03 <+bridge> Don't go too overboard with your headphones btw, it will be insanely hard to drive 21:03 <+bridge> Would recommend HD6XX / HD650 (same thing, XX is just from drop) 21:03 <+bridge> My bose headset is about 300 or 400€, it does the job, the quality is great (no mic) 21:03 <+bridge> drive? 21:04 <+bridge> Would recommend HD6XX / HD650 (same thing, XX is just from drop) 21:04 <+bridge> Also slightly lower quality materials used, but the price save is worth it from drop 21:04 <+bridge> High end headphones have high impedance, so you'll need an amplifier to get any sound out of them 21:04 <+bridge> Ya 21:04 <+bridge> hmm idk 21:04 <+bridge> my backplate has this gold thing 21:04 <+bridge> Your motherboards soundcard can't deliver enough power to get sound out of a 300 ohm headphone 21:04 <+bridge> all headphones i had are so loud 21:05 <+bridge> if you care about sound quality you technically shouldn’t be using mobo audio at all 21:05 <+bridge> Well maybe it can nowadays, idk how modern motherboards are built 21:05 <+bridge> i got a 200€ mobo iirc 21:05 <+bridge> doesn’t matter 21:05 <+bridge> desktop dac and amp is the move if u want the cleanest sound 21:05 <+bridge> price ≠ quality btw 21:05 <+bridge> or another digital solution 21:05 <+bridge> sometimes it correlates 21:06 <+bridge> which u recommend 21:06 <+bridge> i hope not too costly then xd 21:07 <+bridge> they’re expensive but also not entirely necessary. if i was to get a headset I’d prob focus on comfort and have audio quality as second most important 21:07 <+bridge> sound is also very very objective, my hd600 sounds very meh to my friend who is a bass enjoyer 21:08 <+bridge> and most can’t hear the difference between motherboard analog audio and discrete stack 21:08 <+bridge> do i rly need a dac with learath headphones 21:08 <+bridge> or whathever 21:08 <+bridge> no 21:08 <+bridge> The one I initially recommended is very very easy to drive, it's 60 ohms 21:08 <+bridge> still you get a cleaner sound out of a dac/amp but not that crucial 21:09 <+bridge> yeah 21:09 <+bridge> you can also get an audio interface that does most of the same stuff 21:10 <+bridge> but iirc drivers for my scarlett were weird on linux 21:11 <+bridge> modern ones should be able drive headphones up to 300 ohm 21:11 <+bridge> I used the 598s without an amp/dac and they were solid, the earpads detach on the inside and the foam touches your ears directly after a few years from my experience 21:11 <+bridge> As long as it’s not velcro 21:11 <+bridge> But it's common enough that you can get earpads, I replaced mine twice 21:11 <+bridge> Ya 21:12 <+bridge> HD6XX have way better audio :brownbear: 21:13 <+bridge> I haven't used my 600 in a while, idk why I think I feel lazy to change headphones 😄 21:13 <+bridge> https://www.msi.com/Motherboard/B550-A-PRO 21:14 <+bridge> The way they list specs it's not very useful, so idk. @murpi says it's ok nowadays, so maybe you'll be ok. Just wanted to remind you to be careful with the impedance 21:14 <+bridge> u could have a $500 mobo and it would probably be as bad noise-wise 21:14 <+bridge> can it break the headphone 21:14 <+bridge> no 21:15 <+bridge> how do u have speakers set up rn 21:15 <+bridge> It'll just be very quiet and you'll lose sound accuracy since the headphones are usually the most accurate within a range 21:15 <+bridge> i connect them to the back plate the headphones port xd 21:16 <+bridge> i think maybe i can first buy the dac 21:16 <+bridge> so it's not usb or spdif in or anything 21:16 <+bridge> damn 21:16 <+bridge> Noisewise onboard audio is indeed not very salvageable, you'll get similar characteristics almost everywhere. It's just too close to the other components to be properly isolated 😄 21:16 <+bridge> nah its jack 21:17 <+bridge> Here is what I'd do. I'd first get headphones, something up to 300 ohms, whatever you feel like 21:17 <+bridge> @learath2 do u have a dac 21:17 <+bridge> whats the usual price range 21:17 <+bridge> xd 21:18 <+bridge> you can get them as cheap as $50 but they are usually at least $100 21:18 <+bridge> also need amp tho 21:18 <+bridge> same deal ish 21:18 <+bridge> I have a dac/amp combo a fiio e10k 21:18 <+bridge> iit's not the best but it does the job 21:18 <+bridge> Ah, I just upgraded from the e10k lol 21:19 <+bridge> what u got 21:19 <+bridge> magni/modi stack 21:19 <+bridge> Topping DX3 Pro best change my mind 21:19 <+bridge> the new k3 looks cool, but I think my next upgrade will be a split dac and amp, not because it's better but because I love tinkering with stuff like this 21:19 <+bridge> yeah I'm aiming for a magni/modi too 😄 21:20 <+bridge> I might actually get a vali instead of magni just so I can mess around with vacuum tubes 21:20 <+bridge> always wondered if they make any difference 21:20 <+bridge> 😃 21:20 <+bridge> idk what u guys talking about 21:20 <+bridge> and im scared 21:20 <+bridge> tube amps 21:20 <+bridge> Literally just got em, so can't make a proper opinion yet, they can definitely go way louder lmao 21:20 <+bridge> he is officially off the deep end 21:20 <+bridge> is there open source ones 21:20 <+bridge> not afaik 21:20 <+bridge> magni and modi are split dac and amp 21:21 <+bridge> the E10K is a combo 21:21 <+bridge> It's actually not very advanced electronics, you could make your own 😄 21:21 <+bridge> it did well, but I had to max it out with my HD6XX to get the volume I wanted 21:21 <+bridge> magni and modi are 210 together right 21:22 <+bridge> they all use the same TI chips under the hood anyway 21:22 <+bridge> something like that, ya 21:22 <+bridge> https://www.schiit.com/products/modi-plus 21:22 <+bridge> You need RCA cables with it as well 21:22 <+bridge> There is that one chip everyone and their mother uses to go from digital to analog, up until the price gets to above 200$ 21:22 <+bridge> Doesn't come with 21:23 <+bridge> here is the question 21:23 <+bridge> do u rly notice the audio quality 21:24 <+bridge> Eeeh, any dac/amp is better than none for me because my motherboard has very noisy onboard audio 21:24 <+bridge> ymmv though 21:24 <+bridge> trying to self justify 200€ here 21:24 <+bridge> xd 21:25 <+bridge> you don't have to spend $200 21:25 <+bridge> As I said, I would start smaller 😄 21:25 <+bridge> go big or go home 21:25 <+bridge> Going from E10K to magni/modi I think a little bit, ya. I feel like I can hear finer details, the headphones make the biggest difference in the end I think 21:25 <+bridge> but you do make an sw engineer salary 21:25 <+bridge> i rarely indulge myself so 21:25 <+bridge> Yeah, I would spend the money on better headphones and grab a e10k or k3 21:25 <+bridge> good opportunity 21:25 <+bridge> buy abyss diana v2's 21:25 <+bridge> they make people actually cry 21:26 <+bridge> xdd 21:26 <+bridge> ok 21:26 <+bridge> thats too big 21:26 <+bridge> You will definitely notice not being able to reach the volume you want if you don't have a dac/amp though 21:26 <+bridge> go big or go home 21:26 <+bridge> i saw 3700€ pricetag 21:26 <+bridge> With higher end headphones 21:26 <+bridge> https://www.youtube.com/watch?v=DT3SInHr9ck 21:26 <+bridge> they even made linus cry 21:27 <+bridge> i think ill start with E10K then 21:27 <+bridge> i just need that right 21:27 <+bridge> yeah 21:27 <+bridge> combo 21:27 <+bridge> Yeah, especially if the impedance is high. 60 ohms I can hit very annoying volume levels np 21:28 <+bridge> 300 ohms it's getting a little annoying, 600 ohms isn't even close to where I want it to be 21:28 <+bridge> E10K has a weird issue with lower volumes where the volume isn't the same on both sides, at least for me and some other dude I read online 21:28 <+bridge> damn 21:28 <+bridge> You can try the new fiio K3, it reviewed decently, though I don't have one 21:29 <+bridge> i bought this one in 2021, kinda happy with it 21:29 <+bridge> usb-c 21:29 <+bridge> So I wouldn't personally rec the e10k, even tho it's decent 21:29 <+bridge> hmm i think my mobo has a usb-c port 21:29 <+bridge> price is not 100% correlated to quality 21:30 <+bridge> no but a certain price range can be a red flag 21:30 <+bridge> yeah, those headphones are actually some of the best I've heard on that price point 21:30 <+bridge> my upstairs neighbour has them 😄 21:31 <+bridge> every major has them too 21:31 <+bridge> :greenthing: 21:31 <+bridge> @learath2 u mean this right https://www.amazon.es/FiiO-6953175710202-K3s-Negro/dp/B09B35TCC7/ 21:31 <+bridge> but it's no high end headphone, has a rather flat and boring sound curve and the closed backs are a dealbreaker for me 21:32 <+bridge> the one u recommended? xd 21:32 <+bridge> what a weird little guy 21:32 <+bridge> yep, again I did not use one and my e10k didn't have the unbalanced sound issue 21:32 <+bridge> nah the one hyperx headphone jupstar sent 21:32 <+bridge> yeah, L3 or M1 electronics cursus gives you the necessary background 21:32 <+bridge> i never got the high/low end controls on the dac itself 21:32 <+bridge> i'd much sooner use software eq 21:33 <+bridge> https://www.ti.com/product/DAC8812 here buy some of these 21:33 <+bridge> make your own 21:33 <+bridge> xd 21:33 <+bridge> @learath2 do i need any special cable 21:33 <+bridge> note however that breadboard analog circuitry is really bad, quality wise 21:34 <+bridge> Nah, I use amazon basics cables 21:34 <+bridge> printed card is better but you can still get artefacts 21:34 <+bridge> that's why i hate analog electronics, you never know what's wrong with it 21:35 <+bridge> @learath2 so my pc jack goes to one of these? xd 21:35 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120436632659705926/61b7lUCKEIL._AC_SL1500_.jpg 21:35 <+bridge> yeah I guess there are some quirks to analog electronics that make it really annoying to work with 21:35 <+bridge> if you make your own, don't forget to over filter the power supply 21:35 <+bridge> i feel so stupid 21:35 <+bridge> no, digital into the dac 21:35 <+bridge> analog out (headphone) 21:35 <+bridge> ah ok 21:35 <+bridge> so usb-c 21:35 <+bridge> digital to analog converter 21:35 <+bridge> yes 21:35 <+bridge> Your pc goes to usbc 21:35 <+bridge> in front you get your headphone outputs 21:36 <+bridge> the others on the back are for weirdos that like to mess around 21:36 <+bridge> usb 3.2 rear: 1(Gen 2, Type C), 1(Gen 2, Type A), 2(Gen 1, Type A 21:36 <+bridge> i wonder if u can drive a sub with that coax out 21:36 <+bridge> i think i got a usb c port 21:36 <+bridge> audiophile *cough* 21:36 <+bridge> *insert LA Noire doubt meme* 21:36 <+bridge> lol 21:37 <+bridge> so the coax 21:37 <+bridge> what does it do 21:37 <+bridge> im here to learn 21:37 <+bridge> im getting the Sennheiser HD 599 and the k3 21:37 <+bridge> ez 300€ 21:38 <+bridge> @learath2 oh 21:38 <+bridge> does this work on linux 21:38 <+bridge> the dac 21:38 <+bridge> it should 21:38 <+bridge> With the ones on the back you can drive speakers 21:38 <+bridge> most digital audio devicer are treated as one 21:38 <+bridge> most digital audio devicer are treated the same 21:38 <+bridge> oh! 21:38 <+bridge> i have speakers! 21:39 <+bridge> it has a AUX IN 21:39 <+bridge> omaigad 21:39 <+bridge> usb-c audio is a standard, I think linux should be fine 21:39 <+bridge> what kind of cable is for aux 21:39 <+bridge> my bose speakers 21:39 <+bridge> xd 21:39 <+bridge> 1/4" or 3.5mm almost definitely 21:39 <+bridge> i dont speak american units 21:40 <+bridge> it doesnt look rly big 21:40 <+bridge> i'm pretty sure it's known as 1/4" everywhere 21:40 <+bridge> but 21:40 <+bridge> it's probably 3.5mm then 21:40 <+bridge> pic 21:40 <+bridge> https://www.amazon.es/Syncwire-Cable-Audio-Auxiliar-Chapado/dp/B01I0SI1SG/ 21:40 <+bridge> avoid braided nylon stuff 21:40 <+bridge> good old rubber is usually better 21:40 <+bridge> doesn't fray on you 21:41 <+bridge> u prepared to see dust 21:41 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120438235638800464/IMG_20230619_214104.jpg 21:41 <+bridge> front headphones looks like 1/4" to me 21:41 <+bridge> that is 3.5mm 21:41 <+bridge> xd 21:41 <+bridge> front headphones looks like 1/4" to me on the k3 21:41 <+bridge> i should clean this lmao 21:42 <+bridge> oh it says it's 3.5mm on the k3 too 21:42 <+bridge> damn this thing is even smaller than i thought 21:43 <+bridge> it's bitesized 21:43 <+bridge> will the speakers sound better? 21:43 <+bridge> they are already p loud 21:44 <+bridge> if you are using analog out from computer i assume they have their own amp 21:44 <+bridge> The speakers probably have their own amp, are they connected to power? 21:44 <+bridge> ye to powa 21:44 <+bridge> yea then it will be good 21:44 <+bridge> if u can get it all hooked up 21:44 <+bridge> nice 21:44 <+bridge> so i can have speakers and headphones 21:45 <+bridge> excellent 21:45 <+bridge> I actually don't know what happens if you connect both 😄 21:45 <+bridge> rly? 21:45 <+bridge> I haven't had speakers in years 21:46 <+bridge> it should output to both 21:46 <+bridge> i see no switching on the k3 21:46 <+bridge> I'm guessing it works and you need to just turn off the speakers if you don't want them outputting 21:46 <+bridge> i can adjust volume on the speaker itself 21:46 <+bridge> ye 21:46 <+bridge> Ah, perfect 21:46 <+bridge> this is what i do 21:46 <+bridge> ok i just spent 310 € 21:46 <+bridge> wish me luck 21:46 <+bridge> lol 21:46 <+bridge> it gets tomorrow thanks to amazon 21:46 <+bridge> xd 21:47 <+bridge> i have chinesium amp and i use bookshelf speakers from a 2000s hifi set 21:47 <+bridge> there is no return from audio porn 21:47 <+bridge> this is how daddy bezos justifies his monopoly 21:47 <+bridge> thanks daddy 21:47 <+bridge> if it's your first upgrade from standard consumer hardware it'll be quite a bump, atleast it was for me 21:47 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1120439837393178664/image.png 21:47 <+bridge> :poggers2: 21:48 <+bridge> u got the braided 21:48 <+bridge> smh 21:48 <+bridge> ye all were braided kinda 21:48 <+bridge> <_voxeldoesart> should we start removing unused assets 21:48 <+bridge> wait, i dont think u need that 21:48 <+bridge> if headset has a cable 21:48 <+bridge> one more aux doesnt kill 21:48 <+bridge> also does the hd 599 come 1/4" in or 3.5mm l,earath? 21:48 <+bridge> After the first leap sadly you'll never get that level of upgrade again 😄 21:49 <+bridge> 3.5mm and an adapter for 1/4" 21:49 <+bridge> sweet 21:49 <+bridge> what unused assets? 21:49 <+bridge> the unused stars? 21:49 <+bridge> > Auriculares HD 599 Cable de 3 m / jack recto de 6,3 mm Cable de 1,2 m / jack recto de 3,5 mm Adaptador de 6,3 mm a 3,5 mm 21:49 <+bridge> xd 21:49 <+bridge> i didn't read that 21:49 <+bridge> cuz 21:49 <+bridge> in euro units its 6,3mm 21:49 <+bridge> <_voxeldoesart> and the unused sounds too 21:49 <+bridge> (No one calls it that) 😄 21:50 <+bridge> <_voxeldoesart> people are saying that "people can use those in mods" when no one does 21:50 <+bridge> ((or maybe the audio people do call it that, idk, I'm not in the eu audio scene)) 21:50 <+bridge> i've only ever heard 1/4" 21:50 <+bridge> can people use them in mods? 21:50 <+bridge> i.e. serverside 21:50 <+bridge> anyway, let's stop hogging the developer channel with audio talk 21:50 <+bridge> i remember my first purchase like this lol 21:51 <+bridge> what u got louis 21:51 <+bridge> <_voxeldoesart> maybe but i doubt anyone will 21:51 <+bridge> well its my last purchase as well 21:51 <+bridge> xd 21:51 <+bridge> since it was recent 21:51 <+bridge> dt 990 open backs 21:51 <+bridge> dt 990 are great headphones too 21:51 <+bridge> magni schit or whatever 21:51 <+bridge> excellent 21:52 <+bridge> few months after that i got condenser mic pair and a behringer interface to record my piano 21:52 <+bridge> finally i can watch anime with good audio 21:52 <+bridge> kekw 21:52 <+bridge> but its very costly 21:52 <+bridge> damn 21:52 <+bridge> gotta hear that fine grained japanese 21:52 <+bridge> i just realized 21:52 <+bridge> we probably should have pinged tela 20 mins ago 21:52 <+bridge> he has a degree in this shit 21:53 <+bridge> oh yea lmfao 21:53 <+bridge> for me a good audio test is any of melodysheep videos 21:53 <+bridge> u can now hear the intro song in higher hd i guess 21:53 <+bridge> https://www.youtube.com/watch?v=uD4izuDMUQA 21:53 <+bridge> epic 21:53 <+bridge> im queueing this for tomorrow 21:53 <+bridge> i think now i go to the store 21:53 <+bridge> and get caffeine 21:53 <+bridge> xd 21:54 <+bridge> which version did you get btw? there is a 32, 250 and 600 ohm version of it 21:54 <+bridge> 250 21:54 <+bridge> hmm didnt know there was a 600 ohm version lol 21:55 <+bridge> <_voxeldoesart> bro we are not colonizing mars by 2040 💀 21:55 <+bridge> @learath2 i read the fio works on linux but better disable autosuspend 21:56 <+bridge> guys chiller logged into discord 21:57 <+bridge> he accepted my friend request 11 mins ago 21:57 <+bridge> yeah 22:08 <+bridge> watch the vid its epic 22:09 <+bridge> epic narration 22:09 <+bridge> the start u hear david attenborough voice 22:09 <+bridge> if ur a space stuff fan must watch 22:10 <+bridge> @_voxeldoesart https://www.youtube.com/watch?v=OczrdOqAs-k 22:10 <+bridge> rogue ai video 22:10 <+bridge> a single youtuber does better movies than studios 22:18 <+bridge> <_voxeldoesart> yeah because the youtuber doesnt have some executive rushing them to death 22:19 <+bridge> <_voxeldoesart> i feel extremely bad for the VFX people in modern cinema 22:19 <+bridge> u can feel bad about many ppl 22:19 <+bridge> programmers also face crunches 22:19 <+bridge> feel bad for them too pls 22:19 <+bridge> :justatest: 22:20 <+bridge> <_voxeldoesart> yeah!!! 22:20 <+bridge> <_voxeldoesart> pin the blame on the millionares who set ungodly deadlines 22:20 <+bridge> <_voxeldoesart> i did 22:21 <+bridge> back from store 22:21 <+bridge> i got stuff 22:21 <+bridge> u got me a dac? 22:21 <+bridge> :poggers2: 22:21 <+bridge> im not ur amazon driver 22:22 <+bridge> :tw_sad: 22:22 <+bridge> sry 22:22 <+bridge> i got juice 22:22 <+bridge> and monster 22:22 <+bridge> white monster? 22:22 <+bridge> i only buy the white one 22:22 <+bridge> no cals 22:23 <+bridge> that one is good but only sometimes 22:23 <+bridge> i buy all of them sometimes except for some of the 'ultra' ones 22:23 <+bridge> i avoid the gold, green, purple ones 22:23 <+bridge> orange 22:23 <+bridge> etc 22:24 <+bridge> tbh i dont like the classic one 22:24 <+bridge> so i only tasted the white 22:24 <+bridge> damn 22:24 <+bridge> i dont rly want the ones that are not zero 22:24 <+bridge> the original one is good but it's too sweet sometimes 22:24 <+bridge> and i rarely drink em anyway, just in summer cuz too hot for coffee 22:24 <+bridge> yea 22:24 <+bridge> when i make home coffee it's never good 22:25 <+bridge> lol 22:25 <+bridge> i have a italian thing 22:25 <+bridge> u put on the stove 22:25 <+bridge> yea 22:25 <+bridge> well mine is induction 22:25 <+bridge> works too 22:25 <+bridge> i have a french press 22:25 <+bridge> and forgot about it 22:25 <+bridge> https://tenor.com/view/coffee-good-morning-cup-gif-16067685 22:25 <+bridge> this 22:25 <+bridge> i might try that 22:25 <+bridge> yea 22:25 <+bridge> ik what u mean 22:27 <+bridge> i have a working async implementation for my thing but it crashes on msvc 22:27 <+bridge> and i don't have the qt creator cdb plugin 22:27 <+bridge> i'm about to pull my hair out with windbg i think 22:27 <+bridge> xd 22:28 <+bridge> i wouldnt tinker with async cc++ 22:28 <+bridge> rust atleast provides me the safety 22:28 <+bridge> u just need to understand multithreading and u are safe in most situations 22:28 <+bridge> 😬 22:28 <+bridge> oh trust me i know 22:28 <+bridge> 😬😬 22:28 <+bridge> 😬😬😬 22:29 <+bridge> there is a saying 22:29 <+bridge> Understand multi threading 22:29 <+bridge> Xd 22:29 <+bridge> multithreading is one of the hardest things to grasp 22:29 <+bridge> not even pro C old devs do it perfect 22:30 <+bridge> It's not even _only_ the memory safety. Deadlock etc can happen so easily and sometimes hard to debug 22:30 <+bridge> Multi threading defs one of the hardest in large scale 22:30 <+bridge> yea 22:30 <+bridge> u need to find ways to store and use ur data at appropriate times 22:30 <+bridge> deadlocks can also happen in rust though 22:30 <+bridge> ye 22:31 <+bridge> you need some locking discipline to avoid that 22:31 <+bridge> moka pot 22:31 <+bridge> sometimes i confuse the terms 22:31 <+bridge> data race 22:31 <+bridge> race condition 22:31 <+bridge> i think u can have data races in rust 22:31 <+bridge> not race conditions 22:31 <+bridge> the other way around 22:31 <+bridge> ah ok 22:31 <+bridge> iirc deadlocks can't be impossible (insert halting problem here) 22:32 <+bridge> async is also sometimes really hard 22:32 <+bridge> 22:32 <+bridge> u often think linear, and msgs can come out of order 22:32 <+bridge> and hardware is racey 22:32 <+bridge> as long as you ask the programmer to prove their way out of the deadlocks, the program will be deadlock free 22:32 <+bridge> Maybe in a non turing complete language you can have no deadlocks 22:32 <+bridge> this ^ 22:33 <+bridge> actually 22:33 <+bridge> what if u have a suficiently locked down language 22:33 <+bridge> like the borrow checker does 22:33 <+bridge> you could make deadlock detection work at runtime ^^ 22:33 <+bridge> Yeah, this is an option 22:33 <+bridge> xd 22:34 <+bridge> u can also use RefCell 22:34 <+bridge> 😬 22:34 <+bridge> yea, that'd work. as long as you have an escape hatch, it'll still be turing complete 22:34 <+bridge> its only cool if the compiler can do it 22:34 <+bridge> A supervisor (hypervisor?) could issue all locks and at runtime force a context switch to itself to check if anything is deadlocked every once in a while 22:35 <+bridge> or just use an actor system 22:35 <+bridge> I imagine the performance characteristics would be great *insert non-existant sarcasm indicator* 22:35 <+bridge> i think erlang u cant have deadlocks 22:35 <+bridge> cuz its message passing 22:35 <+bridge> iirc 22:35 <+bridge> i dont think hypervisor is the right term but i see what u mean 22:35 <+bridge> depends on the way you define deadlock I guess 22:35 <+bridge> the moste extensive implementation i've ever seen for runtime deadlock detection is just damage control 22:35 <+bridge> oh no it froze! 22:35 <+bridge> 'oh no it froze!' 22:36 <+bridge> the program will not exist then 22:36 <+bridge> what program? 22:36 <+bridge> u mean formal proof? 22:36 <+bridge> the program written by a programmer who proved there's no deadlock 22:37 <+bridge> thats why we need AI 22:37 <+bridge> AI is not a proof 22:37 <+bridge> it has more time and is never lazy 22:37 <+bridge> I'm not sure I understand 22:37 <+bridge> isn't this purely impossible? 22:37 <+bridge> you can prove that a program has no deadlocks 22:37 <+bridge> hmm 22:37 <+bridge> the best way to prove it is with the program 22:37 <+bridge> e.g. by always taking locks in the same order 22:38 <+bridge> you can use "AI" as a way to try to generate your proofs 22:38 <+bridge> if it generates one, you're done 22:38 <+bridge> if not, it didn't help 22:38 <+bridge> ah ye true 22:38 <+bridge> but that only works in simple case iirc 22:38 <+bridge> like if you need A,B and thread 2 needs B,C, you're kinda screwed 22:38 <+bridge> deadlock freedom is just another property of programs 22:38 <+bridge> no 22:39 <+bridge> you always take the locks alphabetically 22:39 <+bridge> you're fine 22:39 <+bridge> just code purely single threaded, then u deadlock free 22:39 <+bridge> proof 22:39 <+bridge> thread 1 takes A, thread 2 takes B, then deadlock 22:39 <+bridge> where's the deadlock? 22:39 <+bridge> ah 22:39 <+bridge> need thread 3 22:39 <+bridge> oh 22:39 <+bridge> oj 22:39 <+bridge> ok 22:40 <+bridge> ok, got it 😛 22:40 <+bridge> Is there a name to this btw? It's very intuitive to me, but I had lots of trouble trying to explain this to someone just learning these things 22:40 <+bridge> thread 1 takes A, then B, then A, then B 22:40 <+bridge> same order 22:40 <+bridge> deadlock 22:40 <+bridge> not sure what you mean 22:40 <+bridge> in my model you can't take the same lock twice at the same time 22:40 <+bridge> makes all threads ask locks to a single master thread, problem solved too ? 22:41 <+bridge> pls port this to ddnet :^) 22:41 <+bridge> you mean "only have one lock"? 22:41 <+bridge> that also works as a strategy 😉 22:41 <+bridge> now harder problem, can you prevent livelock ? 22:41 <+bridge> yes, proofs 22:41 <+bridge> anyone here aware of shared memory or memory mapped files/memory mappings in use in ddnet (on windows)? i'm getting sigill on MmMapLockedPagesSpecifyCache from ntoskrnl 22:41 <+bridge> thread 1 takes A, B, C, thread 2 needs A, C. If they go in alphabetical order, thread 2 won't reach for C before having A, which makes a deadlock impossible 22:41 <+bridge> you can prove that your system will always continue to produce output, e.g. 22:41 <+bridge> o shit that's the library I am linking to fix the same undefined references from the CI a little while ago. 22:42 <+bridge> s\/takes/needs/ 22:42 <+bridge> sigill from system library is really the cherry on top 22:42 <+bridge> wtf? maybe it's trying to call a pure virtual fn on a child class that has no implementation? i have seen this with dlls 22:42 <+bridge> like the system literally saying "go fuck yourself" 😄 22:43 <+bridge> yea 22:43 <+bridge> i think this is a weird manifestation of linkage issues 22:44 <+bridge> it might always be you holding it wrong 22:44 <+bridge> because ntoskrnl.lib is what i had to link to remove the undefined references 22:44 <+bridge> couldn't really find a name for it quickly 22:44 <+bridge> well, im not holding anything right now 22:44 <+bridge> i could also see which ntoskrnl.lib it's bringing into things. i'm on mingw atm, could be a calling convention mismatch 22:44 <+bridge> if using a system32 lib 22:45 <+bridge> stupid stuff 22:45 <+bridge> probably learned it in some uni course 22:48 <+bridge> make a case study of ddnet locks 22:48 <+bridge> :greenthing: 22:49 <+bridge> locks arent even only hard part 22:49 <+bridge> 22:49 <+bridge> u most probably also want signaling 22:49 <+bridge> there u have "randomness" like spurious wakeups 22:49 <+bridge> 22:49 <+bridge> u could end up in a state where you aren't deadlocked, but simply never wake up, bcs u missed a signal etc. 22:49 <+bridge> list is long 22:49 <+bridge> and also cosmic rays 22:49 <+bridge> yeah 22:50 <+bridge> all my fails in ddnet were cosmic rays yet 22:50 <+bridge> yep 22:51 <+bridge> locks arent even only hard part 22:51 <+bridge> 22:51 <+bridge> u most probably also want signaling 22:51 <+bridge> there u have "randomness" like spurious wakeups 22:51 <+bridge> 22:51 <+bridge> u could end up in a state where you aren't deadlocked, but simply never wake up, bcs u missed a signal etc. (ok this is kind of a deadlock) 22:51 <+bridge> it's definitely hard to make a correct multithreaded program 22:51 <+bridge> correct and safe 22:51 <+bridge> the http module we have in ddnet is completely insane, while trying to do it properly tm I had to think about so many things and I'm still not sure it's completely correct 22:53 <+bridge> this is obnoxious 22:53 <+bridge> our current one is not that insane, right? 22:53 <+bridge> just starting a thread for every http request 22:54 <+bridge> ah, just a job 22:54 <+bridge> Yeah but the way it interfaces with the updater is not very sane 22:54 <+bridge> updater assumes the old http module which was doing requests one by one 22:54 <+bridge> ah 23:14 <+bridge> also it seems that this crash is only happening once it tries to populate the server browser with the data form the masters/ 23:14 <+bridge> but im not sure 23:14 <+bridge> also it seems that this crash is only happening once it tries to populate the server browser with the data from the masters/ 23:14 <+bridge> backtrace is completely unhelpful 23:15 <+bridge> Do we have a bug? 23:15 <+bridge> idk 23:15 <+bridge> Or is that your pr 23:15 <+bridge> mine but not related to my code afaict 23:15 <+bridge> idk yet 23:15 <+bridge> What issue does it throw 23:16 <+bridge> :flag_unk: 23:17 <+bridge> Mh i don't know that function, but I'm sure it's a bug in our code then 23:18 <+bridge> Don't make the code to complicated😂 23:20 <+bridge> huh 23:22 <+bridge> I mean did it happen in master branch 23:22 <+bridge> wow seems mingw ftell will as 0 if too big but msvc will do -1 23:22 <+bridge> just had to fix a stupid crash for that 23:23 <+bridge> Better don't use c api 23:23 <+bridge> i am using io_tell 23:23 <+bridge> Yeah better don't use that xd 23:23 <+bridge> i think we've gone over this 23:24 <+bridge> i already wrote it anyway and it's gone thru review 23:24 <+bridge> better to just not touch it for now if it works 23:24 <+bridge> Msvc c implementation makes c more random than it already is xd 23:26 <+bridge> c api as true random crash generator 23:26 <+bridge> c api as a true random crash generator 23:26 <+bridge> wow seems mingw ftell will tell as 0 if too big but msvc will do -1