00:39 <+bridge_> [ddnet] @heinrich5991 how are the files supposed to be executed for #5017 ? 00:39 <+bridge_> [ddnet] https://github.com/ddnet/ddnet/issues/5017 00:40 <+bridge_> [ddnet] i miss the files 'UnicodeData.txt' 00:51 <+bridge_> [ddnet] okay, i managed to retrieve files from the texlive source that i had on my disk πŸ˜„ 00:52 <+bridge_> [ddnet] so `UnicodeData.txt` and `confusables.txt` 00:52 <+bridge_> [ddnet] thanks `locate` πŸ™‚ 02:27 <+bridge_> [ddnet] @Hav 03:17 <+bridge_> [ddnet] now i can say `i use arch btw` 04:56 <+bridge_> [ddnet] oh boy 06:09 <+bridge_> [ddnet] is it possible to change the coordinates to integers with subpixel values 06:10 <+bridge_> [ddnet] or is this not worthwhile 06:10 <+bridge_> [ddnet] it would break existing maps that depend on floating point stuff maybe 06:10 <+bridge_> [ddnet] It would break a lot, no way 06:10 <+bridge_> [ddnet] Also gpus don't really love integers, Jupstar might not enjoy it either 06:11 <+bridge_> [ddnet] gotcha 06:11 <+bridge_> [ddnet] that's very odd 06:11 <+bridge_> [ddnet] but i guess it makes sense 06:11 <+bridge_> [ddnet] Which part is odd? 06:11 <+bridge_> [ddnet] oh the GPU liking floats 06:12 <+bridge_> [ddnet] sprry 06:12 <+bridge_> [ddnet] sorry 06:12 <+bridge_> [ddnet] Ah, yeah, gpu people love their floats 06:12 <+bridge_> [ddnet] qualitative logic or something idk 06:13 <+bridge_> [ddnet] embracing imprecision 06:17 <+bridge_> [ddnet] oh i had an idea 06:18 <+bridge_> [ddnet] some play_sound command so you can even have audio cues for binds 06:18 <+bridge_> [ddnet] or to quickly test your sounds in game maybe 08:30 <+bridge_> [ddnet] why should this be a joke? 08:30 <+bridge_> [ddnet] 08:30 <+bridge_> [ddnet] i find it inresponsible that we havent done it yet actually 08:30 <+bridge_> [ddnet] every shitty static html site has encryption nowadays 08:31 <+bridge_> [ddnet] its not that i wouldnt enjoy better math than floats, but changing everything to ints is not an easy task 08:31 <+bridge_> [ddnet] and would defs require to drop gl 1.x 08:33 <+bridge_> [ddnet] i mean in the end floats were invented to make real number math kinda possible. But inaccuracy ofc can suck, for graphical stuff its probs not that horrible since pixels are kinda a huge mathimatical limiation already 08:33 <+bridge_> [ddnet] πŸ˜„ 08:34 <+bridge_> [ddnet] I thought you'd have performance concerns with using ints 08:35 <+bridge_> [ddnet] i can not say if ints solve a problem for us. But i guess new hardware to handle fixed size floating point types would be at least cool 08:36 <+bridge_> [ddnet] real double precision on GPUs is also cool, independent of if they'd fix smth for us 09:11 <+bridge_> [ddnet] Ah Classic. But there is no place where I can check if this is the case right? 09:11 <+bridge_> [ddnet] (@deen) 09:25 <+bridge_> [ddnet] this is true 09:29 <+bridge_> [ddnet] > There is no real reason to encrypt ddnet chat 09:29 <+bridge_> [ddnet] is something someone who doesnt value privacy would say 09:40 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970228271465783316/RDT_20220501_094030754543657093547411.jpg 09:56 <+bridge_> [ddnet] the scripts/generate_unicode_confusables_data.py script tells you where to get UnicodeData.txt and confusables.txt 09:56 <+bridge_> [ddnet] encrypting ddnet chat without authenticating the encryption doesn't do much 10:00 <+bridge_> [ddnet] It would prevent packet injection I guess 10:03 <+bridge_> [ddnet] hm? what do you mean? 10:03 <+bridge_> [ddnet] it'd allow people to manually detect MITM if we displayed the session fingerprint somewhere 10:03 <+bridge_> [ddnet] people usually don't do that though 10:04 <+bridge_> [ddnet] If we do dh kex, and use that to encrypt mitm can't inject anything into the connection, can it? 10:04 <+bridge_> [ddnet] it mitms the dh kex 10:05 <+bridge_> [ddnet] you can fundamentally never be MITM free without a way to authenticate your peer out-of-band. the server in the middle can just chat with each of you and reencrypt everything 10:06 <+bridge_> [ddnet] I was thinking of injection after the connection got established 10:06 <+bridge_> [ddnet] ah yes, that's secure then 10:16 <+bridge_> [ddnet] chillerdragon: only my emails πŸ˜„ 11:12 <+bridge_> [ddnet] it seems that there are two different concepts tangled up in the console/logging 11:12 <+bridge_> [ddnet] one is logging 11:12 <+bridge_> [ddnet] the other is "responses to the command you just entered" (for rcon, chat commands) 11:18 <+bridge_> [ddnet] Yep, those two have been conjoined forever 11:29 <+bridge_> [ddnet] whats the reason if ping completly missing? 11:29 <+bridge_> [ddnet] 11:29 <+bridge_> [ddnet] geo ip lookup failed? 11:29 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970255523452702720/unknown.png 11:32 <+bridge_> [ddnet] that's a bug 11:41 <+ChillerDragon> @deen where can i signup for that mailing list? hehe 11:42 <+ChillerDragon> so your hoster always sends you a mail when a new ddos is detected and he starts filtering? 11:43 <+bridge_> [ddnet] hetzner does that, at least 11:43 <+ChillerDragon> i see 11:43 <+ChillerDragon> i am having such a hard time to find the motive behind the constant ddos over years thats why i am a bit skeptic if it is always ddos or something else we can maybe fix 11:44 <+ChillerDragon> "ddos" seems to be the goto excuse. I see it in game a lot when people just have a poor connection they immedetialy suspect beging ddosed -.- 11:46 <+bridge_> [ddnet] GER2 last week, every pike is an attack. For FRA it's harder to show since the hoster blocks them 11:46 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970259963425472532/ger2.ddnet.tw-net-7d.png 11:46 <+bridge_> [ddnet] spike* 11:47 <+ChillerDragon> that is the unfiltered traffic? 11:47 <+bridge_> [ddnet] logarithmic scale! 11:47 <+bridge_> [ddnet] yes 11:47 <+ChillerDragon> that wont be shown on the ddnet website? 11:47 <+bridge_> [ddnet] It's from https://ddnet.tw/stats/server/ 11:47 <+ChillerDragon> any chance to make this graph public? 11:47 <+ChillerDragon> a 11:47 <+ChillerDragon> ok nvm then 11:47 <+bridge_> [ddnet] https://ddnet.tw/stats/server/ 11:47 <+ChillerDragon> heinrich u still got wire? 11:48 <+bridge_> [ddnet] you and fokkonaut are my last contacts there. I don't open it regularly 11:48 <+ChillerDragon> fokkonaut :D 11:48 <+ChillerDragon> i just slid in your dms i dont want to discuss this in public -.- 11:49 <+bridge_> [ddnet] Ooh secrets 11:50 <+ChillerDragon> nudes 11:52 <+bridge_> [ddnet] xd 12:14 <+bridge_> [ddnet] tls encription of a html side is e2s not e2e, so if you want to encrypt chat of a game e2e we would get attention of NSA soon 12:15 <+bridge_> [ddnet] no, that's not a problem 12:15 <+bridge_> [ddnet] the NSA is not interested in a game just because it has e2e chat 12:15 <+bridge_> [ddnet] @heinrich5991 wouldnt it be cleaner to not log the chat responses anyways so instead of using Print() use SendChatTarget directly like its done in any other places. The old commands still have Print because thats probably from greyfox ddrace 12:16 <+bridge_> [ddnet] the chat responses always fill the logs while it doesnt make sense imo 12:16 <+bridge_> [ddnet] the messages from SendChat, also server messages sent to everyone get logged is right, as its shown to everyone 12:20 <+bridge_> [ddnet] `SendChatTarget` doesn't really make sense either, since it's more of a "respond to the person executing the command" 12:20 <+bridge_> [ddnet] the same problem exists for rcon commands 12:20 <+bridge_> [ddnet] anyway, with the PR, the chat responses are no longer in the logs 12:22 <+bridge_> [ddnet] isnt that what is wanted here? xd 12:23 <+bridge_> [ddnet] what is wanted is "respond to the person executing the command" 12:23 <+bridge_> [ddnet] but `SendChatTarget` doesn't fit that description 12:25 <+bridge_> [ddnet] lmao, do you fear the NSA? XD 12:28 <+bridge_> [ddnet] why? 12:29 <+bridge_> [ddnet] its sends a chat message output to the target being the executor of the command 12:29 <+bridge_> [ddnet] xd 12:29 <+bridge_> [ddnet] Print doesnt make sense here, since Print would be print to console (rcon, local, etc) 12:44 <+bridge_> [ddnet] :troll: 12:45 <+bridge_> [ddnet] what do u have trouble with? πŸ˜„ 12:46 <+bridge_> [ddnet] hey, what do you guys use to generate this chart ? 12:49 <+bridge_> [ddnet] no, because you have to care about the fact that the command sends it to chat and need to track the caller yourself 12:50 <+bridge_> [ddnet] this doesn't work generically, if you did that in an rcon command, the output would end up in the wrong place (the chat) 12:50 <+bridge_> [ddnet] we'd need some way to do this response generically, in a way that works with rcon and chat, IMO 12:56 <+bridge_> [ddnet] just walking around with idea of youtube like demo database site kekw 12:57 <+bridge_> [ddnet] so current problem is demo render 12:59 <+bridge_> [ddnet] u can use the client in the web to render demos 13:00 <+bridge_> [ddnet] :kek: nice 13:01 <+bridge_> [ddnet] https://aliveclan.de/ddnettest/load_map.html 13:01 <+bridge_> [ddnet] 13:01 <+bridge_> [ddnet] here example 13:01 <+bridge_> [ddnet] 13:01 <+bridge_> [ddnet] maybe a client side cache for the ddnet data would be nice to add, so it doesnt always load it from the web 13:01 <+bridge_> [ddnet] 13:01 <+bridge_> [ddnet] 13:01 <+bridge_> [ddnet] dunno what the limits in javascript localstorage are or the databases 13:02 <+bridge_> [ddnet] the "load demo" button can be replaced by a url parsing 13:03 <+bridge_> [ddnet] u can also call javascript code directly in c++ with emscripten 13:03 <+bridge_> [ddnet] that makes stuff really ez to comunicate 13:51 <+ChillerDragon> i think localstorage in browser can be pretty high i remember some dude doing full blown database stuff in the client D 13:57 <+ChillerDragon> @Jupstar when ddnet electron app? for 1000000 fps... oh wait 13:58 <+bridge_> [ddnet] we need -1 fps 13:58 <+bridge_> [ddnet] then we overflow eventually 13:58 <+bridge_> [ddnet] or underflow xd 14:00 <+ChillerDragon> smart 14:05 <+bridge_> [ddnet] browsers have a indexdb 14:05 <+bridge_> [ddnet] or smth like that 14:05 <+bridge_> [ddnet] https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API 14:44 <+bridge_> [ddnet] Wut? Did you also run into that? xd 15:03 <+bridge_> [ddnet] RRD and some scripts https://github.com/ddnet/ddnet-scripts/tree/master/rrd as well as the raw serverstatus data from https://ddnet.tw/status/ 15:03 <+bridge_> [ddnet] I wrote a bit about it here: https://hookrace.net/blog/server-statistics/ 15:06 <+bridge_> [ddnet] ty, rrd looks very clean and suckless 15:09 <+bridge_> [ddnet] :monkalaugh: 15:55 <+bridge_> [ddnet] woah 15:55 <+bridge_> [ddnet] https://github.com/teeworlds/teeworlds/blob/5c5b54c8eb00ac70c4eb1bd09b74554a0c865bdc/datasrc%2Fgame.png 15:55 <+bridge_> [ddnet] whats this weapon? 15:55 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970322677443227678/unknown.png 15:57 <+bridge_> [ddnet] harpoon 15:57 <+bridge_> [ddnet] harpoon, I think 15:57 <+bridge_> [ddnet] interesting 16:54 <+bridge_> [ddnet] what it does? something like a hook? 16:55 <+bridge_> [ddnet] yeah its like a hook 16:55 <+bridge_> [ddnet] it can grab hearts and other weapons too 16:56 <+bridge_> [ddnet] :poggers: 16:57 <+ChillerDragon> spawnblocker on 176.9.114.238:8331 16:58 <+ChillerDragon> sos 17:15 <+bridge_> [ddnet] has someone an idea why we need id for snapshots? I have not read the complete code, but I have no clue yet why they are necessary or what they help with πŸ˜„ but they can be used to DOS the servers xD https://youtu.be/G3nVtdH0--Q 17:15 <+bridge_> [ddnet] sell also #5054 and #4723 17:15 <+bridge_> [ddnet] https://github.com/ddnet/ddnet/issues/5054 17:15 <+bridge_> [ddnet] https://github.com/ddnet/ddnet/issues/4723 17:16 <+bridge_> [ddnet] has someone an idea why we need IDs for snapshots? I have not read the complete code, but I have no clue yet why they are necessary or what they help with πŸ˜„ but they can be used to DOS the servers xD https://youtu.be/G3nVtdH0--Q 17:16 <+bridge_> [ddnet] sell also #5054 and #4723 17:16 <+bridge_> [ddnet] i wonder why we assert 17:16 <+bridge_> [ddnet] but deen didnt really give me a real answer 17:16 <+bridge_> [ddnet] all snapitems are checked for nullptr 17:18 <+bridge_> [ddnet] has someone an idea why we need IDs for snapshots? I have not read the complete code, but I have no clue yet why they are necessary or what they help with πŸ˜„ but they can be used to DOS the servers xD https://youtu.be/G3nVtdH0--Q (the DOS attack starts at 1:13) 17:18 <+bridge_> [ddnet] sell also #5054 and #4723 17:19 <+bridge_> [ddnet] has someone an idea why we need IDs for snapshots? I have not read the complete code, but I have no clue yet why they are necessary or what they help with πŸ˜„ but they can be used to DOS the servers xD https://youtu.be/G3nVtdH0--Q (the DOS attack starts at 1:13) In the terminal I log the free snap ids 17:19 <+bridge_> [ddnet] sell also #5054 and #4723 17:19 <+bridge_> [ddnet] has someone an idea why we need IDs for snapshots? I have not read the complete code, but I have no clue yet why they are necessary or what they help with πŸ˜„ but they can be used to DOS the servers xD https://youtu.be/G3nVtdH0--Q (the DOS attack starts at 1:13) In the terminal I log the number free snap ids 17:19 <+bridge_> [ddnet] sell also #5054 and #4723 17:22 <+ChillerDragon> eeedits..... 17:23 <+bridge_> [ddnet] improve quakenet and add edits xd 17:24 <+bridge_> [ddnet] has someone an idea why we need IDs for snapshots? I have not read the complete code, but I have no clue yet why they are necessary or what they help with πŸ˜„ but they can be used to DOS the servers xD https://youtu.be/G3nVtdH0--Q (the DOS attack starts at 1:13) In the terminal I log the number of free snap ids 17:24 <+bridge_> [ddnet] sell also #5054 and #4723 18:32 <+bridge_> [ddnet] gpus loves integers 18:37 <+bridge_> [ddnet] any cpu/gpu prefer integers over float 18:38 <+bridge_> [ddnet] tho certain calculations are slower on ints 18:38 <+bridge_> [ddnet] than flots 18:38 <+bridge_> [ddnet] a 18:38 <+bridge_> [ddnet] floats are a mess to handle at the hardware level 18:38 <+bridge_> [ddnet] which ones? 18:38 <+bridge_> [ddnet] division for example 18:38 <+bridge_> [ddnet] for single precision yes 18:38 <+bridge_> [ddnet] you still have a 23 bits division 18:39 <+bridge_> [ddnet] for double, you have a 50 sth bits division, so better than 64 bits 18:39 <+bridge_> [ddnet] but for instance, if we had to change all floats to integers in DDNet, 32 bits would be enough 18:39 <+bridge_> [ddnet] with 16 bits integer part and 16 bits fractional part for fixed point 18:40 <+bridge_> [ddnet] probs could work yeah 18:40 <+bridge_> [ddnet] well, we need roughly 5 or 6 bits for the fractional part due to a tile being 32 pixels 18:40 <+bridge_> [ddnet] or 16 is more than enough 18:41 <+bridge_> [ddnet] so 16 is more than enough 18:41 <+bridge_> [ddnet] but 16 bits for integer part also means we have a strict maximum 18:41 <+bridge_> [ddnet] 1 tile is 32 units i think in the simulation part 18:41 <+bridge_> [ddnet] so around 2048 tiles 18:42 <+bridge_> [ddnet] or put that in the fractional part 18:42 <+bridge_> [ddnet] right now, maximum velocity is around 10k, maximum map size is around 4k ? 18:42 <+bridge_> [ddnet] but would require a rewrite 18:42 <+bridge_> [ddnet] not really 18:42 <+bridge_> [ddnet] sed -i 's/float/Q1616/g' ** 18:42 <+bridge_> [ddnet] xd 18:42 <+bridge_> [ddnet] just define a proper class with proper operator overload 18:42 <+bridge_> [ddnet] i already have one 19:02 <+bridge_> [ddnet] i would assume even a short would loose in division against double 19:02 <+bridge_> [ddnet] 19:02 <+bridge_> [ddnet] do u have some benchmarks? 19:12 <+bridge_> [ddnet] developers coding ddnet 19:12 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970372210827092028/unknown.png 19:20 <+bridge_> [ddnet] yes 19:20 <+bridge_> [ddnet] now 19:20 <+bridge_> [ddnet] Graphics()->TextureSet(Graphics()->LoadTexture("imagesogay.png", IStorage::TYPE_ALL, CImageInfo::FORMAT_AUTO, 0)); 19:20 <+bridge_> [ddnet] why this show me a multicolor nothing? xd 19:23 <+bridge_> [ddnet] i think i havent sit straighter than rn now after seeing this xD 19:37 <+bridge_> [ddnet] not really, but look at the operation itself 19:37 <+bridge_> [ddnet] short division is 16 bits integer division 19:37 <+bridge_> [ddnet] double division is complex operation 19:38 <+bridge_> [ddnet] but i only trust numbers dxd 19:38 <+bridge_> [ddnet] lemme look at my old courses 19:39 <+bridge_> [ddnet] in hardware design, its really clear 19:41 <+bridge_> [ddnet] this is what i have in a course 19:41 <+bridge_> [ddnet] 1. handle special case for denormalized numbers 19:41 <+bridge_> [ddnet] 2. substract exponents and divide mantissas (integer division) 19:42 <+bridge_> [ddnet] 3. renormalize mantissa if it's lower than 1 and update exponent 19:42 <+bridge_> [ddnet] if one of the number is denormalized, 3. has extra step to ensure the value of the result mantissa 19:43 <+bridge_> [ddnet] 4. truncate results and handle rounding 19:43 <+bridge_> [ddnet] 5. handle overflow or underflow 19:43 <+bridge_> [ddnet] in the design itself, you see that floating point division is way more complex 19:44 <+bridge_> [ddnet] as division is a quite complex and rare operation, hardware operators are not pipelined so they have poor throughput 19:44 <+bridge_> [ddnet] but integer divisions are basically a loop 19:44 <+bridge_> [ddnet] doesnt need to be faster 19:46 <+bridge_> [ddnet] e.g. 19:46 <+bridge_> [ddnet] https://stackoverflow.com/a/41570985 19:48 <+bridge_> [ddnet] they don't give units ?? 19:49 <+bridge_> [ddnet] but i think you and i talk about 2 different thing 19:49 <+bridge_> [ddnet] you're interested in throughput 19:49 <+bridge_> [ddnet] i am interested in one operation time 19:49 <+bridge_> [ddnet] i believe they have pipelined floating point operator while integers one are not and takes 5 full cycles 19:52 <+bridge_> [ddnet] mh ok, i'd still like to see numbers, but yes its not 100% comparable per se 19:52 <+bridge_> [ddnet] the delay of the processing units might also take into account eventually 19:52 <+bridge_> [ddnet] hard to say 19:52 <+bridge_> [ddnet] maybe if u finished your module for teeworlds we can see 19:52 <+bridge_> [ddnet] im also looking for the number of execution unit 19:53 <+bridge_> [ddnet] integers division is often single execution unit while floating point have multiple execution unit 19:53 <+bridge_> [ddnet] are there many divisions in the code (except by constant values)? 19:53 <+bridge_> [ddnet] as the core are OOO, they benefit more from the multiple execution units when performing integer operations 19:54 <+bridge_> [ddnet] i guess length math 19:54 <+bridge_> [ddnet] and i dunno how exactly specific functions are implemented 19:54 <+bridge_> [ddnet] sin, sqrt etf 19:54 <+bridge_> [ddnet] sin, sqrt etc 19:54 <+bridge_> [ddnet] ```bash 19:54 <+bridge_> [ddnet] grep -rin '=.*/' | wc -l 19:54 <+bridge_> [ddnet] 1771 19:54 <+bridge_> [ddnet] ``` 19:55 <+bridge_> [ddnet] xd our grep pro 19:55 <+bridge_> [ddnet] floating point functions are often polynomes approximation 19:55 <+bridge_> [ddnet] + some table for faster initialization of first rounds 19:55 <+bridge_> [ddnet] r u good in recursive regex, dunno if u call it like that 19:55 <+bridge_> [ddnet] 19:55 <+bridge_> [ddnet] but i basically need to find a string(i dunno the name but pattern) 19:55 <+bridge_> [ddnet] 19:55 <+bridge_> [ddnet] and match against that string 19:55 <+bridge_> [ddnet] looks like most division are by 32 πŸ˜„ 19:56 <+bridge_> [ddnet] you can do that with python regex 19:56 <+bridge_> [ddnet] you can match a string, and match only if it rematches later 19:58 <+bridge_> [ddnet] i didnt find a solution for vscodium so guess i need to use an external tool ^^ 19:58 <+bridge_> [ddnet] develop execution unit 19:59 <+bridge_> [ddnet] hum, doesn't say anything about floating point EU 20:01 <+bridge_> [ddnet] oh, nice. it seems most are by constants, but its probably used often for things like length/normalizing vectors yes 20:02 <+bridge_> [ddnet] eh, vscodium uses ripgrep, written in rust iirc, it by default doesnt have backreferences and look arounds enabled so it performs in linear time 20:03 <+bridge_> [ddnet] yes, i also never needed it πŸ˜„ 20:03 <+bridge_> [ddnet] in my whole life XD 20:03 <+bridge_> [ddnet] but then everything changed 20:03 <+bridge_> [ddnet] and the firenation begin to attack 20:04 <+bridge_> [ddnet] i believe it's actually 2 EU for floating point, and one for integer division 20:04 <+bridge_> [ddnet] + the fact that floating point operation are compiled into SSE2 and not x87 20:05 <+bridge_> [ddnet] anyway fixed floating points math is interesting, so defs finish it if u have time 20:06 <+bridge_> [ddnet] oh, i never tried it, i just said i have already a class to do this that i developped for Arduino 20:06 <+bridge_> [ddnet] because Arduino doesn't have floating point hardware, so it definitely helped in that case 20:07 <+bridge_> [ddnet] then start xdd 20:07 <+bridge_> [ddnet] :rplace: 20:07 <+bridge_> [ddnet] but it doesn"t have hardware divider either so it still relied on complex algorithm to perform the remaining division πŸ˜„ 20:07 <+bridge_> [ddnet] i think you mean :rnow: 20:07 <+bridge_> [ddnet] i think you meant :rnow: 20:07 <+bridge_> [ddnet] soonℒ️ 20:08 <+bridge_> [ddnet] as you can see here, looks like the division is pipelined 20:09 <+bridge_> [ddnet] throughput is lower than latency so it looks like they have between 2 to 3 stages divider 20:09 <+bridge_> [ddnet] but if it can be pipelined its still an advantage tho 20:09 <+bridge_> [ddnet] it is πŸ™‚ 20:10 <+bridge_> [ddnet] it is for desktop, not for embedded device (higher power consumption) 20:10 <+bridge_> [ddnet] yeah πŸ˜„ 20:11 <+bridge_> [ddnet] LOL, did they use excel to fill the tables πŸ˜„ 20:11 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970386954686451772/unknown.png 20:11 <+bridge_> [ddnet] November? XD 20:11 <+bridge_> [ddnet] `11-14` seems to have been misinterpreted πŸ˜„ 20:11 <+bridge_> [ddnet] xD 20:22 <+bridge_> [ddnet] https://howtoprofessionallysay.akashrajpurohit.com/ 20:22 <+bridge_> [ddnet] xd 20:27 <+bridge_> [ddnet] https://developers.redhat.com/articles/2022/04/25/new-c-features-gcc-12#c__23_features 20:30 <+bridge_> [ddnet] LMAO 20:30 <+bridge_> [ddnet] WHAT? 20:30 <+bridge_> [ddnet] this 20:30 <+bridge_> [ddnet] litteraly mentioned in the article 20:30 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970391873426448484/unknown.png 20:30 <+bridge_> [ddnet] lol 20:31 <+bridge_> [ddnet] tho my context was templates 20:31 <+bridge_> [ddnet] but bet that works too xd 20:31 <+bridge_> [ddnet] c++ adding rust syntax XDD 20:31 <+bridge_> [ddnet] ``` 20:31 <+bridge_> [ddnet] if consteval { 20:31 <+bridge_> [ddnet] 20:31 <+bridge_> [ddnet] }``` 20:31 <+bridge_> [ddnet] (rust doesnt have () on ifs) 20:32 <+bridge_> [ddnet] ah but this is special case 20:32 <+bridge_> [ddnet] ye 20:32 <+bridge_> [ddnet] but yeah πŸ˜„ 20:32 <+bridge_> [ddnet] its a good feature 20:32 <+bridge_> [ddnet] c++ is actually quite advanced in const eval stuff 20:32 <+bridge_> [ddnet] rust needs to catch up 20:33 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970392586734936134/unknown.png 20:33 <+bridge_> [ddnet] lol u can now do this 20:33 <+bridge_> [ddnet] but i'd assume a lot of cases are handled by higher optimization flags anyway arent they 20:34 <+bridge_> [ddnet] tho function calls cannot be removed maybe 20:34 <+bridge_> [ddnet] but ofast and lto doesnt care xd 20:34 <+bridge_> [ddnet] https://doc.rust-lang.org/reference/const_eval.html 20:36 <+bridge_> [ddnet] when enable c++23 20:36 <+bridge_> [ddnet] xd 20:36 <+bridge_> [ddnet] deen even upgraded to debian 10 20:37 <+bridge_> [ddnet] thats already against the plan xD 20:40 <+bridge_> [ddnet] lel interesting πŸ˜„ 20:40 <+bridge_> [ddnet] xd 20:40 <+bridge_> [ddnet] is there a palce where i can find every divisors for the teeworlds assets ? 20:41 <+bridge_> [ddnet] conent.py or smth 20:41 <+bridge_> [ddnet] content.py or smth 20:41 <+bridge_> [ddnet] woohoo, multidimensional [] !! 20:42 <+bridge_> [ddnet] yes 20:43 <+bridge_> [ddnet] kinda cool 20:44 <+bridge_> [ddnet] ty, i check 20:45 <+bridge_> [ddnet] le this be reminded https://cor3ntin.github.io/posts/abi/ 20:46 <+bridge_> [ddnet] google kept supporting clang till the ABI breaking vote failed (aka we dont break the abi) 20:47 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970395937891573810/unknown.png 20:47 <+bridge_> [ddnet] google still uses it for android tho 20:47 <+bridge_> [ddnet] dont they use https://abseil.io/ 20:47 <+bridge_> [ddnet] instead of the stdlib 20:48 <+bridge_> [ddnet] internally? 20:48 <+bridge_> [ddnet] maybe i dunno 21:10 <+bridge_> [ddnet] https://github.com/openmainframeproject/cobol-programming-course 21:10 <+bridge_> [ddnet] im gonna learn this and work in a boring bank 21:10 <+bridge_> [ddnet] with good pay maybe 21:10 <+bridge_> [ddnet] :monkalaugh: 21:43 <+bridge_> [ddnet] at the expense of your mental health :monkalaugh: 21:44 <+bridge_> [ddnet] ill have rust therapy sessions at home while at it 21:44 <+bridge_> [ddnet] :greenthing: 21:45 <+bridge_> [ddnet] or maybe you'll turn into a secessionist terrorrist 21:45 <+bridge_> [ddnet] holding back all wiring to spanish people and sending them to catalonia 21:45 <+bridge_> [ddnet] :monkaS: 21:45 <+bridge_> [ddnet] good idea 21:46 <+bridge_> [ddnet] they already steal us 21:46 <+bridge_> [ddnet] so i would be robin hood 21:46 <+bridge_> [ddnet] don't forget to get 1 cent off everytime πŸ˜„ 21:46 <+bridge_> [ddnet] i would only take what was ours 21:46 <+bridge_> [ddnet] :BASED: 21:47 <+bridge_> [ddnet] i hope the rust job i applied goes through, the guy told me they always answer (whether u get chosen or not) 21:47 <+bridge_> [ddnet] i have yet to get a reply 21:48 <+bridge_> [ddnet] :monkaS: 21:48 <+bridge_> [ddnet] like when you create a class (dont know cobol), overload operator + and minus like that: 21:48 <+bridge_> [ddnet] ```c++ 21:48 <+bridge_> [ddnet] decimal operator+(const decimal& lhs, const decimal& rhs) 21:48 <+bridge_> [ddnet] { 21:48 <+bridge_> [ddnet] decimal res(lhs.i+rhs.i-0.01); 21:48 <+bridge_> [ddnet] myaccount.wire(0.01); 21:48 <+bridge_> [ddnet] return res; 21:48 <+bridge_> [ddnet] } 21:48 <+bridge_> [ddnet] ``` 21:48 <+bridge_> [ddnet] that sounds like a physicist joke 21:49 <+bridge_> [ddnet] i always reply, just in a non finite time 21:49 <+bridge_> [ddnet] xd 21:49 <+bridge_> [ddnet] nah but he said it seriously, when we finished the interview 21:50 <+bridge_> [ddnet] cobol is like screaming always 21:50 <+bridge_> [ddnet] functions dont have arguments 21:50 <+bridge_> [ddnet] rather they modify outside variables 21:50 <+bridge_> [ddnet] xd 21:50 <+bridge_> [ddnet] i have yet to start learning it tho 21:50 <+bridge_> [ddnet] `tr 'a-z' 'A-Z'` there you go 21:52 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970412367588507678/unknown.png 21:52 <+bridge_> [ddnet] i like this wikipedia page with SCREAMING_SNAKE_CASE: 21:53 <+bridge_> [ddnet] > Add the following to your awareness of COBOL. It is an absolute myth that you must be at least 50 years 21:53 <+bridge_> [ddnet] > old to be good with COBOL. COBOL is incredibly easy to learn and understand. One of the many reasons 21:53 <+bridge_> [ddnet] > financial institutions like COBOL is the fact that it is not necessary to be a programmer to read and 21:53 <+bridge_> [ddnet] > understand the logic. This is important because critical business logic code is subject to audit. Auditors 21:53 <+bridge_> [ddnet] > are not programmers. However, auditors are responsible for ensuring the business financial statements are 21:53 <+bridge_> [ddnet] > presented fairly. It is COBOL processing that frequently results in the business ledger updates and subsequent 21:53 <+bridge_> [ddnet] > financial statements. 21:53 <+bridge_> [ddnet] interesting 21:53 <+bridge_> [ddnet] so it's more like descriptive language 21:53 <+bridge_> [ddnet] the "guetting started pdf" is 158 pages long 21:53 <+bridge_> [ddnet] and looks well done 21:53 <+bridge_> [ddnet] kinda like original TeX 21:53 <+bridge_> [ddnet] time to truly learn cobol 23:14 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970432965911912458/unknown.png 23:14 <+bridge_> [ddnet] i++++ 23:14 <+bridge_> [ddnet] --i++++ 23:15 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/970433361304748053/unknown.png 23:17 <+bridge_> [ddnet] i-=-i 23:46 <+bridge_> [ddnet] lol, does that legit comile? 23:46 <+bridge_> [ddnet] lol, does that legit compile? 23:46 <+bridge_> [ddnet] i havent tried