00:05 <+bridge> [ddnet] TSMC is also building a massive fab in Texas, but these things take sooo long 04:31 <+bridge> [ddnet] btw, the map Pogchy used the telegun/telegrenade quite nicely 04:31 <+bridge> [ddnet] I like it, thanks for creating it @Ryozuki 🙂 04:56 <+bridge> [ddnet] https://media.ccc.de/v/33c3-8127-how_do_i_crack_satellite_and_cable_pay_tv @Learath2 unwatched, but re the discussion the other day 04:56 <+bridge> [ddnet] this year's offline ccc was also cancelled 😦 07:24 <+bridge> [ddnet] nice :brownbear: 08:26 <+bridge> [ddnet] just when i needed a https cert letsencrypt is down https://letsencrypt.status.io/ 08:26 <+bridge> [ddnet] :feelsbadman: 08:26 <+bridge> [ddnet] lucky 09:20 <+bridge> [ddnet] Use staging `acme-staging-v02.api.letsencrypt.org` :wesmart: 09:21 <+bridge> [ddnet] https://news.ycombinator.com/item?id=29338965 09:21 <+bridge> [ddnet] hackernews is with me 09:21 <+bridge> [ddnet] i got my cert already btw 09:22 <+bridge> [ddnet] pro tip: renew ur certs days before the expiration 09:22 <+bridge> [ddnet] not at the last days 09:22 <+bridge> [ddnet] imagine this happens then 09:22 <+bridge> [ddnet] :monkalaugh: 09:26 <+bridge> [ddnet] Actually, certbot renew should be in crontab and it should auto-renew all certs much earlier than a day. This was the main promise of letsencrypt, getting a certificate totally automated 09:27 <+bridge> [ddnet] Being for free is just a side-effect of this: Since you can't forget to pay, you won't get a broken certificate for not paying 09:28 <+bridge> [ddnet] (ddnet.tw still had a certificate failure recently, but I'm not sure what happened there, might have been a cloudflare issue instead) 09:28 <+bridge> [ddnet] ye i do it automatically 09:28 <+bridge> [ddnet] i never renewed it manually 09:28 <+bridge> [ddnet] but i saw some comments on hn 09:28 <+bridge> [ddnet] xD 09:30 <+bridge> [ddnet] @deen actually certbot is not part of letsencrypt as is 09:31 <+bridge> [ddnet] letsencrypt actually lists multiple clients for renewal, etc 09:31 <+bridge> [ddnet] https://letsencrypt.org/docs/client-options/ 09:31 <+bridge> [ddnet] here is the list 09:32 <+bridge> [ddnet] > Let’s Encrypt does not control or review third party clients and cannot make any guarantees about their safety or reliability. 09:33 <+bridge> [ddnet] > Recommended: Certbot 09:33 <+bridge> [ddnet] Good enough 09:33 <+bridge> [ddnet] 👀 09:48 <+bridge> [ddnet] @timakro do you have the teesmash server config with votes? 09:48 <+bridge> [ddnet] @deen found it 09:48 <+bridge> [ddnet] https://github.com/unique-clan/unique-scripts/tree/master/teesmashcfg 09:48 <+bridge> [ddnet] im glad we are open source too! 09:49 <+bridge> [ddnet] oh 09:49 <+bridge> [ddnet] its a template 09:49 <+bridge> [ddnet] lmao 09:49 <+bridge> [ddnet] i think this script does the magic 09:56 <+bridge> [ddnet] @deen 09:56 <+bridge> [ddnet] if you can add the missing maps from here 09:56 <+bridge> [ddnet] smashy series 10:11 <+bridge> [ddnet] done 10:29 <+bridge> [ddnet] 👀 11:25 <+bridge> [ddnet] @Ryozuki thanks! 11:26 <+bridge> [ddnet] :brownbear: 11:54 <+bridge> [ddnet] :monkaS: 12:06 <+bridge> [ddnet] I don't like certbot, it feels so overbuilt 12:07 <+bridge> [ddnet] I usually use acme.sh but would use something even more lighterweight if it existed 13:43 <+bridge> [ddnet] I use https://github.com/diafygi/acme-tiny 14:08 <+bridge> [ddnet] golang 14:08 <+bridge> [ddnet] ah no python 14:09 <+bridge> [ddnet] golang is more blue white 14:09 <+bridge> [ddnet] Python I can tolerate as long as it's something I never have to tinker with 14:09 <+bridge> [ddnet] after using rust i rly dislike golang error handling 14:09 <+bridge> [ddnet] feels dirty 14:09 <+bridge> [ddnet] and wrong 14:10 <+bridge> [ddnet] a good blog post on why golang is badly thought https://fasterthanli.me/articles/i-want-off-mr-golangs-wild-ride 14:10 <+bridge> [ddnet] Any error handling after rust feels pretty sad 14:10 <+bridge> [ddnet] u should read it 14:10 <+bridge> [ddnet] (btw this guy is one of the best rust bloggers) 14:10 <+bridge> [ddnet] imho 14:10 <+bridge> [ddnet] tho his articles can take more than an hour to read xd 14:11 <+bridge> [ddnet] That's the way I like my articles 14:12 <+bridge> [ddnet] it has one about C and utf8 and people that complain about rust having 2 types for strings: String and &str 14:12 <+bridge> [ddnet] rly good too 14:12 <+bridge> [ddnet] They need to take as long as possible so I can get away from my miserable existence 14:12 <+bridge> [ddnet] https://fasterthanli.me/articles/working-with-strings-in-rust 14:12 <+bridge> [ddnet] @Learath2 read this 14:13 <+bridge> [ddnet] it has C on it 14:13 <+bridge> [ddnet] only 75 mins 14:13 <+bridge> [ddnet] :monkalaugh: 14:16 <+bridge> [ddnet] If it's C hate you need to give me a trigger warning 14:17 <+bridge> [ddnet] idk if its c hate 14:17 <+bridge> [ddnet] cuz its just stating truths 14:18 <+bridge> [ddnet] :monkalaugh: 14:20 <+bridge> [ddnet] oh, fasterthanli.me 14:20 <+bridge> [ddnet] good way to spend an hour or two understanding rust's async e.g. 14:21 <+bridge> [ddnet] true 14:52 <+bridge> [ddnet] Okay this article is silly. I started only depressed now I’m annoyed and depressed 14:52 <+bridge> [ddnet] Did you know that in a language that has no concept of unicode, handling unicode requires you to do it yourself SMH 14:54 <+bridge> [ddnet] Or get this, a language with automatic memory management is easier to use correctly than one with manual memory management. Revolutionary 14:54 <+bridge> [ddnet] > That was (part of) an environment variable! Those are stored right next to the program's arguments in glibc, the GNU C library. 14:54 <+bridge> [ddnet] isn't that the linux kernel that does this? 14:56 <+bridge> [ddnet] well the article explains why rust aproach is better 14:57 <+bridge> [ddnet] Did you know if you cast away const you could break things? My mans saying this like all C programmers cast away const daily. In the decade I’ve been programming in C I have not seen more than 3 instances of people casting const away 14:57 <+bridge> [ddnet] @Learath2 iirc this article was made cuz there were a lot of c devs saying uh duh rust has 2 types of a string etc 14:57 <+bridge> [ddnet] All in beginner quesitons 14:57 <+bridge> [ddnet] the str searching functions in C casually cast const away 14:58 <+bridge> [ddnet] :monkalaugh: 14:59 <+bridge> [ddnet] > #include 14:59 <+bridge> [ddnet] > void *memchr(const void *s, int c, size_t n) 14:59 <+bridge> [ddnet] > { 14:59 <+bridge> [ddnet] > unsigned char *p = (unsigned char*)s; 14:59 <+bridge> [ddnet] > while( n-- ) 14:59 <+bridge> [ddnet] > if( *p != (unsigned char)c ) 14:59 <+bridge> [ddnet] > p++; 14:59 <+bridge> [ddnet] > else 14:59 <+bridge> [ddnet] > return p; 14:59 <+bridge> [ddnet] > return 0; 14:59 <+bridge> [ddnet] > } 14:59 <+bridge> [ddnet] https://clc-wiki.net/wiki/C_standard_library:string.h:memchr 15:00 <+bridge> [ddnet] Idk what this kind of article is called but I hate it. Coding in one language like a braindead flipflop and comparing it to another without artificially hindering themselves 15:00 <+bridge> [ddnet] @Learath2 did u fully read it tho? 15:00 <+bridge> [ddnet] i bet not 15:00 <+bridge> [ddnet] I’m like one paragraph away from finishing it 15:00 <+bridge> [ddnet] cuz he implements the utf8 in c too later 15:00 <+bridge> [ddnet] ah 15:01 <+bridge> [ddnet] i knew u would get kinda triggered xd 15:06 <+bridge> [ddnet] `toupper(0) = 0` sounds reasonable 15:06 <+bridge> [ddnet] The fact that String and &str exists can be justified without the need to pull in an another language and code in it like a baboon 15:06 <+bridge> [ddnet] I mean it's the identity for all non-letters, including U+0000, I guess 15:34 <+bridge> [ddnet] in fact, rust does the same: 15:34 <+bridge> [ddnet] ```rs 15:34 <+bridge> [ddnet] > cat a.rs 15:34 <+bridge> [ddnet] fn main() { 15:34 <+bridge> [ddnet] println!("{:?}", "\0".to_uppercase()); 15:34 <+bridge> [ddnet] } 15:34 <+bridge> [ddnet] ``` 15:34 <+bridge> [ddnet] ``` 15:34 <+bridge> [ddnet] $ ./a 15:34 <+bridge> [ddnet] "\u{0}" 15:34 <+bridge> [ddnet] ``` 15:34 <+bridge> [ddnet] I bet there is some ambiguity in the standard he is talking about there 15:39 <+bridge> [ddnet] > Lucky `toupper` has no way to return an error and just returns `0` for `0`, right? Or maybe `0` is what it returns on error? Who knows! It's a C API! Anything is possible. 15:39 <+bridge> [ddnet] Converted character or ch if no uppercase version is defined by the current C locale. 15:39 <+bridge> [ddnet] sounds pretty clearcut to return 0 if passed 0 15:40 <+bridge> [ddnet] the function is a bit ouch though 15:40 <+bridge> [ddnet] it's UB to call it with a `signed char` or a `char` that is signed 15:40 <+bridge> [ddnet] https://en.cppreference.com/mwiki/index.php?title=cpp/string/byte/toupper&oldid=94327 15:42 <+bridge> [ddnet] Is it the case in C too or is it some C++ oddity? 15:42 <+bridge> [ddnet] I usually assume that these things are the same in C and C++, let me double-check 15:44 <+bridge> [ddnet] in the c11 standard, there's no UB 15:45 <+bridge> [ddnet] ah well 15:45 <+bridge> [ddnet] what is "a character"? 15:45 <+bridge> [ddnet] Heh, yeah those things can be a little vague 15:46 <+bridge> [ddnet] Maybe check the definitions at the start? 15:46 <+bridge> [ddnet] doing so rn 15:46 <+bridge> [ddnet] > **character** 15:46 <+bridge> [ddnet] > 〈abstract〉 member of a set of elements used for the organization, control, or representation of data 15:48 <+bridge> [ddnet] I don't know what to do with this 16:31 <+bridge> [ddnet] is there a way to save settings without closing the client? if not can we get one? \:) 16:32 <+bridge> [ddnet] no :) 19:00 <+bridge> [ddnet] https://github.blog/2021-08-27-30-free-and-open-source-linux-games-part-3/ 19:00 <+bridge> [ddnet] actually not bad list 19:00 <+bridge> [ddnet] ddnet not in there t ho 19:03 <+bridge> [ddnet] Well, Teeworlds was in part 1 already 19:11 <+bridge> [ddnet] ye 19:11 <+bridge> [ddnet] > Easy to learn, but hard to master, Teeworlds is a nice little MMO that’s a mashup of retro platform and shooting games. Customize your character, battle with up to 16 players, create your own maps, or check out some of the amazing community-created maps. 19:11 <+bridge> [ddnet] > 19:11 <+bridge> [ddnet] > Originally created by Magnus Auvinen, it’s now open source and maintained by the community. 19:11 <+bridge> [ddnet] > Unvanq 19:11 <+bridge> [ddnet] MMO sounds a bit weird 19:12 <+bridge> [ddnet] tho 20:15 <+bridge> [ddnet] @heinrich5991 what about #4380? 20:15 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/4380 21:57 <+bridge> [ddnet] https://dynomight.net/thanks/ 21:57 <+bridge> [ddnet] https://news.ycombinator.com/item?id=29341055 23:04 <+bridge> [ddnet] i didnt wish to be born chill 23:08 <+bridge> [ddnet] Is there a tutorial for ubuntu ddnet server setup? 23:10 <+bridge> [ddnet] deen 23:10 <+bridge> [ddnet] typing.. 23:10 <+bridge> [ddnet] :justatest: 23:10 <+bridge> [ddnet] download version for linux from ddnet.tw, extract, run ./DDNet-Server (potentially in screen so it keeps running after you close your connection) 23:17 <+bridge> [ddnet] ufw allow 8303 and server working fine 23:17 <+bridge> [ddnet] I can't seem to find config file 23:18 <+bridge> [ddnet] data/autoexec_server.cfg 23:18 <+bridge> [ddnet] Forgive my ignorance, I've only created servers for source engine games before. 23:18 <+bridge> [ddnet] thats not called ignorance 23:21 <+bridge> [ddnet] Turkish community needs gores server and I want to provide it. 23:23 <+bridge> [ddnet] Every Turkish player who wants to play gores has to enter German servers. 23:23 <+bridge> [ddnet] What procedure do I need to validate my server? 23:23 <+bridge> [ddnet] The checkmark you mean? That is only for official DDNet and KoG servers 23:24 <+bridge> [ddnet] so only the ones I run and Avolicious runs 23:26 <+bridge> [ddnet] I don't know exactly how ddnet global work. Many players in Turkey suggested that I open a server. 23:26 <+bridge> [ddnet] Because they wanted a gores server in Turkey. 23:26 <+bridge> [ddnet] So if I can do something like authenticate/certify my server I would like to do that. 23:30 <+bridge> [ddnet] No, you could ask Avolicious to run a KoG server in Turkey 23:31 <+bridge> [ddnet] or you can run your own, but then the ranks are not connected 23:31 <+bridge> [ddnet] and it's only on Internet tab, not KoG