00:12 < bridge> Why are there so many editor issues lol 00:22 < bridge> its a mess 00:22 < bridge> half of my prs are editor bugfixes 01:29 < bridge> I have chosen not to touch editor yet 01:34 < bridge> editor is scary 06:42 < bridge> @pioooooo: editor will touch you 06:44 < bridge> well let's see 06:59 < bridge> https://tenor.com/view/me-atrapaste-es-cine-its-cinema-cinema-esto-es-cine-gif-17729711691959966457 07:00 < bridge> it panics on clamp 07:01 < bridge> ` 6: core::f32:::🗜:do_panic::runtime` 07:02 < bridge> Panics 07:02 < bridge> 07:02 < bridge> Panics if min > max, min is NaN, or max is NaN. 07:02 < bridge> okay weird 07:21 < bridge> L language 09:16 < bridge> хууууууууууууууууууууууууууууй 09:16 < bridge> ва 09:16 < bridge> в 09:16 < bridge> ав 09:16 < bridge> авы 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:16 < bridge> @everyone 09:17 < bridge> @everyone 09:17 < bridge> @everyone 09:17 < bridge> @everyone 09:17 < bridge> @everyone 09:17 < bridge> @everyone 09:17 < bridge> @everyone 09:17 < bridge> @everyone 09:17 < bridge> i want go to the toilet 09:17 < bridge> go / not go 09:17 < bridge> fuck your mum 09:17 < bridge> suck my dick 09:17 < bridge> fnd im gay 09:17 < bridge> ahd im gay 09:18 < bridge> @Discord Mod 09:18 < bridge> Finally, something new 09:18 < bridge> finally, fresh meat 09:18 < bridge> okay learath, t-20 09:19 < bridge> I was so tired of people sending steam free money scams 09:19 < bridge> THESE WERE SCAMS??? 11:12 < bridge> Hello everyone, 11:12 < bridge> Do you know if there exists a ready made configured docker image for hosting the server ? 11:12 < ws-client> yes 11:13 < ws-client> @carmine1985 https://github.com/BanBansNet/ddnet-docker/ 11:22 < bridge> I read the dokerfile but I am not sure if it is possible to add a service that restarts the server in case it crash 11:24 < bridge> the service is called docker 11:24 < bridge> and it restarts containers 11:27 < bridge> https://www.baeldung.com/ops/docker-compose-restart-policies 11:27 < bridge> I would try to deploy the image on koyeb.com 11:27 < bridge> Do you think it automatically detects if the CMD isn't running and restarts it? 11:27 < bridge> dunno that website 11:27 < bridge> gotta read their docs 11:28 < bridge> rough guess: probably yes 11:30 < bridge> It has a generous free tier, capable enough for small things like DDNet/Teeworlds servers 11:32 < bridge> https://community.koyeb.com/t/how-can-i-set-restart-policy-on-container-hosted-on-koyeb/622 11:38 < bridge> if it's a bash script, you may want to put `set -e` in it so it actually stops running even if some command fails 12:03 < bridge> It’s a ddnet server not a bash script 12:28 < bridge> @jupeyy_keks is it possible to obtain max and min position of an envelope? I am not too familiar on how it's implemented 12:28 < bridge> @jupeyy_keks is it possible to obtain max and min position of an envelope? I am not too familiar on how it's implemented, I mean for x and y 12:36 < bridge> except for the splines i have seen in ddnet rs, I believe it must always be one of the envelope points 12:38 < bridge> today I learned the default client also has spline support :3 12:38 < bridge> this makes me happy, but destroys my plan 12:38 < bridge> actually it doesn't, in case of a spline point, it has to be below the "triangle" 12:40 < bridge> ✍️ :owo: lets improve fps even more, because I can 13:04 < bridge> You plan to chunk 13:05 < bridge> Quads 13:05 < bridge> ? 13:19 < bridge> I plan to clip quads (for now) 13:19 < bridge> like automatically clip the full quad layer, so it can be early skipped. I already have maps where clipping quad layers greatly improves fps 13:20 < bridge> you just need to compute the clip region on map load and then early skip if it applies 13:22 < bridge> the way i am implementing it you could easily chunk it as well, I want the CQuadRenderGroup, which already does grouping, to handle it 13:22 < bridge> entities 👍 13:24 < bridge> @learath2 is implementing a balanced binary tree a hard question 13:24 < bridge> i guess its not something companies ask 13:25 < bridge> Too long to ask on a coding interview IMO 13:25 < bridge> i see 13:25 < bridge> i was preparing a bit my algo skills 13:25 < bridge> for a upcoming interview 13:25 < bridge> idk how i ended trying to do that myself 13:25 < bridge> and i thought, wait, this looks a bit longer than i expected 13:25 < bridge> xd 13:26 < bridge> cuz i heard about the popular invert a binary tree 13:27 < bridge> Looking to change jobs? 13:27 < bridge> ive already talked about this iirc 13:27 < bridge> but ye im in talks with some 13:27 < bridge> 150k$ or more if it works out 13:28 < bridge> i had one interview now second 13:28 < bridge> so i could say they interested i guess 13:29 < bridge> also full remote, so i can travel europe while working 13:29 < bridge> xd 13:29 < bridge> I hear reversing a linked list is still common-ish. Some dynamic programming is common, like basic memoization 13:29 < bridge> i mean, they said its not leet code style 13:29 < bridge> but some code writing 13:30 < bridge> the current one i am, asked me to reverse words in a string 13:30 < bridge> i wonder why not looking at my projects is not enough assesment of skills 13:30 < bridge> and u need to put me under pressure while nervous 13:30 < bridge> That's a nice one, not too hard, not too easy. State machine? 13:30 < bridge> i can fail stupid questions when nervous 13:30 < bridge> xd 13:31 < bridge> nah just some basic loops 13:31 < bridge> This I'll never understand either. Like when during my work am I not allowed to look up an algorithm and just write it at my own pace? 13:32 < bridge> ye 13:32 < bridge> i prefer take homes 13:32 < bridge> xd 13:32 < bridge> maybe nowadays they want to asses if i can code without vibe coding 13:32 < bridge> (i never used ai) 14:10 < bridge> why does the bezier envelope has 4 channels for delta x? 14:10 < bridge> nvmd, it's a channel for each color probably 14:18 < _sdfghj> объясните пж 14:19 < _sdfghj> как плагин поставить 14:19 < _sdfghj> на деньги там 14:22 < bridge> speak english (rule #5), or nobody can help you 14:23 < bridge> speak english (rule #5), or nobody can help you 14:23 < bridge> (I have no idea what he said, deepl can't translate it properly, but something about plugins and money? Might be spam, dunno) 14:41 < bridge> is duckduckgo down? 14:45 < bridge> seems like it. I got the page to show up, but no search results 14:48 < bridge> Why do rcon commands take so long to load :pepehands: 14:50 < bridge> https://github.com/ddnet/ddnet/pull/7650 14:50 < bridge> :/ 15:17 < bridge> I am not sure if this feature is worth it, if you look at the FPS, before after, like 150 🤷‍♂️ 15:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395031510083702854/screenshot_2025-07-16_15-14-10.png?ex=6878f7d6&is=6877a656&hm=885e2fed9912fd7b9d5ef21fccd697e0961b241713e13fe859da51471c03ad25& 15:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395031510679158945/screenshot_2025-07-16_15-14-53.png?ex=6878f7d6&is=6877a656&hm=ff85a107882d25af6458d03f93fe4b95574bbbf8e6d2304aec3e8f06ed7457f7& 15:17 < bridge> Which triangle do you mean? To determine the rough minimum and maximum you'd have to evaluate the envelope function at different times like the editor does. 15:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395031621450727504/image.png?ex=6878f7f0&is=6877a670&hm=c936780f2e5148c3f76d48746410d3bac502faf5ada8dd2f73b2ccb6c4a65465& 15:17 < bridge> oh wait I am not rendering the lamp 🤔 15:18 < bridge> @robyt3 how do you reorder in 15:18 < bridge> right click and type in order? 15:19 < bridge> to get it perfect, yes, but I can just guess the maximum and minimum offset by taking the position of the triangle in your graphic. Overall I am basically working on a better culling 15:20 < bridge> In one step, so either using text input or drag the value from 0 to 2 immediately without creating a history entry for 1. But it seems somewhat inconsistent to reproduce. If you try to reorder, delete and undo/redo you should enventually reveal some buggy behavior. 15:20 < bridge> i tried for a while and couldnt reproduce 15:20 < bridge> I mean the top right and top left point, which are indicated as a triangle 15:20 < bridge> but i see the bug in your screenshots 15:20 < bridge> last screenshot there is `Edit layer 0 in group 1` 15:21 < bridge> shoudl have been layer 2, after move 15:21 < bridge> i mean saved index in history is should be one after moving it 15:21 < bridge> so its incorrectly 0 and when you undo it applies to diff layer 15:21 < bridge> Maybe try to restart the client after a few tries, it might somehow only be reproduced on certain runs 15:22 < bridge> I think the message as correct, it was the game layer that I moved, which was layer 0 before the action was performed 15:22 < bridge> I think the message was correct, it was the game layer that I moved, which was layer 0 before the action was performed 15:22 < bridge> But it would also be helpful if those messages would say "game layer" instead of "layer 0" 15:22 < bridge> is it possible to create a bezier configuration, where the line goes over both triangles and both stationary points? 15:23 < bridge> yes but the saved index into history is the index after moving 15:25 < bridge> I'm not sure, there were some edge cases if tangents have X=0 but I can't seem to reproduce it anymore 15:33 < bridge> i can reproduce by chaning order and quickly pressing escape to close popup 15:33 < bridge> the reroder wont be registered in history 15:33 < bridge> but ig thats a differnt bug 15:35 < bridge> i can reproduce by chaning order and pressing escape before letting go to close popup 15:39 < bridge> Possible, might be a way to reproduce #8816 15:39 < bridge> https://github.com/ddnet/ddnet/issues/8816 15:49 < bridge> @learath2 i didnt know it but today i discovered that if u have a dataset of <1k (maybe works with a few more), and specially for read heavy, a btreemap is faster than a hashmap 15:49 < bridge> hashing is a bit expensive it seems xD 15:57 < bridge> I guess it also depends on the specific hash algorithm and the way the hashmap is structured, but I can imagine it being faster yeah 16:00 < bridge> yeah rust default hash is a bit slow 16:05 < bridge> does anyone know how to convert quad points (not the center one) into map points? The coordinates are different, a CQuad contains an int, while the map obviously allows sub-tile quad point positions 16:05 < bridge> it's not done with `/ 32`, tried that already 16:06 < bridge> `typedef ivec2 CPoint; // 22.10 fixed point` 16:07 < bridge> Use `f2fx` and `fx2f` for conversion 16:09 < bridge> fixed point holy based 16:12 < bridge> ❤️ thx 16:14 < bridge> just got 2x perf on some benchmarks i was doing at work 16:14 < bridge> :justatest: 16:19 < bridge> ```C++ 16:19 < bridge> // calculate quad position offsets 16:19 < bridge> int ClipLeftX = pQuads[0].m_aPoints[0].x; 16:19 < bridge> int ClipRightX = pQuads[0].m_aPoints[0].x; 16:20 < bridge> int ClipTopY = pQuads[0].m_aPoints[0].y; 16:20 < bridge> int ClipBottomY = pQuads[0].m_aPoints[0].y; 16:20 < bridge> 16:20 < bridge> for(int i = 0; i < m_pLayerQuads->m_NumQuads; ++i) 16:20 < bridge> { 16:20 < bridge> CQuad *pQuad = &pQuads[i]; 16:20 < bridge> 16:20 < bridge> // calculate clip region 16:20 < bridge> for(int QuadIdPoint = 0; QuadIdPoint < 4; ++QuadIdPoint) 16:20 < bridge> { 16:20 < bridge> ClipLeftX = std::min(ClipLeftX, pQuad->m_aPoints[QuadIdPoint].x); 16:20 < bridge> ClipRightX = std::max(ClipRightX, pQuad->m_aPoints[QuadIdPoint].x); 16:20 < bridge> ClipTopY = std::min(ClipTopY, pQuad->m_aPoints[QuadIdPoint].y); 16:20 < bridge> ClipBottomY = std::max(ClipBottomY, pQuad->m_aPoints[QuadIdPoint].y); 16:20 < bridge> } 16:20 < bridge> } 16:20 < bridge> 16:20 < bridge> // update clips 16:20 < bridge> dbg_msg("dbg", "Clips: %f/%f, %f/%f", fx2f(ClipLeftX), fx2f(ClipTopY), fx2f(ClipRightX), fx2f(ClipBottomY)); 16:20 < bridge> ``` 16:20 < bridge> 16:20 < bridge> Is there something obvious wrong? I get `dbg: Clips: 920.156250/964.874023, 42526.019531/103005.671875` ? 16:20 < bridge> like bottomY and rightX seems to be wrong 16:24 < bridge> I just trolled myself, there are more lamps in the map obviously and I can't cull the layer if I am in between 🤦‍♂️ 16:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395048484800958534/screenshot_2025-07-16_16-23-50.png?ex=687907a5&is=6877b625&hm=49ae814929cb921b92fe27d14a9717dbe287e72073032f744b711d5965abf862& 16:41 < bridge> lol 16:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395052607264915587/2025-07-16_16-39-26.mp4?ex=68790b7c&is=6877b9fc&hm=f7074dde5b874beecbdad2bc7eebff0dc109942df0421ac4ca419866552e85b3& 16:43 < bridge> what the hell are you working on? xD 16:44 < bridge> default client: 16:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395053368870830170/2025-07-16_16-43-13.mp4?ex=68790c31&is=6877bab1&hm=2d720dcd1f40ed6fe1d29e921a481d93440ade184b71bd51f2bfa9964a7066da& 16:44 < bridge> somehow the demo player retains information regardless of timeline xd 16:44 < bridge> huh 16:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395053456343171293/512.demo?ex=68790c46&is=6877bac6&hm=9acf765c814ec4ac44c126c90d60e930c5344f1fe4a561f1aa0650f8f4209fa9& 16:45 < bridge> demo player doesnt have enough safety checks i guess. i made a demo with 512 tees and i had to change some size constants so it allows me to save that 16:46 < bridge> then it made this demo that breaks even the default client 16:46 < bridge> no idea what happened 16:53 < bridge> ^.^ 16:53 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395055704754098266/screenshot_2025-07-16_16-53-06.png?ex=68790e5e&is=6877bcde&hm=7b51dcb6ce02ad1a246fe6d6aff4f41d567d2e188daa5a0c0e2f48bf9a7a6fdd& 17:06 < bridge> https://blog.rust-lang.org/inside-rust/2025/07/15/call-for-testing-hint-mostly-unused/ 17:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395059075590525100/image.png?ex=68791182&is=6877c002&hm=a3ba519e24268519b7e3cbd40bc67c65f0e27f8ccda97963d8fa3c61974d65cd& 17:06 < bridge> > I'm pleased to announce, and call for testing of, the nightly-only rustc -Zhint-mostly-unused option, and the corresponding nightly Cargo features profile.hint-mostly-unused and hints.mostly-unused. These options can help accelerate your Rust compile time in some cases, by avoiding code generation for items from your dependencies that you aren't using. Your feedback will help evaluate these features and make progress towards stabilizing them in t 17:06 < bridge> pog 17:19 < bridge> .split("").reverse().join("") >< 17:21 < bridge> 0 17:21 < bridge> ): 17:22 < bridge> `.split(" ").reverse().join(" ")` >< 17:33 < bridge> does sb. know what `m_aInTangentDeltaY` of the CEnvPointBezier contains? I think I don't obtain the position of the triangle correctly, it has delta in the name, so I assume it's the difference in Y to the usual anchor point? 17:40 < bridge> @learath2 i looked up quicksort a bit 17:40 < bridge> did u know for random input, specially if its a bit lengthy, picking the median as pivot makes the worst case better 17:41 < bridge> > choosing the median of the first, middle and last element of the partition for the pivot (as recommended by Sedgewick).[17] This "median-of-three" rule counters the case of sorted (or reverse-sorted) input, and gives a better estimate of the optimal pivot (the true median) than selecting any single element, when no information about the ordering of the input is known. 17:41 < bridge> > Specifically, the expected number of comparisons needed to sort n elements (see § Average-case analysis) with random pivot selection is 1.386 n log n. Median-of-three pivoting brings this down to Cn, 2 ≈ 1.188 n log n, at the expense of a three-percent increase in the expected number of swaps 17:42 < bridge> > Selecting a pivot element is also complicated by the existence of integer overflow. If the boundary indices of the subarray being sorted are sufficiently large, the naïve expression for the middle index, (lo + hi)/2, will cause overflow and provide an invalid pivot index. This can be overcome by using, for example, lo + (hi−lo)/2 to index the middle element, at the cost of more complex arithmetic. Similar issues arise in some other methods of 17:42 < bridge> gotta remember this too 17:53 < bridge> the true median is optimal, they are talking about median of three, however the worst case is still the same 17:54 < bridge> It brings down the average case 17:54 < bridge> ah ye 17:54 < bridge> wish me luck its in 5 mins 17:54 < bridge> im rly nervous xd 17:55 < bridge> What? 17:56 < bridge> You can improve the worst case by picking the median of medians as the pivot, but that is more expensive to pick the pivot, really hard to say without much deeper analysis and benchmarking to say whether it's good for the average case 17:56 < bridge> Whatever, uninstall nervous 17:56 < bridge> Useless emotion 17:57 < bridge> they said its not leet code so it probs its not smth hard ig 17:57 < bridge> brb 17:57 < bridge> See the `CRenderTools::RenderEvalEnvelope` function, the values are relative to the points 17:58 < bridge> only question, is the anchor of the InTangentDeltaY the next or the current point 17:58 < bridge> See code 18:01 < bridge> now I understand the problem, I need to also check the point before the current one, if it's also of type bezier, so I add it's min/max 18:01 < bridge> this was not really straight forward 18:02 < bridge> it doesn't crash or cause undefined behavior so I don't consider it missing safety checks. It logs `Error unpacking snapshot delta. DataSize=-302` seemingly because the snapshot being unpacked is full. 18:08 < bridge> In particular, the check `m_NumItems >= CSnapshot::MAX_ITEMS` fails for this demo 18:19 < bridge> ah okay 18:19 < bridge> seems weird tho since the state is somehow not dependent on the timeline no? 18:19 < bridge> If I increase `MAX_ITEMS` to `2048` it plays without error message, but it indeed works weirdly when skipping through the demo 18:20 < bridge> I don't know how the demo was recorded, but maybe it misses some snapshots and only has deltas 18:35 < bridge> bezier is not perfekt, but I guess this culling region is good enough 18:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395081493700935680/quad_clip_test_bezier_2025-07-16_18-32-27.mp4?ex=68792663&is=6877d4e3&hm=9276d0dc2581600d47e3f14ee1a62abe6cea3246e0f8a8e9baa299960007272a& 18:36 < bridge> linear for comparision 18:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395081552031125524/quad_clip_test_linear_2025-07-16_17-30-34.mp4?ex=68792671&is=6877d4f1&hm=3b941081aecd50a8275a17219c74f59cdc70016aba64947234ee52567fabf771& 18:47 < bridge> So what was it about now? 19:07 < bridge> mean of 2 unsigned integers, which has the problem of what i sent before lmao, but i was so nervous its different, but ended up doing that. 19:07 < bridge> then finding pairs of distinct integers in an array, looks easier than it seems, more so while coding in a google docs and nervous af, i dont remember if there was another exercise cuz my memory went blank now 19:07 < bridge> i guess it didn go bad 19:07 < bridge> mean of 2 unsigned integers, which has the problem of what i sent before lmao, but i was so nervous, but ended up doing that. 19:07 < bridge> then finding pairs of distinct integers in an array, looks easier than it seems, more so while coding in a google docs and nervous af, i dont remember if there was another exercise cuz my memory went blank now 19:07 < bridge> it was more so walking from a initial impl that probs has errors to the correct one 19:07 < bridge> its not a bad style i guess 19:25 < bridge> howd it go lol 19:25 < bridge> i also had an inteeview this morning xd 19:33 < bridge> What interview even xd 19:33 < bridge> Leak 19:35 < bridge> Ah this, nice 19:36 < bridge> Would this like triple your salary lol 19:43 < bridge> @learath2 is ddnet.org's server dying? 19:44 < bridge> does it just start dying when I think of going out for food? 19:44 < bridge> `2025-07-16 17:42:41.233 - ERROR - Exception during http post: AxiosError: Request failed with status code 504` 19:44 < bridge> 19:44 < bridge> post requests to "REDACTED" dont work. 19:44 < bridge> and "REDACTED" in #REDACTED dont work 19:44 < bridge> The funding page opens btw, it's a php issue 19:44 < bridge> rip 19:44 < bridge> there goes my dinner plans :pepeW: 19:45 < bridge> NOO 19:45 < bridge> i can ping murp 19:45 < bridge> XD 19:48 < bridge> seems the server is very busy doing something with mariadb for whatever reason 19:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395099735542595624/image.png?ex=68793760&is=6877e5e0&hm=9cbd6a94b48a4026247da421b39178f515c0e6a97ad7a8e1414060f23311d694& 19:49 < bridge> Ah I know what it is 20:00 < ws-client> someone must have done /points 20:05 < bridge> Hopefully that should have fixed it, we should just get rid of the stupid forum, such a large attack surface 20:07 < bridge> omg forum works 20:07 < bridge> forum has a lot of valuable info about teeworlds and ddnet in general 20:07 < bridge> why close it 20:08 < bridge> what happened 20:08 < bridge> it's an unmaintained old piece of software that no one uses but is killing the server every other month 20:08 < bridge> can we just archive some of the funniest forum threads and call it a day 20:08 < bridge> i dont want to loose the love letter from Colo Colo 20:08 < bridge> yesss 20:08 < bridge> or the thread about n9 20:08 < bridge> Archive a copy and close it 20:09 < bridge> If we do get rid of it it'll become read-only 20:09 < bridge> just wayback machine the whole forum 20:09 < bridge> Yea 20:09 < bridge> Or like actual archive and host somewhere 20:09 < bridge> isnt it read only already? 20:09 < bridge> nah, if you have an account you can do stuff on it 20:10 < bridge> its just that approximately 9 people still have an account 20:10 < bridge> of the 17.4k requests made to the forum only 4 were real people 20:10 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1395105226264150237/image.png?ex=68793c7d&is=6877eafd&hm=1d05e7aa03d116673c6c826783bf0d2ac478298b7c2fa73285fd91cd4bef0aa6& 20:10 < bridge> thanks forum 20:10 < bridge> probably me 20:10 < bridge> :kekw: 20:10 < bridge> watahel 20:10 < bridge> 1 is me testing the challenge 20:10 < bridge> is someone ddosing it or what 20:10 < bridge> every service on this god forsaken planet is getting pinged atleast once every 10 minutes tbh 20:11 < bridge> i once had my home manager run on port 8080 to test something, took them 3 minutes until the first http auth request came in 20:12 < bridge> Thank god to cloudflare making this fairly easy to handle 20:12 < bridge> how do they even know what ip address you have 20:12 < bridge> for ip in ip_range where ip_range is 0.0.0.0-255.255.255.255 20:12 < bridge> yea as i thought xd 20:12 < bridge> and then they do a portscan randomly, wait for a response 20:13 < bridge> if they get any response, they take it one step further and vice versa 20:13 < bridge> Ok, seems handled, I'll go have food now 20:13 < bridge> they then send basic generic auths to those services, like 20:13 < bridge> user: root 20:13 < bridge> pass: root 20:13 < bridge> something is bound to break the second I leave 20:13 < bridge> i have been trying to open a local port recently 20:13 < bridge> well no more 20:13 < bridge> im scared now 20:13 < bridge> i'll let you know dont worry 20:13 < bridge> :3 20:13 < bridge> enjoy your food! and thank you 20:18 < bridge> Good thing you caught me right before I left 20:30 < bridge> good idea splitting it into smaller 20:46 < bridge> yes 22:27 < bridge> so you need to sort to get median to get better sorting performance, hmm, ourobouros ? 22:29 < bridge> ddos on forum ? 22:30 < bridge> could it be ai crawler ? 22:45 < bridge> Shouldn't this be a multiple of max clients so we don't need to do that again? 22:45 < bridge> Im not logged into gh on my phone to comment 22:59 < bridge> you dont use github mobile authentication? 22:59 < bridge> no? 23:00 < bridge> You mean through the app? 23:00 < bridge> probably 23:17 < bridge> yeah the github 2fa codes thru the github app 23:18 < bridge> i guess its probably easier to use a dedicated 2fa app now that i think abt it