00:01 < bridge_> hi ewan 00:01 < bridge_> hi ryozuki 00:02 < bridge_> hi heinrich 00:02 < bridge_> ```rs 00:02 < bridge_> fn swap(vec: Vec<(T, T>) -> Vec<(T, T)> { 00:02 < bridge_> vec.into_iter().map(|(x, y)| (y, x)).collect() 00:02 < bridge_> } 00:02 < bridge_> ``` 00:02 < bridge_> ```rs 00:02 < bridge_> fn swap(vec: Vec<(T, T)>) -> Vec<(T, T)> { 00:02 < bridge_> vec.into_iter().map(|(x, y)| (y, x)).collect() 00:02 < bridge_> } 00:02 < bridge_> ``` 00:02 < bridge_> why not mem swap 00:02 < bridge_> @ryozuki did you know this is currently guaranteed to work without allocations in rust? 😮 00:03 < bridge_> :o 00:03 < bridge_> i guess it can reason about iterators better? 00:03 < bridge_> I learned it from this blog post: https://geo-ant.github.io/blog/2023/unsafe-rust-exploration/ 00:03 < bridge_> looks like a niche opt maybe 00:03 < bridge_> (scroll to the bottom) 00:05 < bridge_> it happens here: https://github.com/rust-lang/rust/blob/18fa7b9104aad0cbaba6d9aff8e19d6b96eedcef/library/alloc/src/vec/in_place_collect.rs#L170-L212 00:05 < bridge_> (tried to find it in the source, took me a bit) 00:07 < bridge_> we need to create a list of rust related words 00:08 < bridge_> "unsafe" 00:08 < bridge_> "blazingly" 00:08 < bridge_> epic 00:08 < bridge_> i mean what u shared 00:10 < bridge_> the comments are amazing 00:11 < bridge_> interesting they use traits for marking specializations 01:13 < bridge_> @ryozuki https://doc.rust-lang.org/nightly/rustdoc/scraped-examples.html 02:35 < bridge_> <_gwendal> https://ddnet.org/status/index.json is no longer a thing ? 02:46 < bridge_> 46.174.139.20:8303 02:46 < bridge_> 185.72.9.187:8303 02:46 < bridge_> 02:46 < bridge_> fake turkey servers probably grabbing ips 02:46 < bridge_> 46.174.139.20:8303 is not a DDNet or KoG server. 02:47 < bridge_> 45.141.57.154:8303 02:47 < bridge_> test 02:47 < bridge_> 45.141.57.154:8303 is not a DDNet or KoG server. 03:00 < bridge_> No, we use https://master1.ddnet.tw/ddnet/15/servers.json filtered by the servers in https://info2.ddnet.tw/info now 03:00 < bridge_> <_gwendal> Alright thanks !! 10:25 < bridge_> https://master1.ddnet.org/ddnet/15/servers.json 10:25 < bridge_> https://info.ddnet.org/info 10:25 < bridge_> we use ddnet.org nowadays 10:57 < bridge_> <.hoshiestarr> @skills 12:49 < bridge_> to the more experienced game developers here - how harmful is letterboxing to a game? it makes it less immersive but way easier to manage, and i'm really torn on whether i should use this in my game or go through the exrta headaches to pull off a dynamic UI 12:50 < bridge_> I need some opinions from those who actually know what they're doing 12:53 < bridge_> On "normal" resolutions? 12:54 < bridge_> I think it's fine if a game does not support all resolutions fine if it doesn't make sense 12:54 < bridge_> on 1920 i would try to not have that 12:54 < bridge_> from what i seen some games do ui for the most used resolutions 12:55 < bridge_> and then yeah 12:55 < bridge_> i thought 1920x1080 was standard, but apparently there are a lot of modern monitors that use other ratios 12:55 < bridge_> my laptop is personally 16:9 too, and that's how most of my placeholder menus look now 12:56 < bridge_> Will be good enough for the mainstream then 12:57 < bridge_> alr 12:57 < bridge_> worst case scenario i'll deal with it later on 13:22 < bridge_> but beware ur asking developers not designers 13:22 < bridge_> xddd 13:22 < bridge_> lazy by nature 13:37 < bridge_> well 13:37 < bridge_> better to ask anyone 13:37 < bridge_> i should probably consult people who do design as well 13:38 < bridge_> or just do the lazy letterboxing thing and move on 13:40 < bridge_> Simply try your best. But don't waste too much time on this. UI is probably easy to fix later^^ 15:55 < bridge_> @learath2 ^ 16:01 < bridge_> @heinrich5991 #6256, willing to create a mem_init function and keep mem_zero for trivial types ? 16:01 < bridge_> https://github.com/ddnet/ddnet/pull/6256 16:14 < bridge_> what's `mem_init`? calling constructors and zeroing everything else? 16:14 < bridge_> @chairn 16:15 < bridge_> i guess 16:15 < bridge_> your comment said that you didn't like mem_zero not zeroing memory 16:15 < bridge_> yes 16:19 < bridge_> what's the use case for `mem_init`? 16:19 < bridge_> @chairn 16:21 < bridge_> doing the same as mem_zero, ie dont leave memory uninitialized 16:25 < bridge_> But as result type? 16:25 < bridge_> Int a = mem_init? 16:33 < bridge_> that's done using `{}`? 16:33 < bridge_> that can be done* 16:52 < bridge_> more like mem_init(T* ptr) with T being non trivial type 17:03 < bridge_> Guess we should prefer constructors then 17:04 < bridge_> If we currently have weird hacks that justify this. We should better look if we can get away.. but tbf sometimes the code is insanely hacky xD 17:07 < bridge_> How hard is it to disable ssl verification in aiohttp??? 17:07 < bridge_> Like seriously why do they make everything so hard? I know what I'm doing just let me not verify it aAAAAAaaaa 17:07 < bridge_> step 1 17:07 < bridge_> dont use python 17:12 < bridge_> v 17:12 < bridge_> https://github.com/aio-libs/aiohttp/discussions/5786 17:12 < bridge_> seems pretty easy? 17:13 < bridge_> You can only do it per request for some reason 17:13 < bridge_> override the request method if you want to have it per-session 17:14 < bridge_> doesn't sound too har 17:14 < bridge_> d 17:14 < bridge_> ah 17:14 < bridge_> I guess there are multiple possible request methods 17:15 < bridge_> why do you want to disable it btw? (I'm required by law to ask this question) @learath2 17:15 < bridge_> ur required? 17:15 < bridge_> xd 17:15 < bridge_> ah u mean cuz its used in ddnet 17:15 < bridge_> ? 17:16 < bridge_> I just want to inspect the requests with a proxy :AnyaSob: 17:17 < bridge_> if you just want to inspect, perhaps SSLKEYLOGFILE works? 17:18 < bridge_> damn, that caterpillar map looks great. the guy posting it is at his 6 attempts 😄 17:18 < bridge_> It's almost like I'm doing something wrong, how could it be this hard? Do people just not debug stuff in python and instead just keep rewriting it until it works or create bug reports? 17:19 < bridge_> @learath2 apparently SSLKEYLOGFILE is supported 17:19 < bridge_> perhaps use that? 17:19 < bridge_> I'd rather not work with wireshark 17:19 < bridge_> but that's a good fallback 17:19 < bridge_> I like to see what's actually on the wire 17:19 < bridge_> if I can't figure it out within the next 10 minutes 17:20 < bridge_> I like the interface of mitmproxy for messing around with these, especially since I can intercept and modify requests on the fly with it 17:21 < bridge_> have you tried what I suggested in #tester ? 17:23 < bridge_> the wired 17:23 < bridge_> @learath2 knows the reference 17:24 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1133781885663838429/image.png 17:24 < bridge_> :sus: 17:24 < bridge_> @learath2 add `ssl = False` in the line after `ssl = _merge_ssl_params(ssl, verify_ssl, ssl_context, fingerprint)` in /usr/lib/python3.11/site-packages/aiohttp/client.py 17:24 < bridge_> so u have dev talks in private channels 17:24 < bridge_> im saddened 17:25 < bridge_> that should disable all ssl checks for all requests using aiohttp 17:25 < bridge_> (make sure to revert it afterwards ^^) 17:26 < bridge_> @learath2 does that work for you? 17:26 < bridge_> THANK GOD 17:26 < bridge_> Thank you @heinrich5991 17:27 < bridge_> you're very welcome 17:29 < bridge_> Mh I have a feeling the bot is running two times now, @murpi did you start it with systemctl? 17:30 < bridge_> Yeah you did, I'm going to start crying 17:30 < bridge_> Yes, I wanted to see the request the bot does 17:30 < bridge_> systemd kek 17:32 < bridge_> Ok, I don't get it 17:33 < bridge_> The request contains the \n just fine, if I do the same request to the same endpoint on my own guild I get proper newlines 17:33 < bridge_> when nixos servers on ddnet? 17:33 < bridge_> sorry 😦 17:33 < bridge_> no it doesn't? 17:34 < bridge_> ```[2023-07-26 17:26:45][DEBUG][discord.gateway]: For Shard ID None: WebSocket Event: {'t': 'CHANNEL_UPDATE', 's': 344, 'op': 0, 'd': {'version': 1690385204989, 'type': 0, 'topic': '**"caterpillar4"** by **Test** [Race]https://ddnet.org/testmaps/?map=caterpillar4@learath2', 'theme_color': None, 'rate_limit_per_user': 0, 'position': 135, 'permission_overwrites': [{'type': 0, 'id': '746414504488861747', 'deny': '0', 'allow': '8192'}, {'type': 1, 'id': 17:34 < bridge_> they're missing entirely here too 17:35 < bridge_> Idk how you are printing that, but I'm very sure the actual request that is made to the api contains the \n 17:35 < bridge_> check the log file 17:35 < bridge_> i changed the logging level to debug 17:35 < bridge_> it prints the raw api requests into the log file 17:38 < bridge_> ```json 17:38 < bridge_> { 17:38 < bridge_> "type":0, 17:38 < bridge_> "name":"\ud83c\udfc1caterpillar4", 17:38 < bridge_> "parent_id":449352010072850443, 17:38 < bridge_> "permission_overwrites":[ 17:38 < bridge_> { 17:38 < bridge_> "allow":1024, 17:38 < bridge_> "deny":0, 17:38 < bridge_> "id":216912122083409925, 17:38 < bridge_> "type":1 17:38 < bridge_> }, 17:38 < bridge_> { 17:38 < bridge_> "allow":1024, 17:38 < bridge_> "deny":0, 17:38 < bridge_> "id":1099262920497582099, 17:38 < bridge_> "type ":1 17:38 < bridge_> }, 17:39 < bridge_> { 17:39 < bridge_> "allow":0, 17:39 < bridge_> "deny":1024, 17:39 < bridge_> "id":252358080522747904, 17:39 < bridge_> "type":0 17:39 < bridge_> }, 17:39 < bridge_> { 17:39 < bridge_> "allow":1024, 17:39 < bridge_> "deny":0, 17:39 < bridge_> "id":455814387169755176, 17:39 < bridge_> "type":0 17:39 < bridge_> }, 17:39 < bridge_> { 17:39 < bridge_> It obviously has no idea what it's printing 17:39 < bridge_> This is 100% what it is sending at the end of the day 17:39 < bridge_> btw what you logged is the gateway event notifying that the channel has been created, you are looking for the client request 17:40 < bridge_> ah 17:40 < bridge_> (I already logged within discord.py the request and it still had the \n) 17:43 < bridge_> AHA 17:43 < bridge_> Found it, it is an API issue 17:44 < bridge_> `POST /guilds//channels` ignores the `\n`s `PATCH /channels/` doesn't 17:51 < bridge_> make sure to re-enable tls verification 😉 18:03 < bridge_> I nuked the entire venv since I was poking around lots of packages trying to rig it to work 😄 18:03 < bridge_> https://github.com/discord/discord-api-docs/issues/6325 18:04 < bridge_> Found a bug in githubs preview generator there 😄 18:04 < bridge_> it's broken all the way down 18:05 < bridge_> all software, that is 18:06 < bridge_> mitmproxy is such a nice piece of software btw, if any of y'all ever need to debug stuff like this 18:06 < bridge_> Rare python w 18:06 < bridge_> @learath2 your the best 18:06 < bridge_> @learath2 youre the best 18:07 < bridge_> should I add the regex anyway? :justatest: 18:07 < bridge_> i've been changing the topics by hand the last couple of weeks 18:08 < bridge_> haven't used it before 18:08 < bridge_> any advice when to start looking at it? 18:09 < bridge_> It's especially useful when you feel like tinkering with the requests on the fly 18:09 < bridge_> do programs usually not have timeouts that prohibit manual editing? 18:09 < bridge_> Also very useful when you want to tinker with responses, e.g. you don't have access to the client source but want to see how it behaves w.r.t some response 18:10 < bridge_> how do you usually deal with certificates? 18:11 < bridge_> If the timeout becomes an issue it can also do automated editing iirc with full python support you can use to edit the request/response 18:12 < bridge_> e.g. depends on your target, e.g. way back in the day I was reversing some ios messaging app, just installing the mitmproxy CA certificate was enough (the apps fault really, it should have been making sure) 18:13 < bridge_> s\/^e\.g\. d/D/ 18:13 < bridge_> 😄 18:13 < bridge_> not the app's fault if it's okay with being analyzed. it's the user's device after all 18:13 < bridge_> That is true, but I doubt blackberry really wanted their messenger inspected in any manner 18:14 < bridge_> For apps that employ certificate pinning there are tools that can modify the installer, and a frida based magic tool that disables it at runtime 18:15 < bridge_> No, I'll fix it rn 18:33 < bridge_> admin abuse happening in #📬submit-maps 18:33 < bridge_> @learath2 releasing tons of maps 18:33 < bridge_> :ban: 18:34 < bridge_> I still do not undersand, how is this possible, I do the same request from the same server with curl it works, I do it with discord.py it doesn't work 18:34 < bridge_> have you tried wireshark? ^^ 18:34 < bridge_> it's likely not the same request 18:35 < bridge_> have you compared the headers? @learath2 18:36 < bridge_> have you compared the URL? 18:36 < bridge_> Headers I'm comparing rn, URL the bot was using a versioned one, I used a versioned one too didn't change anything 18:36 < bridge_> the versioning sounds like it could be the issue 18:37 < bridge_> maybe try that again, maybe you missed something? 18:37 < bridge_> anyway, I'll be off for a bit. I'm interested in the eventual solution 18:38 < bridge_> The api even replied with the now correct topic, I don't get it :/ 18:39 < bridge_> ctrl-r in the discord client sometimes fixes caching issues 18:40 < bridge_> the debug prints in the logs are super confusing 😬 18:42 < bridge_> I was doing the PATCH too quick 18:42 < bridge_> seems there is a race somewhere in discord api ;/ 18:42 < bridge_> If theres too much spam, disable the playerfinder cog btw 18:42 < bridge_> Anyway, a 2 second sleep after creating the channel seems enough 18:44 < bridge_> a: buse 18:45 < bridge_> @murpi that's that fixed 18:45 < bridge_> now port everything to YADDB 18:46 < bridge_> 🙂 18:46 < bridge_> One day 21:32 < bridge_> https://github.com/model-checking/kani 21:33 < bridge_> https://openjdk.org/jeps/400 21:34 < bridge_> > JEP 400: UTF-8 by Default 21:34 < bridge_> rust defining standards 21:40 < bridge_> we'll unfortunately never get rid of almost-utf-16 in java, javascript, .net, windows 22:24 < bridge_> @heinrich5991 https://blog.cloudflare.com/zenbleed-vulnerability/ 22:25 < bridge_> today im faster 22:25 < bridge_> @jupeyy_keks @reitw @learath2 new lcoudflare blog dropped 22:26 < bridge_> hmm 22:26 < bridge_> upon further look doesnt seem as interesting xd 22:26 < bridge_> already seen it 22:26 < bridge_> https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=0bc3126c9cfa0b8c761483215c25382f831a7c6f 22:27 < bridge_> the microcode update 22:27 < bridge_> @heinrich5991 do u know examples of open source microcode? to know what it looks like 22:28 < bridge_> I think there's some public old, REd intel microcode 22:29 < bridge_> https://www.righto.com/2023/03/8086-multiplication-microcode.html 22:29 < bridge_> but I didn't mean that 22:30 < bridge_> https://news.ycombinator.com/item?id=32145324 maybe some useful links here 22:31 < bridge_> btw 22:31 < bridge_> do you guys know streetcomplete? it's a nice app to get into contributing to openstreetmap 🙂 22:31 < bridge_> https://streetcomplete.app/ 22:34 < ChillerDragon> @zwelf is there a way to search https://archive.strct.cc/ddnet without downloading all? 22:34 < ChillerDragon> i am intrested in what ddnet did on r/place 22:36 < bridge_> that happened in a thread which is not available in the archive AFAIK 22:36 < ChillerDragon> so not on ddnet discord? 22:37 < bridge_> discord has threads 22:37 < ChillerDragon> like slack? 22:37 < bridge_> @zwelf2 22:37 < bridge_> https://discord.com/channels/252358080522747904/1131576178487066715 22:37 < ChillerDragon> isnt a thread in a channel? 22:38 < bridge_> ye i guess 22:38 < bridge_> but like diferent idk 22:38 < bridge_> yes. but it's not backed up by dce 22:39 < bridge_> https://github.com/Tyrrrz/DiscordChatExporter/issues/663 22:39 < bridge_> I guess it would help if you could contribute there, ChillerDragon 22:40 < bridge_> also https://github.com/Tyrrrz/DiscordChatExporter/discussions/999 22:40 < bridge_> did someone make archive.org crawl all https://archive.strct.cc/ddnet/ ? 22:41 < bridge_> nope 22:41 < bridge_> i submitted it 22:41 < bridge_> but i think it doesnt do subpages automatically 22:41 < ChillerDragon> guess i found enough context here https://archive.strct.cc/ddnet/2023-07-21/general.html 22:41 < bridge_> u missed a lot 22:41 < ChillerDragon> like? 22:42 < bridge_> how we teamed up with other communities 22:42 < bridge_> idk 22:42 < bridge_> xd 22:42 < ChillerDragon> epic 22:42 < bridge_> ``` 22:42 < bridge_> So, what happened for this week? 22:42 < bridge_> 20 July 22:42 < bridge_> Main idea for r/place 2023 - ⁠r/place 2023⁠ 22:42 < bridge_> Fist ddnet r/place - ⁠r/place 2023⁠ 22:43 < bridge_> First pixels- ⁠r/place 2023⁠ 22:43 < bridge_> OOF, that was close - ⁠r/place 2023⁠ 22:43 < bridge_> War with KoG and SP|Someone, when they tried to destroy ddnet r/place - ⁠general⁠ 22:43 < bridge_> DDRock just stared to ban player for saying, "KoG suck's" xD - ⁠r/place 2023⁠ 22:43 < bridge_> Void are so close - ⁠r/place 2023⁠ 22:43 < bridge_> Hitted by void, but keep calm :justatest: - ⁠r/place 2023⁠ 22:43 < bridge_> We're dead - ⁠r/place 2023⁠ 22:43 < bridge_> Some Spanish streamer just stole our place >:C - ⁠r/place 2023⁠ 22:43 < bridge_> 21 July 22:43 < bridge_> Old place actually AMOGUS field - ⁠r/place 2023⁠ 22:43 < bridge_> ReD 22:43 < bridge_> Getting back our place:D - ⁠r/place 2023⁠ 22:43 < bridge_> (Also we comeback out friendship with KoG and DDrock) 22:43 < bridge_> Collaboration with Sailor Moon @Johann [Sailor Moon] - ⁠r/place 2023⁠ 22:43 < bridge_> Sailor moon kitty with DDNet art - ⁠r/place 2023⁠ - ⁠r/place 2023⁠ 22:43 < bridge_> Ha ha happi cloud c: - ⁠r/place 2023⁠ 22:43 < bridge_> Tardis with us on r/place - ⁠r/place 2023⁠ 22:43 < bridge_> 22:43 < bridge_> 23 July 22:43 < bridge_> Had an idea about extend our field, but guys from Whole Lotta Red sain no:( - ⁠r/place 2023⁠ - ⁠r/place 2023⁠ 22:43 < bridge_> Ok that fun XD - ⁠r/place 2023⁠ 22:43 < bridge_> Heart with French:> - ⁠r/place 2023⁠ 22:43 < bridge_> @Voxel get shadow ban xd - ⁠r/place 2023⁠ 22:43 < bridge_> Actually nothing happen this day 22:43 < bridge_> 24 July 22:43 < bridge_> Void next to us (again) - ⁠r/place 2023⁠ 22:43 < bridge_> a resume 22:43 < bridge_> without links 22:43 < bridge_> ⁠r/place 2023⁠ is a channel link 22:43 < bridge_> seems kinda redundant to put it on archive.org 22:44 < bridge_> why? i trust it more than struct.cc 22:44 < bridge_> to continue living 22:44 < ChillerDragon> i dont get how r/place even works how is it not full of bots? How do people coordinate did you have like a ddnet template that others used? or how do they know where to place 22:44 < bridge_> it is full of automated user accounts 22:44 < bridge_> ye template 22:44 < bridge_> and ye lot of bots 22:45 < bridge_> sadly 22:45 < ChillerDragon> i see 22:45 < bridge_> they dont even bother putting a protection 22:45 < ChillerDragon> wot? 22:45 < ChillerDragon> like none at all? 22:45 < bridge_> it looked like an event to boost user counts 22:45 < bridge_> but this is done because of recent reddit drama and its a easy way to "fake" traffic to the website 22:45 < bridge_> because reddit is doing badly with PR right now 22:45 < ChillerDragon> r/place is older than the PR struggle isnt it? 22:45 < bridge_> r/place was reopened probably because of the PR struggle 22:45 < ChillerDragon> a 22:46 < ChillerDragon> i thought its a reocurring event 22:46 < bridge_> no 22:46 < bridge_> r/place should have been only done once, reddit usually does something new on april fools 22:46 < bridge_> but when they did rplace they saw it was too much of a success 22:46 < ChillerDragon> i see 22:46 < bridge_> so they repeated 22:46 < ChillerDragon> is it over now? 22:46 < bridge_> y 22:46 < ChillerDragon> sadge 22:46 < bridge_> it ended with a big fuck u/spewz 22:46 < ChillerDragon> how to even use a template? 22:46 < bridge_> it ended with a big fuck u/spez 22:47 < bridge_> userscripts 22:47 < ChillerDragon> cool 22:47 < bridge_> https://violentmonkey.github.io/ 22:47 < ChillerDragon> ima google who spez is my self 22:48 < ChillerDragon> thanks for the insight :) 22:48 < ChillerDragon> > Spez, written as u/spez on Reddit, is the platform’s CEO. Real name Steve Huffman, users are protesting against the tech leader after Reddit revealed updates to its API (Application Programming Interface) in April 2023. 22:49 < ChillerDragon> epic trol 23:45 < bridge_> is tampermonkey not oss 23:46 < bridge_> 's what i've been using