00:09 < bridge_> <_voxeldoesart> when ddnet in assembly 00:12 < bridge_> I bookmarked part 2 of that blogpost rn. I need to show it to people that tell me I sometimes write C that isn't exactly the way a human would put it 00:13 < bridge_> People keep telling me just write it the human way and the compiler will figure out the computer way 00:13 < bridge_> xd 00:18 < bridge_> Just by writing that loop in a way that doesn't use "jumps" gives a 3x boost, fascinating 01:33 < bridge_> https://issuetracker.google.com/issues/242221770?pli=1 how can this be a real thing? 01:36 < bridge_> I'm starting to believe that this is all just a conspiracy to sell more wireless headphones 01:38 < bridge_> now 01:42 < bridge_> <_voxeldoesart> i mean good assembly 01:48 < bridge_> compiler already makes better asm than most would writing by hand 01:51 < bridge_> <_voxeldoesart> i mean didnt like, machine learning find a better sorting algo or smth 01:52 < bridge_> <_voxeldoesart> idk what im talking about 01:52 < bridge_> <_voxeldoesart> but itd be kinda cool to find a way to make ddnet more optimized for the funny 01:53 < bridge_> -Ofast 01:53 < bridge_> 😃 01:54 < bridge_> <_voxeldoesart> huh 02:07 < staabs>  ⊂_ヽ         "SUR​F​\'S UP F​AGG​OT​ GE⁠T ON I⁠R​C​.SUPE​RN⁠E⁠TS​.ORG" 02:07 < staabs>    \\ Λ_Λ   / 02:07 < staabs>    \( ˇωˇ) 02:07 < staabs>      > ⌒ヽ 02:07 < staabs>    /V​XP へ\ 02:07 < staabs>    /  / \\ 02:07 < staabs>     レ ノ   ヽ_つ 02:07 < staabs> staabs ableptical jxsl13 fstd heinrich5991 Tobii scrumplex minus ochristi deen water Learath2 violent-unclear bridge_ ws-client1 ChillerDragon b3z DrkTremos breton Q eeeee 05:34 < bridge_> It seems players have some sort of script they use to attack the servers... 05:34 < bridge_> Their ping ramps up to ~600 then to 999 and the lag is unbearable, it's killing the fun in the Brazil servers; 05:34 < bridge_> BUT if the players can somehow vote-kick the player with 999 ping, everything goes back to normal in a matter of seconds. 05:34 < bridge_> This effect has been well known by players in the servers I play in for a while now, but it's hard to vote-kick the player because after the attack starts the server is very slow to respond so the vote-kick ends before people can react to it; and most players just close the game, leaving behind their ghosts that don't vote. 05:34 < bridge_> 05:34 < bridge_> But looking at that attack behavior, I assume it's very likely that it's a denial of service exploiting actual game packets, and not DDOS (as in multiple IPs attacking), neither a normal UDP flood since kicking them from the game wouldn't stop that (unless kicking a player adds their IP to an iptables filter, and I very much doubt that). 05:34 < bridge_> 05:34 < bridge_> Shouldn't it be possible to detect such attacks and kick the player automatically, inside the server code? Or maybe a setting to kick any player with obscenely high ping? 05:34 < bridge_> 05:34 < bridge_> I know I could probably do this on my own server, but wouldn't it be reasonable to have something like this on the official servers?... It just feels like this denial-of-service exploit script has reached a lot of hands, the servers are attacked so much that the game is not as popular as it should be... And they even often brag about it: "touch me and I lag the server" and such (got pictures but I don't think it's relevant to this conversation). 05:34 < bridge_> Also hypothetically: if I open a "bait" server, leave it on with tcpdump or WireShark registering the traffic flow and HOPE somebody runs this particular attack on it, then pinpoint how the attack works, would a Dev possibly see that and go for a fix? 05:34 < bridge_> Or are my assumptions just wrong? 05:35 < bridge_> Cute cat for posting a wall of text: 05:35 < bridge_> :Teef: 07:08 < bridge_> @curvelo official ddnet servers are only affected by ddos, here is a blog written by deen about it https://hookrace.net/blog/dos-attacks-against-online-game/ 07:09 < bridge_> note that there were maybe 2 more tries to solve the issue since then, for example the ger10 whitelist servers, I myself don't know how effective that approach turned out 07:26 < bridge_> I think he's right it's not a ddos. Wasn't there an issue with emote spam lagging the server? It could be similar 07:33 < bridge_> Can u record a demo of the attacker next time it happens 08:03 < bridge_> Or ping a admin to make a traffic dump 08:43 < bridge_> https://tenor.com/view/developers-gif-4458491 08:43 < bridge_> @jupeyy_keks friday rust 08:44 < bridge_> True, yesterday I also had a question ready. I hope I remember it soon 08:44 < bridge_> im remaking my kernel 08:44 < bridge_> i need to learn GOP if i use uefi 08:45 < bridge_> https://wiki.osdev.org/GOP 08:56 < bridge_> @ryozuki have u ever worked with lock free structures in rust? 08:57 < bridge_> atomics? xd 08:57 < bridge_> but i think not 08:57 < bridge_> dont rly know much about them 08:57 < bridge_> Yeah atomic maps or stacks 08:57 < bridge_> they usually use linked lists? 08:57 < bridge_> idk 08:57 < bridge_> Yep they are 08:58 < bridge_> dashmap 08:58 < bridge_> is a good hashmap 08:58 < bridge_> Ever worked with explicit spinlocks in rust? 08:58 < bridge_> for mt 08:58 < bridge_> u use a spinlock in the kernel dev 08:58 < bridge_> there is a good read for u 08:59 < bridge_> https://marabos.nl/atomics/ 08:59 < bridge_> u can read it all there 08:59 < bridge_> its roy gud 08:59 < bridge_> i need to read it too 08:59 < bridge_> but lot of ppl recommended it to me 09:00 < ws-client1> tbh i have rather special requirements again anyway xd 09:01 < ws-client1> lock free containers i found always allocate a new node from heap... that makes them rather useless xD 09:01 < bridge_> https://crates.io/crates/spin 09:02 < ws-client1> yeah i found that 09:02 < ws-client1> i just wonder if a lockfree container can beat one that is wrapped by a spin lock xd 09:02 < ws-client1> i can only guarantee that threads rarely access it 09:03 < bridge_> u cant use a mutex? 09:03 < bridge_> or read write lock 09:03 < bridge_> its good for reads 09:03 < bridge_> rwlock 09:03 < ws-client1> i basically always write 09:03 < ws-client1> so mutex, but mutex seems like extra overhead 09:03 < ws-client1> the lock is bascially never locked between two threads 09:05 < bridge_> honestly the best way to know is benchmarking 09:06 < ws-client1> yeah, but my pc is too fast 09:06 < bridge_> 😬😬 09:06 < bridge_> I should benchmark on my mobile 09:06 < bridge_> :NekoDrink: 09:07 < bridge_> I tried basically all three methods but the too much noise 09:07 < bridge_> do u know if its hard to implement a generic opengl 1 driver 09:07 < bridge_> And benchmarking in non real world scenario is useless in this case xd 09:07 < bridge_> xd 09:07 < bridge_> Generic as in data types? 09:08 < bridge_> gpu 09:08 < bridge_> for a OS 09:08 < bridge_> Ah 09:08 < bridge_> whats the simplest protocol 09:08 < bridge_> to show stuff 09:08 < bridge_> I think it's rather hard 09:08 < bridge_> ye 09:08 < bridge_> BCS rasterizer etc 09:08 < bridge_> The amount of features is ez 09:09 < bridge_> But the math doesn't get easier xd 09:09 < bridge_> xd 09:09 < bridge_> in bios and uefi 09:09 < bridge_> u can create a framebuffer 09:09 < bridge_> which u can carry over 09:09 < bridge_> to ur os 09:09 < ws-client1> also depends if u want good perf 09:09 < ws-client1> or just working 09:09 < bridge_> and it usually provides a ez way to put text 09:09 < bridge_> just working for now 09:10 < ws-client1> the threading part is also hard with GPUs 09:10 < ws-client1> u need to split all tasks into groups 09:10 < bridge_> imagine having multicode support 09:10 < ws-client1> its probably better to first learn compute shaders 09:10 < bridge_> couldnt be me 09:10 < ws-client1> so u get a feeling xd 09:10 < bridge_> multicore 09:10 < bridge_> * 09:10 < bridge_> anyway xd 09:53 < bridge_> 😃 11:28 < bridge_> Hello everyone just want to let you guys know that I'm  a plug and i got some Top quality Gas🍁 ⛽️ , shrooms🍄, coke, meth &Vapes🥢, Ice capz, Edibles🍪, Chocolate Bars🍫, LSD, Syrups, Skittles, pills , 💊 Glocks 🔫 etc. Both for smokers are patients, Offer at moderate price, and also some polkadot gummies, edibles,road trip available just wanna know if you're interested in grabbing some? 11:28 < bridge_> https://t.me/lambiaserickLtdstore 12:16 < bridge_> Hi, could you give us some short feedback on what the current status is with the accounts or if all plans have been discarded in this regard? Last November, the announcement was already made, but unfortunately rejected after a short time. The majority was in support according to the survey and even if I read through the github thread (https://github.com/ddnet/ddnet/issues/3411) about 2 years ago, there seem to be cool ideas and solutions for real 12:16 < bridge_> 12:16 < bridge_> If I filter it correctly two main problems exist: 12:16 < bridge_> - Players do not want to lose their progress/ranks 12:16 < bridge_> - Players don't want to be forced to register+too much effort? 12:16 < bridge_> 12:17 < bridge_> The first point I can absolutely understand, but there are several solutions to authenticate or not? The process at KoG I think is quite complicated, but you could also turn the process around, first everyone can register and if there are problems/duplication you have to authenticate yourself. And for authentication then an IP match is made, a demo match(Teehistorian), possibly mapsaves, settings match? etc. . There should be enough possibilities 12:17 < bridge_> 12:17 < bridge_> The second point I can not understand. And even if, the advantages clearly outweigh? 12:17 < bridge_> - less moderation capabilities(harassment, streamsniping,racism,...) 12:17 < bridge_> - block non-registered (and newly-registered) players on ddos 12:17 < bridge_> - filter out fake map finishes, botters under other names? 12:17 < bridge_> 12:17 < bridge_> And in general, thank you for your work to make DDNet a little better every day, I would really appreciate a quick feedback! 12:19 < bridge_> we need to run a tcpdump at the time of attack and check it out. and then fix the bug we find. we could additionally maybe also think about an automatic detection when a player causes more traffic than is usual 12:19 < ws-client1> There is no general plan agreed on. Everyone has own ideas. I'm not aware of anyone having done anything 12:19 < ws-client1> only thing most devs agreed on is, accounts should be optional 12:20 < bridge_> that works, if the bait server is attacked. maybe it's just too much work for too little probability of gain 12:20 < bridge_> my quic impl comes with an easy way to authenticate clients with key pairs 12:21 < bridge_> i'm all for it 12:21 < bridge_> i just don't know if they should be optional. faking sucks 12:21 < bridge_> especially as a means of ban evasion 12:21 < bridge_> it even sucks when they're trying to be funny 12:22 < bridge_> I suggest to redirect your comments to the issue 12:22 < bridge_> anything posted here will be forgotten in a week 12:22 < bridge_> yea lol 12:22 < bridge_> i thought issue was dead? 12:22 < bridge_> don't wanna bump 12:23 < bridge_> it was bumped four times in the past 24 hours, you'll be fine 12:24 < bridge_> I just have the feeling that there are few loud voices and the absolute majority would be in favor, thats why i asked what the current state is 12:25 < ws-client1> realistically: use steam login bcs almost all ppl use steam.. use some weird own key management for the few hipsters xd 12:28 < bridge_> > what the current status is with the accounts or if all plans have been discarded in this regard? 12:28 < bridge_> not implemented, nothing particular agreed on what exactly we want 12:28 < bridge_> > The majority was in support according to the survey 12:28 < bridge_> I'm not sure if the majority is in favor of a specific accounts proposal, or whatever they associate with the nebulous "accounts" thing 12:28 < bridge_> > The process at KoG I think is quite complicated, but you could also turn the process around, first everyone can register and if there are problems/duplication you have to authenticate yourself. 12:28 < bridge_> I don't think we want to avoid manual intervention (like KoG does) as much as possible 12:28 < bridge_> > less moderation capabilities(harassment, streamsniping,racism,...) 12:28 < bridge_> not sure how good this will work, but we'll see 12:28 < bridge_> > block non-registered (and newly-registered) players on ddos 12:28 < bridge_> this would probably not help, so it won't be done (because it disadvantages those players) 12:28 < bridge_> > filter out fake map finishes, botters under other names? 12:28 < bridge_> something to that effect will actually be possible with accounts 12:28 < bridge_> @itom6176 ^ 12:30 < bridge_> Thank you :heartw: 12:34 < bridge_> i mean this as nicely as possible but i don't think kog has as many brains behind it as ddnet does, esp. for something like this. their system works but it's really convoluted and can be done much more seamlessly 12:34 < bridge_> the kog account system should not be the example of what an account system in this game would look like 12:34 < bridge_> there is nothing done because there is no clear path decided 12:34 < bridge_> and working on something to be rejected sucks 12:35 < bridge_> yea it's nearly impossible to get started solo because the scope of the projects extends past the client or the server or w/e 12:35 < bridge_> ppl have to agree for any real work to be done 12:41 < bridge_> i love hopping on github to argue with some person i've never met 12:42 < bridge_> 😄 12:42 < bridge_> does that include me, or is it "never met before, even online"? 12:43 < bridge_> nah not you 12:43 < bridge_> i fell into the heinrich trap tho 12:52 < bridge_> i have to sleep 12:52 < bridge_> good night 🙂 13:10 < bridge_> gentoo guru dev branch has ddnet 17.1 now 13:10 < bridge_> fastest in the west 13:10 < ws-client1> first class support 14:14 < bridge_> if it's a player with his single IP sending more traffic than usual 14:14 < bridge_> just add a rate limit per IP 14:17 < bridge_> It might not even be the input he sends causing the lags 14:46 < bridge_> @deen https://github.com/ddnet/ddnet/pull/6797 14:46 < bridge_> whats the blocker here? 14:46 < bridge_> or its just not done yet 14:47 < bridge_> oh u pushed 30 mins ago 14:51 < bridge_> see the linked issue 14:56 < bridge_> branch predictor and pipelining are the culprit 15:57 < bridge_> @jupeyy_keks does full screen give more fps? or just better input latency 15:57 < bridge_> vs borderless 15:58 < bridge_> it used to make big diff in the past right 15:58 < bridge_> depends on the OS 15:58 < bridge_> i think cuz direct raw calls 15:58 < bridge_> or smth like that 15:58 < bridge_> xdd 15:58 < bridge_> @jupeyy_keks oh true 15:58 < bridge_> did linux always do it good 15:58 < bridge_> i think windows did it bad 15:58 < bridge_> pretty much yeah 15:59 < bridge_> if the screen blocks the full window for me under KDE it apparently disables anything KDE related (compositor) etc. 15:59 < bridge_> then i get most FPS 16:01 < bridge_> windows behavior is undescripable in human words 😬 16:01 < bridge_> borderless != borderless xD 16:02 < bridge_> there is borderless window that can be resized and borderless window that cannot be resized 16:02 < bridge_> 16:02 < bridge_> the first is basically like a normal window and gets the full forced tripple buffer vsync from DWM 16:02 < bridge_> 16:02 < bridge_> the second is some weird edge case that dxgi probably uses internally 16:02 < bridge_> 16:02 < bridge_> and full "real" fullscreen completely removes control from windows to the graphics driver 16:02 < bridge_> thats the only max fps mode there xd 16:07 < bridge_> xd 16:08 < bridge_> @chairn when will u make chairn64 arch? 16:08 < bridge_> :gigachad: 16:31 < bridge_> Not for the transformation in part 2 where just writing it in a way that's already optimized got him half the way there to his hand optimized assembly 16:38 < bridge_> (but yes, pipelining explains the unexpected behaviour he got where optimizing out an entire instruction didn't change anything and the branch predictor while great not being as good as no branches explains the improvements possible) 16:39 < bridge_> ((the more interesting part of that blogpost to me is how the compiler was unable to perform even this trivial restructuring not the performance characteristics of the code at each step)) 16:40 < bridge_> (((i see))) 16:40 < bridge_> ((( alarm ))) 16:40 < bridge_> ((((rust)))) 16:40 < bridge_> ((( panic ))) 16:40 < bridge_> ((( abort ))) 16:41 < bridge_> https://en.wikipedia.org/wiki/Triple_fault 16:41 < bridge_> ((( SIGSEGV ))) 16:41 < bridge_> > On the x86 computer architecture, a triple fault is a special kind of exception generated by the CPU when an exception occurs while the CPU is trying to invoke the double fault exception handler, which itself handles exceptions occurring while trying to invoke a regular exception handler. 16:41 < bridge_> kek 16:42 < bridge_> > In QEMU, a triple fault produces a dump of the virtual machine in the console, with the instruction pointer set to the instruction that triggered the first exception. 16:42 < bridge_> pog debug 16:43 < bridge_> fault-ception 16:43 < bridge_> `test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.11s` 16:43 < bridge_> glory 16:44 < bridge_> honestly rust built in test framework is a must 16:44 < bridge_> C lacks so much 16:44 < bridge_> c lacks everything 16:49 < bridge_> @jupeyy_keks 16:49 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126887756870729819/stsmall507x507-pad600x600f8f8f8.png 16:49 < bridge_> @learath2 we come 16:49 < bridge_> :justatest: 16:49 < bridge_> 😬 16:50 < bridge_> 😬 16:50 < bridge_> but the crab still sucks. i prefer the anime girls 😬 16:52 < bridge_> :coala_weebsout: 16:52 < bridge_> im also ok with a Tee 16:53 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126888655047360554/z30gb4g5vwea1.png 16:53 < bridge_> not ai 16:53 < bridge_> yeah 16:53 < bridge_> the best is the hairpin 16:53 < bridge_> its a & 16:53 < bridge_> yeah 16:53 < bridge_> xd 16:53 < bridge_> xd 16:54 < bridge_> https://leftoversalad.com/c/015_programmingpeople/ 16:54 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126889000871931955/PPgo.png 16:54 < bridge_> xd 16:54 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126889022426468412/PPrust.png 16:55 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126889317135028264/matlab.png 16:55 < bridge_> lol they actually dope 16:56 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126889579983675442/PP7.png 16:57 < bridge_> thats imo the worst 16:57 < bridge_> xd 16:58 < bridge_> erlang is nice xd 16:58 < bridge_> xd 16:58 < bridge_> @_voxeldoesart they calling 16:58 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126890097330110614/EWELSoQX0AMls2v.png 17:00 < bridge_> <_voxeldoesart> who is that 17:00 < bridge_> idk 17:00 < bridge_> <_voxeldoesart> lol 17:00 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126890556228907068/acbrbqmzwm4b1.png 17:00 < bridge_> 😬 17:01 < bridge_> <_voxeldoesart> oh yeah this is not ai 17:01 < bridge_> <_voxeldoesart> i can tell from how good it looks lol 17:01 < bridge_> <_voxeldoesart> halftone shading 🤤 17:02 < bridge_> accept that machines are better than humans sooner or later 17:02 < bridge_> its inevitable voxel 17:02 < bridge_> <_voxeldoesart> human passion and effort will always shine brighter 17:02 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126891110657163345/7jeb3s5uo5ha1.png 17:03 < bridge_> <_voxeldoesart> thats why im so against machine art 17:03 < bridge_> <_voxeldoesart> if everything can make beaty in a snap then it loses its value 17:03 < bridge_> <_voxeldoesart> no one wants to buy art cuz there's tons in machine learning 17:03 < bridge_> <_voxeldoesart> thats why im so against machine art 17:03 < bridge_> <_voxeldoesart> if everything can make beauty in a snap then it loses its value 17:03 < bridge_> <_voxeldoesart> no one wants to buy art cuz there's tons in machine learning 17:03 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126891302366220398/dw307k5gy5ea1.png 17:03 < bridge_> ok no more memes 17:03 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126891365620535427/communityIcon_rkh7hq73zui71.png 17:04 < bridge_> we need this emote tho 17:04 < bridge_> <_voxeldoesart> no we dont 17:04 < bridge_> :troll: 17:04 < bridge_> then machines have to compete to make it even better 17:04 < bridge_> just lke machines have to do it now with performance 17:05 < bridge_> <_voxeldoesart> it wont be anything special tho because we know that it didnt take that much passion to make it 17:05 < bridge_> <_voxeldoesart> when machines are able to care about detail and deeper meaning then its over 17:06 < bridge_> well i have a different POV on this 17:06 < bridge_> if machines are best in everything, u value even more that humans can get close to it 17:06 < bridge_> just like u admire CSGO players for their aims 17:06 < bridge_> even tho u know machines would always hit 17:07 < bridge_> its just that u do it for a different reason 17:07 < bridge_> <_voxeldoesart> its more fun when you experience it yourself 17:07 < bridge_> <_voxeldoesart> like i dont caaare about fng montages, i care about PLAYING fng despite how bad i am at it 17:07 < bridge_> if u like drawing. u can also do it in a world where machines do everything for us 17:08 < bridge_> if u dont like drawing, but like to rate art.. u might prefer to just generate art 17:08 < bridge_> <_voxeldoesart> but then ill be surrounded by snotty brats who will brag about their pitty machines 17:08 < bridge_> to me this is simply nothing that would destroy whatever u like 17:08 < bridge_> it simply makes it more optional 17:08 < bridge_> no, u can then completely ignore everyone 17:08 < bridge_> machines deal with kids for u 17:08 < bridge_> 😬 17:09 < bridge_> <_voxeldoesart> sad 17:14 < bridge_> @_voxeldoesart what do you think how much time Ravie wasted to add all the new skins https://discord.com/channels/252358080522747904/985717921600929872/1126527627797217280 17:14 < bridge_> 17:14 < bridge_> even tho we already have the code to automatically do it with a machine 17:14 < bridge_> 17:14 < bridge_> Now u could say: 17:14 < bridge_> he liked doing it 17:14 < bridge_> or 17:14 < bridge_> he liked the result, that new skins are added 17:14 < bridge_> 17:14 < bridge_> 17:14 < bridge_> if he likes doing it, he can still continue doing it, the bot is optional 17:14 < bridge_> if he likes the result only, he has a much easier time 17:15 < bridge_> <_voxeldoesart> you're comparing apples to oranges 17:15 < bridge_> <_voxeldoesart> art isnt some boring task 17:15 < bridge_> <_voxeldoesart> at least not to me 17:15 < bridge_> to me it is 17:15 < bridge_> the result is nice tho 17:15 < bridge_> it can be 17:15 < bridge_> imagine making a icon set 17:15 < bridge_> and thats my point 17:15 < bridge_> like fontawesome 17:15 < bridge_> xd 17:15 < bridge_> xD 17:15 < bridge_> code is art 17:15 < bridge_> in the most logical form 17:15 < bridge_> u can still do art as u want 17:15 < bridge_> <_voxeldoesart> unironically i literally asked fokko if i could refine his icons for the custom tileset 17:16 < bridge_> <_voxeldoesart> i still need to finish it 17:16 < bridge_> coding in rust is art 17:16 < bridge_> @_voxeldoesart can u imagine ryo likes coding in rust 17:16 < bridge_> insert rust trollface 17:16 < bridge_> CAN U IMAGINE THAT 17:16 < bridge_> <_voxeldoesart> i cant comprehend how 17:16 < bridge_> @_voxeldoesart whats mograph 17:16 < bridge_> i stalked ur bio 17:16 < bridge_> <_voxeldoesart> motion graphics 17:17 < bridge_> <_voxeldoesart> inb4 "they/them in bio" 17:17 < bridge_> 17:17 < bridge_> <_voxeldoesart> if i had freetime id spill out all my ideas in my head 17:17 < bridge_> <_voxeldoesart> but as of right now they're just vaulted 17:18 < bridge_> ?XD 17:18 < bridge_> most random emote ever 17:18 < bridge_> today i draw crabs sitting at a camp fire 17:19 < bridge_> https://www.google.com/search?q=%22trigger+off+quickness%22 this professor uses terminology so far from the norm that the only thing you can find online is a thesis by someone from my uni 17:19 < bridge_> It's so damn annoying following courses by professors that think they know better than everyone else 17:20 < bridge_> <_voxeldoesart> i wanna make an icon set for server settings 17:20 < bridge_> <_voxeldoesart> like why do we still need to write in lines of code 17:20 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126895478710218772/image.png 17:20 < bridge_> Like chill, you aren't Isaac Newton, no need to invent new terminology anymore, it's classical control theory, it's been around for a century now, things have proper names 17:20 < bridge_> rust dev? joke joke xd 17:21 < bridge_> He could never be a Rust dev, he wouldn't be allowed to reinvent fire 17:21 < bridge_> The dude wrote a book that uses non-standard terminology, he sells it for 50 euros and his course follows that book for everything 17:22 < bridge_> oh 17:22 < bridge_> i see 17:22 < bridge_> he wants ppl to buy the book 17:22 < bridge_> sadge 17:22 < bridge_> It's either that or he thinks he has a god complex 17:22 < bridge_> conflict of interest 17:23 < bridge_> He rewrote every proof in classical control theory in terms of the sensitivity function because he has an obsession with it 17:23 < bridge_> Every other resource uses the closed loop transfer function which is 1 - the sensitivity function 17:23 < bridge_> idk what that is 17:23 < bridge_> He basically adds and subtracts a 1 at places so he can make S appear 17:23 < bridge_> im not a real engineer 17:23 < bridge_> kek 17:23 < bridge_> @snailx3 :justatest: 17:24 < bridge_> https://en.wikipedia.org/wiki/Sensitivity_(control_systems) 17:24 < bridge_> Like proof you find everywhere is in terms of T, he'll multiply everything by -1, do +1 -1 and then write S - 1 instead. Absolute brain damaged behaviour 17:25 < bridge_> As soon as I have my diploma in hand I'll write him a very colourful email 17:25 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126896830676996116/image.png 17:25 < bridge_> i see 17:25 < bridge_> @learath2 on a scale from 1 to 10 how would u rate ur C skills 17:25 < bridge_> 11 17:25 < bridge_> 8.5 17:26 < bridge_> lol 17:26 < bridge_> why 17:26 < bridge_> ur the walking c standard 17:26 < bridge_> ryo says u are god 17:26 < bridge_> i do 17:26 < bridge_> he rates u 11/10 17:26 < bridge_> in C 17:26 < bridge_> Yes but people would include non-standard stuff in C and I'm not very familiar with that stuff 17:26 < bridge_> but a rust god is better 17:26 < bridge_> like the weakref i sent? xd 17:26 < bridge_> as good as learath is, he is probs 1/10 17:26 < bridge_> 17:26 < bridge_> bcs c is impossible to udnerstand xd 17:27 < bridge_> Yes, real C black-magic knowers know all the gcc extensions by heart too 17:27 < bridge_> ```c 17:27 < bridge_> static void run_main(run_return_values_t *, void *, uint64_t) 17:27 < bridge_> __attribute__((weakref("_mlir_ciface_program::program::main"))); 17:27 < bridge_> ``` 17:27 < bridge_> :EZ: 17:27 < bridge_> I still have to open the docs for that stuff 😄 17:27 < bridge_> my coworker did this 17:29 < bridge_> @ryozuki your rust knowledge: x/10? 17:29 < bridge_> @learath2 but try to learn more rust, the problem with C in real world is its only used in legacy code bases mostly (or maybe in new embedded projects?) but legacy code is pain iiirc 17:29 < bridge_> totally not trying to evangelise u 17:29 < bridge_> mixed feelings, i consider myself good, but there is always better 17:29 < bridge_> Rust knowledge isn't rated out of 10, it's rated out of dtolnay 17:30 < bridge_> true 17:30 < bridge_> dtolnay is the only god 17:30 < bridge_> I rate my rust knowledge at 0.3 dtolnays 17:30 < bridge_> https://github.com/dtolnay 17:30 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126898062447628368/image.png 17:30 < bridge_> i wonder how many good crates are unknown, bcs there are trillion crates doing the same thing xDD 17:30 < bridge_> look his repos 17:31 < bridge_> @learath2 i also fail his quizz 17:31 < bridge_> xd 17:31 < bridge_> https://dtolnay.github.io/rust-quiz/34 17:31 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126898306799378467/image.png 17:31 < bridge_> he is no human 17:31 < bridge_> anti burnout 17:31 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126898397174059090/image.png 17:32 < bridge_> he has 161 sponsors 17:32 < bridge_> @jupeyy_keks 17:32 < bridge_> 😬 17:32 < bridge_> he also 17:32 < bridge_> gives invaluable insight to rust compiler devs itself 17:32 < bridge_> xdd 17:33 < bridge_> they ask him when deciding stuff 17:39 < bridge_> <_voxeldoesart> i give the fuck up 17:39 < bridge_> <_voxeldoesart> https://cdn.discordapp.com/attachments/293493549758939136/1126900263983251547/Screenshot_20230707_113910_Chrome.jpg 17:40 < bridge_> dont worry 17:40 < bridge_> i couldnt answer either 17:40 < bridge_> xddd 17:40 < bridge_> i knew fn is pointer sized 17:40 < bridge_> and passing a function itself is zero sized 17:41 < bridge_> but idk i couldnt match the output 17:41 < bridge_> oh 17:41 < bridge_> makes sense 17:41 < bridge_> i put 8 like a retard but its 2 for > 2 17:54 < bridge_> @robyt3 you made this change, right? how about an hourglass icon instead of putting ... next to the arrow? 17:54 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126904018581586031/image.png 18:01 < bridge_> Could work. Looks like there is an hourglass icon in font awesome. Maybe we could also implement a generic animated progress spinner for this and other use cases where things are loading or saving with indeterminate progress. 18:03 < bridge_> I like that idea too, we could just spin this icon 18:03 < bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1126906249775169536/image.png 18:03 < bridge_> I don't know how complicated rotating text with our engine would be 18:04 < bridge_> ah well, I assumed it would be simpler than a new custom thing 18:04 < bridge_> https://stackoverflow.com/questions/38631938/how-to-achieve-circular-progress-bar 18:04 < bridge_> Something like this 18:04 < bridge_> Well, just in white I guess, but circular 18:06 < bridge_> I guess it's better to do something simple that loops without needing an exact duration, we already have actual progress bars where needed 18:09 < bridge_> The full screen loading popup that appears after map/demo/skin loading takes longer than 0.5 seconds is not a nice user experience though 18:10 < bridge_> Would be cool if we do most loading in the background without blocking the client and eventually showing the somewhat hacky loading popup 18:10 < bridge_> well anything that takes less than a few seconds doesn't need to show actual progress, just indicate that something is happening 18:11 < bridge_> yeah, like if you open the assets page it should start loading the assets in the background and just show a spinning icon 18:11 < bridge_> yeah 18:11 < bridge_> suggestion: ban every player who says "bro, check out this client: " 18:13 < bridge_> it would be the best anticheat 18:48 < bridge_> https://www.youtube.com/watch?v=27LZr9dDWRs 18:48 < bridge_> true coder music 22:08 < bridge_> Hey, does ddstats.org get regular updates? 22:08 < bridge_> Hey, does https://ddstats.org get regular updates? 22:08 < bridge_> every week 22:08 < bridge_> alright 22:08 < bridge_> i host it 22:08 < bridge_> nice :) 22:35 < bridge_> @ryozuki I thought it's being updated daily? ^^ 22:39 < bridge_> ez :p 22:58 < bridge_> initially ye but its too much load xd cuz the cache invalidates fast