01:01 <+bridge> [ddnet] <> https://cdn.discordapp.com/attachments/293493549758939136/788918639444361226/unknown.png 01:01 <+bridge> [ddnet] <> why is my ping so high 03:04 <+bridge> [ddnet] is there more ideas of expending /practice mode? like save states, and more. 03:21 <+bridge> [ddnet] He should try updating his computer in first place, even the vms work correctly 03:47 <+bridge> [ddnet] how the f did bombay manage to get smooth emotes aswell xD 05:19 <+bridge> [ddnet] pressing "run server" in the main menu doesn't open the cfg files, is this a bug? 05:57 <+bridge> [ddnet] which cfg files aren't opened? @louis 05:58 <+bridge> [ddnet] idk i think autoexec_server 11:57 <+ChillerDragon> @Jupstar ✪ i can not reproduce any issues with gfx_resizable 1 neither on debian+gnome nor on arch+gnome both before and after your pr it was fine 11:57 <+ChillerDragon> seems like something fixed it already some time ago maybe some new gnome or graphicsdrivers stuff or an older ddnet commit 12:01 <+bridge> [ddnet] ok 12:01 <+bridge> [ddnet] ty for testing 12:06 <+bridge> [ddnet] For todays aoc puzzle I want a data structure that has constant index time, can grow in both directions and deals with negative indexes. So I can nest it three levels deep and get the game of life playing field. It would be nice if it could automatically grow when I try to access indexes that don't exist yet. E.g. indexes -5 to 5 are existing and I try to access index 10. Then it should initialize indexes 6 to 10 with a default value and re 12:07 <+bridge> [ddnet] It sounds like you could implement this with a ring buffer that grows resizes automatically when out of space e.g. doubles it's size in that case. 12:08 <+bridge> [ddnet] Like Rusts VecDeque https://doc.rust-lang.org/std/collections/struct.VecDeque.html 12:08 <+bridge> [ddnet] I wonder if I need to write the rest of the functionality (e.g. negative indexes) myself or if this is a common data structure I just don't know the name of 12:09 <+bridge> [ddnet] @timakro Just use a hash set? 12:09 <+bridge> [ddnet] indexed by (Int, Int, Int) 12:09 <+bridge> [ddnet] I thought about that but isn't it crazy to nest hash sets three levels deep 12:09 <+bridge> [ddnet] Ooohhh 12:09 <+bridge> [ddnet] Okay why didn't I think about that 12:10 <+bridge> [ddnet] nono, a single hash set of course 12:10 <+bridge> [ddnet] with a tuple of 3 ints as the index 12:10 <+bridge> [ddnet] Yep that makes sense ^^ 14:09 <+bridge> [ddnet] @timakro I also made that mistake 14:10 <+bridge> [ddnet] but I did nest hashmaps three levels deep ^^ 14:18 <+bridge> [ddnet] @heinrich5991 I imagine with rusts `.entry(x).or_default()` this isn't even too verbose. And from a theoretical standpoint operations on the nested hashmap are still O(1) ^^ 14:18 <+bridge> [ddnet] I used python with defaultdicts 14:18 <+bridge> [ddnet] so it wasn't verbose for indexing at all 14:18 <+bridge> [ddnet] (it was for summing all the fields though) 14:19 <+bridge> [ddnet] In the end I used just a hash set of tuples 14:19 <+bridge> [ddnet] yea, someone else also just used a hashset 14:19 <+bridge> [ddnet] So summing is just `cube.len()` ^^ 14:19 <+bridge> [ddnet] I didn't realize that a hashmap with default false is just a hashset ^^ 14:21 <+bridge> [ddnet] There was another puzzle were you needed to iterate over an area like `for x in 0..10 { for y in 0..10 { }}` I couldn't find a practical rust crate yet which let's me write this as a single loop 14:21 <+bridge> [ddnet] itertools? 14:21 <+bridge> [ddnet] https://docs.rs/itertools/0.9.0/itertools/macro.iproduct.html 14:21 <+bridge> [ddnet] From the itertools crate there is `for (x,y) in (0.10).cartesian_product(0..10) {}` 14:22 <+bridge> [ddnet] Omg! Nice exactly what I wanted 14:22 <+bridge> [ddnet] I just looked into the `itertools:Itertools` trait, I thought that was everything itertools provides 14:24 <+bridge> [ddnet] https://artsandculture.google.com/experiment/AAHWrq360NcGbw 14:24 <+bridge> [ddnet] quite cool 🙂 14:26 <+bridge> [ddnet] Where is the machine learning? 14:26 <+bridge> [ddnet] > We developed a machine learning model trained on the voices of four opera singers in order to create an engaging experiment for everyone, regardless of musical skills. Tenor, Christian Joel, bass Frederick Tong, mezzo‑soprano Joanna Gamble and soprano Olivia Doutney recorded 16 hours of singing. In the experiment you don’t hear their voices, but the machine learning model’s understanding of what opera singing sounds like, based 14:26 <+bridge> [ddnet] on the ? 14:27 <+bridge> [ddnet] @heinrich5991 Can Rusts macros just generate arbitrary rust code? 14:27 <+bridge> [ddnet] yes 14:27 <+bridge> [ddnet] but this is a limited macro, using macro_rules! 14:27 <+bridge> [ddnet] proc macros can execute any code on the input 14:27 <+bridge> [ddnet] https://docs.rs/typed-html/0.2.2/typed_html/ 14:27 <+bridge> [ddnet] 14:31 <+bridge> [ddnet] Hmm somehow those 4 nested loops looked pretty xD 14:31 <+bridge> [ddnet] 🙂 14:42 <+bridge> [ddnet] I should not have chosen Standard ML today. The standard library feels like a wasteland and I had to implement everything myself. No sets, no cartesian product, etc: https://github.com/def-/adventofcode-2020/blob/master/day17.sml (too lazy to read in the input too) 14:42 <+bridge> [ddnet] huh 14:43 <+bridge> [ddnet] looks like haskell 🙂 14:44 <+bridge> [ddnet] ML is the predecessor of Haskell 14:44 <+bridge> [ddnet] but Haskell is just so much nicer, the only advantage ML has is that it lacks lazy evaluation which can bite you in Haskell 14:44 <+bridge> [ddnet] oh. I thought these were separate branches 14:44 <+bridge> [ddnet] Sure, but Haskell is what language researchers created after what they learned from ML 14:45 <+bridge> [ddnet] and no one really uses ML anymore 14:45 <+bridge> [ddnet] maybe OCaml would work better? 14:45 <+bridge> [ddnet] I think the original rust compiler was implemented in OCaml 14:45 <+bridge> [ddnet] yes, ocaml is definitely more reasonable and actually used nowadays, so it probably has a standard library 😄 16:34 <+bridge> [ddnet] Is there anything wrong with a /31 subnet? I thought it was fine for a point2point link 16:36 <+bridge> [ddnet] the all 0 and all 1 bit addresses are reserved AFAIK 16:36 <+bridge> [ddnet] so there are 0 usable addresses in that range 16:36 <+bridge> [ddnet] RFC3021 seems to have an exception for exactly this 16:37 <+bridge> [ddnet] TIL 16:37 <+bridge> [ddnet] https://networkengineering.stackexchange.com/questions/1547/31-point-to-point-bitmasks says yes 16:37 <+bridge> [ddnet] Yeah but this book is definitely printed after 2000 and it says /31 is an invalid mask 16:39 <+bridge> [ddnet] I think I’ll ignore the book on this one, seems every other source I can find says /31s are an exception to the no usable addresses rule 17:02 <+bridge> [ddnet] Well, it's probably an annoying subnet because routers will not support that 17:16 <+bridge> [ddnet] https://ddnet.tw/maps/Lockdown 17:16 <+bridge> [ddnet] Aoe sus 20:39 <+bridge> [ddnet] anyone know why my sound files will not play if i replace it? 20:39 <+bridge> [ddnet] like its a .wv and all but it just doesnt play anything 21:15 <+bridge> [ddnet] it needs to be the same format, and maybe the client uses a very outdated version 21:15 <+bridge> [ddnet] so maybe some old container version 21:19 <+bridge> [ddnet] how did you convert it @louis? 21:26 <+bridge> [ddnet] some online converter 21:31 <+bridge> [ddnet] @louis can you send the files? 21:57 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/789234889459236905/hook_attach-01.wv 22:58 <+bridge> [ddnet] @Ryozuki https://github.blog/2020-12-17-no-cookie-for-you/ 22:58 <+bridge> [ddnet] they actually removed the tracking cookies 🙂 22:59 <+bridge> [ddnet] :POGGIES: