00:00 <+bridge> [ddnet] Nice cheatsheet 00:09 <+bridge> [ddnet] @Learath2 when will c++ have ADT 00:10 <+bridge> [ddnet] they are the future of language design 00:10 <+bridge> [ddnet] you know product types, sum types 00:10 <+bridge> [ddnet] ADT? C++ already has plenty ADTs no? 00:10 <+bridge> [ddnet] https://en.wikipedia.org/wiki/Algebraic_data_type 00:10 <+bridge> [ddnet] i dont see rust enums in c++ 00:10 <+bridge> [ddnet] Ah algebraics. I thought abtract data type 00:11 <+bridge> [ddnet] Abstract* 00:12 <+bridge> [ddnet] Values of algebraic types are analyzed with pattern matching, which identifies a value by its constructor or field names and extracts the data it contains. 00:12 <+bridge> [ddnet] 00:12 <+bridge> [ddnet] Algebraic data types were introduced in Hope, a small functional programming language developed in the 1970s at the University of Edinburgh.[2] 00:12 <+bridge> [ddnet] you know that something funny 00:13 <+bridge> [ddnet] rust doesnt rly implement rly novel stuff 00:13 <+bridge> [ddnet] but stuff that can be called new comparing to usual languages 00:13 <+bridge> [ddnet] Hm, not even sure what these are. Smells too functional to me 00:13 <+bridge> [ddnet] sum types are 00:13 <+bridge> [ddnet] rust enums 00:13 <+bridge> [ddnet] Can’t you so something alike this with operator overloading in c++? 00:13 <+bridge> [ddnet] product types 00:13 <+bridge> [ddnet] are tuples 00:13 <+bridge> [ddnet] but the key to make use of adts is this 00:13 <+bridge> [ddnet] > Values of algebraic types are analyzed with pattern matching, which identifies a value by its constructor or field names and extracts the data it contains. 00:13 <+bridge> [ddnet] otherwise why have them at all 00:14 <+bridge> [ddnet] without pattern matching, which c++ lacks they are useless 00:15 <+bridge> [ddnet] @Learath2 a language can take functional features while still be imperative 00:15 <+bridge> [ddnet] which rust does a lot 00:15 <+bridge> [ddnet] jsut take the best of both worlds 00:15 <+bridge> [ddnet] Hm, I don’t quite get this definition you gave. I’ll take a look at the wikipedia one later 00:16 <+bridge> [ddnet] 2 bad i cant find a reddit comment i saw 00:16 <+bridge> [ddnet] it described them rly well 00:16 <+bridge> [ddnet] Clearly unions/variants and tuples aren’t what you want, so I must be missing some detail 00:17 <+bridge> [ddnet] https://en.wikipedia.org/wiki/Product_type 00:17 <+bridge> [ddnet] yeah it is what i want 00:17 <+bridge> [ddnet] coupled with first class language support 00:17 <+bridge> [ddnet] for pattern matching 00:17 <+bridge> [ddnet] https://en.wikipedia.org/wiki/Tagged_union 00:19 <+bridge> [ddnet] Pattern matching is basically just what rust “match” stmt’s are? 00:20 <+bridge> [ddnet] yeah altho u can do if let too 00:20 <+bridge> [ddnet] basically check std::option 00:20 <+bridge> [ddnet] it wont always be as useful as rust Option 00:20 <+bridge> [ddnet] due to lack of proper pattern matching 00:21 <+bridge> [ddnet] https://youtu.be/ojZbFIQSdl8 wikipedia article was linking to this talk, with the guy talking about ADTs at 14:32. Maybe interesting 00:21 <+bridge> [ddnet] ill check it out someday xd 00:28 <+bridge> [ddnet] @Learath2 i always prefer blog posts tho 00:28 <+bridge> [ddnet] cuz i can read those at work 00:28 <+bridge> [ddnet] xd 00:29 <+bridge> [ddnet] Understandable 00:30 <+bridge> [ddnet] Have a nice day* 00:30 <+bridge> [ddnet] sry i had to say it 00:30 <+bridge> [ddnet] I expected nothing less of you 00:31 <+bridge> [ddnet] :greenthing: 06:18 <+bridge> [ddnet] Lol yes this is very good and helps to understand and choose 09:29 <+bridge> [ddnet] https://news.ycombinator.com/item?id=33281106 09:29 <+bridge> [ddnet] another good day for rust 09:29 <+bridge> [ddnet] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-37454 09:31 <+bridge> [ddnet] https://nvd.nist.gov/vuln/detail/CVE-2022-37454 09:31 <+bridge> [ddnet] > The Keccak XKCP SHA-3 reference implementation before fdc6fef has an integer overflow and resultant buffer overflow that allows attackers to execute arbitrary code or eliminate expected cryptographic properties. This occurs in the sponge function interface. 09:31 <+bridge> [ddnet] guess which lang uses? 09:31 <+bridge> [ddnet] :monkalaugh: 09:43 <+bridge> [ddnet] Java? 09:54 <+bridge> [ddnet] bruh-st 09:55 <+bridge> [ddnet] oh wait nvm 10:05 <+ChillerDragon> wait idk does java even have buffer overflows? 10:05 <+ChillerDragon> I use "WIKI HOW WITH IMAGES" more than I would like to admit :D 10:15 <+bridge> [ddnet] the jvm can have, but the code you write can't 10:17 <+ChillerDragon> ou i see 10:18 <+ChillerDragon> omg java seems as unsafe as c++ but also as bloat as python. feels like the worst of both worlds haha 10:56 <+bridge> [ddnet] Dude its c 10:56 <+bridge> [ddnet] Not java 10:56 <+bridge> [ddnet] Why u dum 12:09 <+bridge> [ddnet] http: https://info.ddnet.org/info failed. libcurl error: getaddrinfo() thread failed to start 12:10 <+bridge> [ddnet] same issue with github idk why its happening 12:13 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1032959810645282846/SS.png 12:58 <+bridge> [ddnet] Github not working either is weird. Maybe check the log on ddnet? It seems curl in general seems to have an issue on your system. Maybe google for the error? 13:17 <+ChillerDragon> yo @Learath2 why is ``Msg_SixToSeven(27)`` -1 and not 27? 13:18 <+ChillerDragon> https://zillyhuhn.com/cs/.1666351014.png 13:18 <+ChillerDragon> this one i think 13:19 <+ChillerDragon> does -1 mean same in 0.6 and 0.7? 13:20 <+ChillerDragon> oh wait no wat 13:21 <+ChillerDragon> Nvm it all makes sense 13:21 <+ChillerDragon> 27 is 0.7 NETMSGTYPE_CL_STARTINFO so passing that into SixToSeven makes no sense so somewhere i f*cked up 13:29 <+bridge> [ddnet] no insulting others 13:34 <+bridge> [ddnet] :justatest: 13:34 <+bridge> [ddnet] @Ryozuki pls start drama 13:35 <+bridge> [ddnet] no 13:35 <+bridge> [ddnet] :mmm: 13:35 <+bridge> [ddnet] :BASED: 13:36 <+bridge> [ddnet] @Not Keks rust > vulkan 13:36 <+bridge> [ddnet] :greenthing: 13:36 <+bridge> [ddnet] How dare you 13:37 <+bridge> [ddnet] Can I explicitly opt out of insult protection? 😛 13:38 <+bridge> [ddnet] hmm. you can opt out of insult protection in DMs by not reporting it to me 13:38 <+bridge> [ddnet] in public channels however… 13:38 <+bridge> [ddnet] Loser 13:39 <+bridge> [ddnet] 🚔 13:39 <+bridge> [ddnet] :justatest: 13:39 <+bridge> [ddnet] I'm so sorry Skeith, apparently I can't opt out. You will be sent to the purgatory 13:39 <+bridge> [ddnet] Understood 15:23 <+bridge> [ddnet] @heinrich5991 15:23 <+bridge> [ddnet] I see people using std::rand 15:23 <+bridge> [ddnet] it is no longer part of std? 15:23 <+bridge> [ddnet] in rust? 15:25 <+bridge> [ddnet] yes 15:26 <+bridge> [ddnet] I'm not aware of that existing 15:26 <+bridge> [ddnet] maybe pre-1.0 15:26 <+bridge> [ddnet] https://stackoverflow.com/a/19674981 15:26 <+bridge> [ddnet] eg 15:26 <+bridge> [ddnet] they use std::rand 15:26 <+bridge> [ddnet] > Editor's note: This answer is for a version of Rust prior to 1.0 and is not valid in Rust 1.0. 15:27 <+bridge> [ddnet] ah 15:27 <+bridge> [ddnet] well he wasn't the only one to have that, so I was wondering 15:28 <+bridge> [ddnet] use that rand crate, I guess 15:28 <+bridge> [ddnet] yes that's what i'll do 16:56 <+bridge> [ddnet] @Not Keks do u expect a lot of perf improvement from a 3200mhz to a 4000mhz ram? 16:58 <+bridge> [ddnet] I heard Zen architecture of AMD benefits a lot more from faster ram than Intel. So I’d guess that depends a lot on the architecture 16:58 <+bridge> [ddnet] Well i use latest ryzen 17:05 <+bridge> [ddnet] yeah a bit, maybe around 5% 17:05 <+bridge> [ddnet] also depends lot on the program/game 17:14 <+bridge> [ddnet] Compiling? 17:26 <+ChillerDragon> OMG DID RYO CAL ME DUM HEINRICH HALP 17:27 <+bridge> [ddnet] mhh dunno, maybe too cpu bound, just look at phoronix, they probs have benchmarks 17:28 <+ChillerDragon> @Jupstar ✪ 0.7 skins in ddnet when? 17:28 <+bridge> [ddnet] mhhhhhhhhhhhhhhh 17:28 <+ChillerDragon> THIS SUMMER!? 17:29 <+bridge> [ddnet] the skin system defs cool. but 0.7 skins look trash 17:29 <+bridge> [ddnet] 17:29 <+bridge> [ddnet] also it makes skins lot more complicated.. e.g. no more database like we have now 17:29 <+bridge> [ddnet] 17:29 <+bridge> [ddnet] so i guess just implement the skin system chiller 17:29 <+bridge> [ddnet] this spring 17:29 <+bridge> [ddnet] the spring this year 17:29 <+bridge> [ddnet] why can't we have a db for 0.7? 17:30 <+bridge> [ddnet] who said that 17:30 <+ChillerDragon> we can not have a db for 0.7 like we have a db for 0.6 17:30 <+ChillerDragon> would be a diff db 17:30 <+bridge> [ddnet] no more database like now = no finished skins are shown 17:30 <+bridge> [ddnet] see e.g. #📬submit-skins 17:30 <+bridge> [ddnet] > e.g. no more database like we have now 17:30 <+bridge> [ddnet] I interpreted this as such 17:30 <+bridge> [ddnet] but I understand your point now 17:30 <+ChillerDragon> u dum 17:30 <+ChillerDragon> hehehehehehe 17:30 <+bridge> [ddnet] i mean ppl probs want the amount of customization anyway 17:31 <+ChillerDragon> ryo teached me that 17:31 <+bridge> [ddnet] and we will have both like 0.7 anyway 17:31 <+bridge> [ddnet] so probs fine 17:31 <+bridge> [ddnet] *taught 17:31 <+ChillerDragon> thanks english sensei 17:31 <+ChillerDragon> UwU 17:31 <+bridge> [ddnet] chiller: you can only be insulted by dumb, if you aren't dumb, else its no insult 😉 17:31 <+ChillerDragon> since when 17:32 <+bridge> [ddnet] since IQ > 90 17:32 <+ChillerDragon> so everytime my insult is not true it is not a insult? 17:32 <+bridge> [ddnet] yeah then its a fact xD 17:32 <+ChillerDragon> thats handy 17:32 <+ChillerDragon> so heinrich can not prosecute me 17:33 <+bridge> [ddnet] whether stuff is true or not has little influence on whether it's an insult 17:33 <+bridge> [ddnet] try it out 17:33 <+ChillerDragon> i have legal high ground due to pro lawyer jupstar being on my side 17:33 <+ChillerDragon> wat u gona do 17:33 <+bridge> [ddnet] yeah 17:33 <+ChillerDragon> anyways im sure we can figure something out for the skins 17:34 <+ChillerDragon> like we already said somehow crack 0.6 skins into 0.7 format 17:34 <+bridge> [ddnet] i can ensure you, you'll get banned without any kind of legal consequences 17:34 <+ChillerDragon> but what I would need you for is make the cleint skin menu not render 0.7 skins in black but in colors :( 17:34 <+bridge> [ddnet] well rip 17:35 <+bridge> [ddnet] i still have 0.6 to 0.7 skin converter btw 17:35 <+ChillerDragon> im sure you can throw some vulkan at the problem 17:35 <+ChillerDragon> ou u already have one nice 17:35 <+ChillerDragon> so we done 17:35 <+ChillerDragon> so only some pro has to fix this https://zillyhuhn.com/cs/.1666366443.png 17:35 <+bridge> [ddnet] https://github.com/Jupeyy/teeworlds_skin_converter_06_to_07 17:35 <+bridge> [ddnet] 17:35 <+bridge> [ddnet] eyes not perfect, but still a beginning, tho its like 5000 years old 17:36 <+bridge> [ddnet] if they black 17:36 <+bridge> [ddnet] give them color 17:36 <+ChillerDragon> how 17:36 <+bridge> [ddnet] black = 0 17:36 <+bridge> [ddnet] 17:36 <+bridge> [ddnet] 0 * number = 0 17:36 <+ChillerDragon> isnt that offensive? 17:36 <+bridge> [ddnet] make them white 17:36 <+bridge> [ddnet] i dunno 17:36 <+bridge> [ddnet] isnt it a fact? 17:36 <+bridge> [ddnet] 😉 17:36 <+ChillerDragon> isnt ``black = 0`` banned these days? 17:36 <+ChillerDragon> since github switched to main branches and stuff 17:37 <+bridge> [ddnet] so u say dark white? 17:37 <+ChillerDragon> politcal correct code 17:37 <+bridge> [ddnet] white = very light grey 17:37 <+bridge> [ddnet] black = very dark grey? 17:37 <+ChillerDragon> da 17:38 <+bridge> [ddnet] lim light from 0 to inf of grey 17:38 <+ChillerDragon> eww maffs 17:38 <+ChillerDragon> there are only 50 shades of grey not inf -.- 17:40 <+bridge> [ddnet] so where is ur skin pr 17:40 <+bridge> [ddnet] i can quickly look why its black 17:41 <+bridge> [ddnet] takes me 5 seconds 17:41 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/5660 17:41 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/5660 17:41 <+bridge> [ddnet] this? 17:41 <+bridge> [ddnet] is the code up to date? 17:41 <+ChillerDragon> want me to merge da thing w master? 17:42 <+ChillerDragon> or rebase i guess 17:42 <+bridge> [ddnet] yeah 17:42 <+ChillerDragon> oke lemme cleanup ma workin tree first 17:42 <+bridge> [ddnet] git stash 17:42 <+ChillerDragon> then it ends up in the long list of forgotton stashes 17:42 <+bridge> [ddnet] Yeee 17:42 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1033042696371175535/20221021_171203.jpg 17:43 <+bridge> [ddnet] or `git worktree add chiller_skins7 /tmp/chiller_skins7` to check it out to /tmp 17:43 <+ChillerDragon> okay now that sounds fancy 17:43 <+ChillerDragon> worktree add!? 17:43 <+ChillerDragon> i should git gud 17:44 <+ChillerDragon> im a bit scared i will just run it xd 17:44 <+ChillerDragon> how would i get back? 17:44 <+ChillerDragon> git worktree remove? 17:44 <+bridge> [ddnet] `rm -r /tmp/chiller_skins7` 17:44 <+ChillerDragon> a 17:44 <+ChillerDragon> hm okay wish me luck 17:44 <+bridge> [ddnet] u didnt bind a texture 17:44 <+ChillerDragon> he alr has it xd 17:45 <+ChillerDragon> before i understood git 101 17:45 <+bridge> [ddnet] do i need to use 0.7 skins or are they in? 17:45 <+ChillerDragon> ok fuck it ima stash 17:45 <+bridge> [ddnet] (ah, apparently `git worktree remove` also exists) 17:47 <+bridge> [ddnet] make sure to implement the sizing logic for 0.7 skins too 17:47 <+ChillerDragon> gosh those annoying conflicts 17:47 <+bridge> [ddnet] else they aren't perfectly centered in scoreboard in chat like 0.6 skins 17:47 <+ChillerDragon> feels like this is gonna take some time 17:47 <+bridge> [ddnet] and that's a disaster 17:47 <+bridge> [ddnet] lzma 17:47 <+ChillerDragon> ok du model 17:47 <+bridge> [ddnet] Reminds me of ligma 17:47 <+bridge> [ddnet] But its just a compression algoritgm 17:48 <+bridge> [ddnet] You got lzma? 17:48 <+bridge> [ddnet] :BASED: 17:48 <+bridge> [ddnet] lzma or lzma2 xd 17:48 <+bridge> [ddnet] Idk xd 17:50 <+ChillerDragon> i think i hacked the conflict 17:50 <+ChillerDragon> so wat about that texture now 17:50 <+ChillerDragon> how to fix 17:50 <+bridge> [ddnet] yeah how do i include them? 17:50 <+bridge> [ddnet] copy from 0.7 client? 17:50 <+ChillerDragon> ah u miss files or what? 17:51 <+ChillerDragon> o 17:51 <+ChillerDragon> eh idk its so long ago i either slapped them into ./data or ~/.teeworlds 17:51 <+ChillerDragon> omg build issues 17:51 <+ChillerDragon> changed apis 17:51 <+ChillerDragon> ddnet so unstable 17:52 <+ChillerDragon> we should do the wireshark approach api changing prs should ship a fix script :p 17:52 <+bridge> [ddnet] ah 17:52 <+ChillerDragon> looking at you herr müller github.com/ddnet/ddnet/commit/95550fd6a9c608e612343d9079a69de8a91d5c82 17:52 <+bridge> [ddnet] u render the front skin first 17:52 <+bridge> [ddnet] then the back 17:52 <+bridge> [ddnet] clever chiller 17:52 <+ChillerDragon> o 17:53 <+ChillerDragon> i see 17:53 <+bridge> [ddnet] link to that wireshark approach? 17:53 <+ChillerDragon> fakof -.- 17:53 <+ChillerDragon> you dont know that heinrich!? 17:53 <+ChillerDragon> sec 17:56 <+ChillerDragon> shit i dont find it anymore but i remember when i looked into dissectors i copied some code from stackoverflow that didnt compile and googling the error message showed the api changing commit that renamed a function. The commit also included a script that you can run on a codebase to rename all method calls 17:58 <+ChillerDragon> okay either im blind af or this is far less common than i thought 18:05 <+ChillerDragon> oke so where is front and back being renderd? c: 18:11 <+ChillerDragon> OMG THANKS JOPSTAR U SO SMORT https://zillyhuhn.com/cs/.1666368602.png 18:17 <+bridge> [ddnet] also make sure to split all parts into own textures 18:17 <+bridge> [ddnet] else its not pixel perfect anymore like 0.6 skins are 18:18 <+bridge> [ddnet] also ddnet requires the dilate tool to prevent artifacts 18:19 <+bridge> [ddnet] also check image dimensions 18:19 <+ChillerDragon> ye thanks but 1 character code is enough skins for today 18:19 <+bridge> [ddnet] like 0.6 skins 18:19 <+ChillerDragon> ima give the 0.7 tokens a bit of love now then i rq 18:49 <+bridge> [ddnet] @heinrich5991 oh btw did you have time to look at ws dissector? 18:49 <+bridge> [ddnet] the dll issue 18:57 <+bridge> [ddnet] it should be fixed 18:58 <+bridge> [ddnet] https://github.com/heinrich5991/libtw2/issues/61 19:04 <+bridge> [ddnet] @heinrich5991 amazing ! will test that out 19:15 <+bridge> [ddnet] tell me about the results 20:06 <+bridge> [ddnet] https://twitter.com/LinaAsahi/status/1583498896847667216 20:07 <+bridge> [ddnet] https://twitter.com/LinaAsahi/status/1583498900802895879 20:07 <+bridge> [ddnet] gigachad vtuber 20:07 <+bridge> [ddnet] @Not Keks ^ 20:08 <+bridge> [ddnet] wasnt that person writing drivers? 20:09 <+bridge> [ddnet] yeah 20:09 <+bridge> [ddnet] the gpu driver for apple 20:09 <+bridge> [ddnet] m1 20:09 <+bridge> [ddnet] how is that related to the kernel? 20:09 <+bridge> [ddnet] its a kernel driver? 20:09 <+bridge> [ddnet] yeah but its not kernel code, its a driver that uses kernel code 20:09 <+bridge> [ddnet] anyway, its nice that this project exists 20:10 <+bridge> [ddnet] i would say this is tighly coupled 20:10 <+bridge> [ddnet] up to a certain points probably yes 20:11 <+bridge> [ddnet] but if i think of a kernel i'd think of it like this: 20:11 <+bridge> [ddnet] you add any kind of bug. u doomed 20:11 <+bridge> [ddnet] anyway point still stands 20:13 <+bridge> [ddnet] i dunno, i understand that rusts solve lots of problems. but this post sounds like fanboyism 20:13 <+bridge> [ddnet] 20:13 <+bridge> [ddnet] a claim without any kind of proof 20:13 <+bridge> [ddnet] but that's probs a general problem with twitter 20:20 <+bridge> [ddnet] TIL https://en.wikipedia.org/wiki/Slowloris_(computer_security) 20:21 <+bridge> [ddnet] instead of going fast u go slow xd 20:21 <+bridge> [ddnet] and has cool logo xD 20:21 <+bridge> [ddnet] xd 20:24 <+bridge> [ddnet] @Ryozuki Asahi always streams for 10-12h 20:24 <+bridge> [ddnet] 20:24 <+bridge> [ddnet] imagine having such motivation and skill 20:24 <+bridge> [ddnet] would be epic 20:46 <+bridge> [ddnet] ye 21:08 <+bridge> [ddnet] @Not Keks https://twitter.com/linaasahi/status/1583444549648543744 21:08 <+bridge> [ddnet] pog 21:08 <+bridge> [ddnet] https://news.ycombinator.com/item?id=33288706 21:23 <+bridge> [ddnet] nice godot might already work 😄 21:49 <+bridge> [ddnet] I was thinking, while working on dfng, using DDRace teams to have multiple teams instead of 2. By making CTeamsCore::CanCollide always return true (game/teamscore.cpp) it works as expected server-side, but the client makes inaccurate predictions. It could be fixed by using an appropriately modified client. Since already there is a flag for fng predictions, would it be worth introducing something similar for dfng? (I'm not asking about upst 21:52 <+bridge> [ddnet] If such a flag is introduced, making dfng compatible with ddrace (by using other tile ids for spikes) is worth considering (maybe also adding new types of spikes as well) 21:53 <+bridge> [ddnet] you're using ddnet teams for fng teams. you're doing that so that you can have more than 2 teams? 21:53 <+bridge> [ddnet] yeah 21:54 <+bridge> [ddnet] I wouldn't be opposed to a flag saying that all ddnet teams share the same game world 21:54 <+bridge> [ddnet] not sure if that's hard to do, client-side, though 21:56 <+bridge> [ddnet] I think modifying `game/teamscore.ccp:CTeamsCore::CanCollide()` would suffice 21:57 <+bridge> [ddnet] how does it work with super 21:59 <+bridge> [ddnet] After having performed a quick test, it doesn't seem it would suffice though. 22:00 <+bridge> [ddnet] Yeah with super it work as expected :D 22:01 <+bridge> [ddnet] i mean how does it work technically 22:01 <+bridge> [ddnet] does the client simply know who is super xd 22:01 <+bridge> [ddnet] it seems that the clients knows when someone is super 22:02 <+bridge> [ddnet] let look at the code 22:02 <+bridge> [ddnet] ah yeah i think it was like team -2 22:02 <+bridge> [ddnet] smth like that 22:02 <+bridge> [ddnet] let me look at the code 22:05 <+bridge> [ddnet] not totally sure but `TEAM_SUPER` is defined as `= MAX_CLIENTS` at `teamscore.h` 23:53 <+bridge> [ddnet] @ReiTW did the dissector work? 23:57 <+bridge> [ddnet] @heinrich5991 works perfectly 23:57 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/1033136912904499200/unknown.png