08:46 <+bridge_> oh, nobody talks :frozen: I had thought that my bridge bot crashed. 09:39 <+bridge_> @soulyvevo did you publish your svgs somewhere? I can offer you to create a repo in the TeeworldsDB org if you want to dump stuff there https://github.com/TeeworldsDB 09:43 <+bridge_> our benchmark command just failed for me on ubuntu for springlobe 4, instead of starting the demo it just went into the menu screen 🤔 09:45 <+bridge_> Your compiler just optimized the FPS :happy: 09:45 <+bridge_> but menu fps is limited to 60 by default 09:45 <+bridge_> I am pretty sure I did something wrong, i.e. missing demo or something 09:46 <+bridge_> no it's present :justatest: 09:46 <+bridge_> I can only play with high sense, let's open a github issue to fix this! 09:47 <+bridge_> ah nevermind, the demo was not found, because the client is selfbuild and it didn't find the storage.cfg - however I'd like the command to fail instead of getting stuck in the menu 10:23 <+bridge_> oh wow github updated the PR view and tries to order them in categories now 10:25 <+bridge_> can you show a screenshot? I don't see it 10:25 <+bridge_> maybe some a/b test 10:26 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516720693264388247/Bildschirmfoto_20260617_102614.png?ex=6a33abb8&is=6a325a38&hm=4d8924294b3a3c05090d4c29394bedfefd743aa0fb8496e84435c362c19962b6& 10:27 <+bridge_> some1 want to send brain on how to not segfault? 10:27 <+bridge_> i know arrays are kinda pointers but i still did not expect a non oob access to segfault 10:27 <+bridge_> https://github.com/DDNetPP/DDNetPP/blob/25d616fa6709794de3bcc4e554365f335cfb6642/src/engine/server/server.cpp#L4037 10:27 <+bridge_> i segfault here with i being 18 10:28 <+bridge_> do you think github detects that I am on cachy and therefore like bleeding edge and beeing a guinea pig? 10:28 <+bridge_> no xd 10:28 <+bridge_> heinrich is right they do a/b testing 10:28 <+bridge_> i noticed it too while multi accounting 10:29 <+bridge_> this can still be a/b testing, but just not randomized 10:29 <+bridge_> tru 10:29 <+bridge_> arrays are not pointers. that's a common misconception :/ 10:29 <+bridge_> o 10:29 <+bridge_> the problem is that there are two quirks where C makes arrays look like pointers 10:30 <+bridge_> i se 10:30 <+bridge_> one: `array` is equivalent to writing `&array[0]` (which is a pointer) in some cases 10:30 <+bridge_> but still accessing an array should not crash should it 10:30 <+bridge_> so the issue has to be somewhere else i assume 10:30 <+bridge_> maybe `this` is wrong? 10:30 <+bridge_> yw 10:30 <+bridge_> how do i check :D 10:30 <+bridge_> `print this` 10:30 <+bridge_> in gdb 10:30 <+bridge_> oke 10:31 <+bridge_> two: you literally can't pass an array by-value in C —unlike all the other types 10:31 <+bridge_> when you try to pass an array by-value, C adds another pointer indirection to it 10:31 <+bridge_> `$1 = (CServer * const) 0x7ffff490c010` 10:31 <+bridge_> print *this 10:31 <+bridge_> `print *this` 10:31 <+bridge_> is it good or bad? xd 10:31 <+bridge_> a 10:31 <+bridge_> `❌ value of type`CServer' requires 25432192 bytes, which is more than max-value-size\` 10:31 <+bridge_> too fat 10:32 <+bridge_> ^^ 10:32 <+bridge_> i guess i can print other members 10:32 <+bridge_> `set max-value-size unlimited` 10:32 <+bridge_> omg help 10:32 <+bridge_> heinrich wants my pc to explode 10:32 <+bridge_> oke i will do it 10:32 <+bridge_> 😄 10:32 <+bridge_> didnt explode 10:33 <+bridge_> `CServer` is kinda heavy at 25 MiB 😄 10:33 <+bridge_> i see lots of variables with reasonable values 10:33 <+bridge_> \`$4 = {\ = {\ = {*vptr.IInterface = 0x5555560add28 \, m*pKernel = 0x5555564cc0a0}, m\_CurrentGameTick = 0}, 10:34 <+bridge_> m*pLua = 0x55555652cd40, m*pDDPPConnectionPool = 0x5555564cac60, m*pGameServer = 0x7ffff40a6010, m*pConfig = 0x5555564876e0 \, m*pConsole = 0x5555564e04a0, 10:34 <+bridge_> m*pHttp = 0x5555564dfd50, m*pStorage = 0x5555564e1ce0, m*pAntibot = 0x555556525210, m*pRegister = 0x55555654c950, m\_pEngine = 0x5555564cc0f0, 10:34 <+bridge_> m*ConnLoggingDestAddr = {sun*family = 0, sun*path = '\\000' \}, m*ConnLoggingSocketCreated = false, m\_ConnLoggingSocket = 0, 10:34 <+bridge_> m*pConnectionPool = 0x5555564c92a0, m*PreviousDebugDummies = 0, m*aClients = {{m*State = 0, m*Latency = 0, m*SnapRate = 0, m*Traffic = 0, m*TrafficSince = 0, 10:34 <+bridge_> m*LastAckedSnapshot = 0, m*LastInputTick = 0, m*Snapshots = {m*pFirst = 0x0, m*pLast = 0x0}, m*LastPreInput = {static ms*MsgId = 65614, m*Direction = 0, 10:34 <+bridge_> m*TargetX = 0, m*TargetY = 0, m*Jump = 0, m*Fire = 0, m*Hook = 0, m*WantedWeapon = 0, m*NextWeapon = 0, m*PrevWeapon = 0, m*Owner = 0, m*IntendedTick = 0}, 10:34 <+bridge_> m*LatestInput = {m*aData = {0 \}, m*GameTick = 0}, m*aInputs = {{m*aData = {0 \}, m*GameTick = 0} \}, 10:34 <+bridge_> m*CurrentInput = 0, m*aName = '\\000' \, m*aClan = '\\000' \, m*Country = -1, m\_Score = std::optional [no contained value], 10:34 <+bridge_> m*AuthKey = -1, m*AuthTries = 0, m*AuthHidden = false, m*NextMapChunk = 0, m*Flags = 0, m*ShowIps = false, m\_DebugDummy = false,\` 10:34 <+bridge_> i feel like i am looking at this from the wrong direction 10:34 <+bridge_> i do have one line of code i can add and remove which toggles the crash 10:37 <+bridge_> wait 10:37 <+bridge_> you don't know it crashes in that line? 10:37 <+bridge_> I am currently expanding my benchmarking repository and can now benchmark current master and a PR ID almost automatically ^.^ 10:37 <+bridge_> so 10:37 <+bridge_> i do have a line of code which if i remove it it stops crashing 10:37 <+bridge_> idk why the line is bad so i run gdb 10:38 <+bridge_> and gdb told me this demo recorder line which confuses me 10:38 <+bridge_> does the binary match your source code? 10:38 <+bridge_> try rebuilding everything 10:38 <+bridge_> before we go down a rabbit hole 10:41 <+bridge_> e 10:41 <+bridge_> it stopped segmentation faulting xd 10:42 <+bridge_> after the rebuild? 10:42 <+bridge_> yea 10:42 <+bridge_> but i dont believe it quite yet 10:42 <+bridge_> ^^ 10:42 <+bridge_> the issue is from may 10:43 <+bridge_> so `make clean` does still segfault 10:43 <+bridge_> only the new build dir does not 10:43 <+bridge_> ah ofc 10:43 <+bridge_> im stupid haha 10:43 <+bridge_> the new build dir does not have the crashing code sec 10:43 <+bridge_> the crashing code is lua code in the build dir^^ 10:45 <+bridge_> ok i now verified it 10:45 <+bridge_> same line 10:45 <+bridge_> in general `make clean` should be good enough for most build errors right? 11:01 <+bridge_> oh neat i did find a array OOB 11:02 <+bridge_> I was iterating MAX*CLIENTS somewhere and the loop would set things in m*aSlots which is only 64 big not 128 11:02 <+bridge_> https://github.com/ddnet/ddnet/blob/a09c608d4241126fd2e1c11b805af0f8fe047971/src/engine/shared/network.h#L432 11:02 <+bridge_> accessing an array can easily yield a segfault 11:02 <+bridge_> ye? 11:02 <+bridge_> how so 11:03 <+bridge_> i can only think of OOB or C++ operator overloading 11:03 <+bridge_> or an array of pointer where it can be null 11:03 <+bridge_> ```cpp 11:03 <+bridge_> int bla[4]; 11:03 <+bridge_> cout << bla[4] << endl; 11:03 <+bridge_> ``` 11:03 <+bridge_> yes but thats out of bounds 11:03 <+bridge_> my access was at index 18 and the array size is 130 11:03 <+bridge_> and since you found a C array, you can now replace it by `std::array` :> 11:04 <+bridge_> ?? 11:05 <+bridge_> that's unlikely to yield a segfault btw 11:06 <+bridge_> because `bla[4]` is still on the stack. more likely to give a garbage value 11:07 <+bridge_> When you pass an array to to a function you get a so called "array to pointer decay", and C arrays don't know their size. `std::array` knows its size, you can just iterate over it with `for (auto const& entry : the_array)` without bothering about OOB. 11:07 <+bridge_> When you pass an array to a function you get a so called "array to pointer decay", and C arrays don't know their size. `std::array` knows its size, you can just iterate over it with `for (auto const& entry : the_array)` without bothering about OOB. 11:08 <+bridge_> The only disadvantage of this replacement is that `std::array` must know it's number of elements at compile time 11:10 <+bridge_> The only disadvantage of this replacement is that `std::array` must know its number of elements at compile time 11:11 <+bridge_> (if properly implemented, it's size value doesn't occupy memory) 11:12 <+bridge_> (if properly implemented, its size value doesn't occupy memory) 11:14 <+bridge_> "in that voice" over text always reminds me of this: https://www.youtube.com/watch?v=naleynXS7yo 11:14 <+bridge_> "in that voice" over text always reminds me of this: https://www.youtube.com/watch?v=naleynXS7yo 11:30 <+bridge_> do you consider this benchmark beeing readable? 11:30 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516736707641344101/Benchmark-12275.png?ex=6a33baa2&is=6a326922&hm=ebb5d1adb0d7653447e51b279fabe4cf147986b29a8d626cace4c892cb5f68b6& 11:30 <+bridge_> I'd say no, ideally we'd have a boxplot I think, but I don't want to create a boxplot for each map 11:31 <+bridge_> or I would put all data into one boxplot - but I don't know if this is reasonable 11:36 <+bridge_> I assume this is better, with just 2 columns 11:36 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516738338327892109/Benchmark-12275.png?ex=6a33bc27&is=6a326aa7&hm=89e60b875c191116d11ee2a9adfa432848a830060420c0c3ca5cf2e5fa0f4683& 11:37 <+bridge_> what an FPS span btw, from 2000 to 6000 11:40 <+bridge_> how did KingsLeap get better, the map has no entities :thonk: 12:17 <+bridge_> maybe some kind of earlier exit 12:34 <+bridge_> This tighter layout looks better, and I think it is readable 12:53 <+bridge_> am i tripping or are the arrows different colors 12:53 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516757698325123092/image.png?ex=6a33ce2f&is=6a327caf&hm=dc51761c921e9016a51ac5a32a631bd20ac6709300b1b096fd843a64da492af5& 12:54 <+bridge_> orange green yellow 12:54 <+bridge_> both 12:56 <+bridge_> @essigautomat do you want a 20h video of tas for every ddnet race map 12:57 <+bridge_> @essigautomat do you want a 20h video of tas of every ddnet race map 12:57 <+bridge_> they are usually pretty satisfying to watch 12:58 <+bridge_> As a maintainer, I can't approve of such frivolous activities :justatest: ||pm me link|| 12:59 <+bridge_> not done yet but soon 13:04 <+bridge_> this view is actually amazing, great++, love that I see what I am marked to review, this is basically a TODO list for me 13:11 <+bridge_> <0xdeen> just show the numbers and how many % improvements for each in a table, no need for a graph 13:20 <+bridge_> How did I not think of that lol, this looks weird because there are only 2 data points, definitely doesn't need a to be graphed 😄 13:20 <+bridge_> you mean in a table? 13:20 <+bridge_> 13:20 <+bridge_> ```md 13:20 <+bridge_> | | map | version | #frames | FT avg. (µs) | FT min (µs) | FT max (µs) | AVG FPS | worst 0.01 FPS | worst 0.001 FPS | 13:20 <+bridge_> |:----------------------------|:-------------------|:----------|----------:|---------------:|--------------:|--------------:|----------:|-----------------:|------------------:| 13:20 <+bridge_> | master-Abyss | Abyss | master | 55061 | 490.35 | 94 | 50493 | 2039.36 | 881.717 | 488.013 | 13:20 <+bridge_> | PR-12272-Abyss | Abyss | PR-12272 | 55119 | 488.779 | 93 | 1791 | 2045.92 | 956.599 | 909.211 | 13:21 <+bridge_> | master-KingsLeap | KingsLeap | master | 117161 | 250.61 | 94 | 54521 | 3990.27 | 2239.51 | 995.863 | 13:21 <+bridge_> | PR-12272-KingsLeap | KingsLeap | PR-12272 | 114892 | 255.631 | 69 | 57141 | 3911.88 | 2224.62 | 972.895 | 13:21 <+bridge_> | master-Linear | Linear | master | 173563 | 171.307 | 35 | 872 | 5837.48 | 3512.42 | 2960.91 | 13:21 <+bridge_> | PR-12272-Linear | Linear | PR-12272 | 175192 | 169.562 | 49 | 915 | 5897.54 | 3559.35 | 2983.34 | 13:21 <+bridge_> | master-Mud | Mud | master | 142734 | 208.36 | 86 | 2101 | 4799.38 | 3009.9 | 2439.65 | 13:21 <+bridge_> | PR-12272-Mud | Mud | PR-12272 | 143699 | 206.79 | 86 | 2128 | 4835.83 | 3046.51 | 2421.27 | 13:21 <+bridge_> ... 13:21 <+bridge_> ``` 13:21 <+bridge_> How did I not think of that lol, this looks weird because there are only 2 data points, definitely doesn't need to be graphed 😄 13:21 <+bridge_> (note, this is another PR) 13:21 <+bridge_> I don't know if this is better readable tbh 13:21 <+bridge_> I guess I could add percentages here 13:21 <+bridge_> I guess I could add percentages here and remove the absolutes 13:22 <+bridge_> ye 13:22 <+bridge_> group the rows by map, have columns for "master" and "pr" 13:23 <+bridge_> Don't have so many columns, avg fps master, avg fps pr, percent improvement. You could have this extra information table with the 1% lows and stuff in a spoiler 13:27 <+bridge_> which version should i use for my custom client 13:27 <+bridge_> 19.8.3 and 19.8.2 is crashes randomly when joining servers 13:37 <+bridge_> @rei_ayanami_tee: could you try latest master and see if it crashes too? 13:37 <+bridge_> ye its 13:37 <+bridge_> What even crashes? Your custom client or the official ddnet server? 13:38 <+bridge_> client 13:38 <+bridge_> client 13:38 <+bridge_> Well if it is a custom client then the issue is probably in your code 13:38 <+bridge_> Is your client code public? 13:38 <+bridge_> no its not edited alr 13:39 <+bridge_> it will 13:39 <+bridge_> You said it’s custom 13:39 <+bridge_> it will custom 13:39 <+bridge_> but normal github build crashes in sum servers 13:39 <+bridge_> Ah 13:39 <+bridge_> I think i get it now 13:39 <+bridge_> Could you share the crashing? 13:39 <+bridge_> Crash log\* 13:39 <+bridge_> Do you have a backtrace? 13:39 <+bridge_> its not giving a crash log 13:40 <+bridge_> Then run it with a debugger 13:40 <+bridge_> right 13:41 <+bridge_> Like this? 13:41 <+bridge_> ```md 13:41 <+bridge_> | map | FT avg. µs (%) | AVG FPS (%) | worst 0.01 FPS (%) | worst 0.001 FPS (%) | 13:41 <+bridge_> |:-------------------|-----------------:|--------------:|---------------------:|----------------------:| 13:41 <+bridge_> | Abyss | -0.320473 | 0.321504 | 8.49275 | 86.3089 | 13:41 <+bridge_> | KingsLeap | 2.0038 | -1.96444 | -0.664886 | -2.30633 | 13:42 <+bridge_> | Linear | -1.01832 | 1.0288 | 1.33618 | 0.757715 | 13:42 <+bridge_> | Mud | -0.753574 | 0.759295 | 1.2163 | -0.75365 | 13:42 <+bridge_> | Victory 2 | 0.110316 | -0.110195 | -1.14374 | 7.03953 | 13:42 <+bridge_> | run_world_war_zero | 0.14418 | -0.143973 | 0.286334 | -3.03751 | 13:42 <+bridge_> | ctf1 | -2.17538 | 2.22375 | -3.27187 | -17.7198 | 13:42 <+bridge_> | Springlobe4 | -0.690246 | 0.695043 | 2.72973 | 4.65808 | 13:42 <+bridge_> ``` 13:42 <+bridge_> I guess just percentages also work 13:42 <+bridge_> I would round to like 1,2 significant digits though 13:42 <+bridge_> I would round to like 1 or 2 significant digits though 13:42 <+bridge_> (note: this benchmark shows, that the change doesn't decrease performance which was the goal) 13:43 <+bridge_> Except for KingsLeap? 13:44 <+bridge_> @rei_ayanami_tee: and did you get it to crash again? 13:45 <+bridge_> +- 2% seems to be just the variance 13:46 <+bridge_> Like this? 13:46 <+bridge_> ```md 13:46 <+bridge_> | map | FT avg. µs (%) | AVG FPS (%) | worst 0.01 FPS (%) | worst 0.001 FPS (%) | 13:46 <+bridge_> |:-------------------|-----------------:|--------------:|---------------------:|----------------------:| 13:46 <+bridge_> | Abyss | -0.32 | 0.32 | 8.49 | 86.31 | 13:46 <+bridge_> | KingsLeap | 2 | -1.96 | -0.66 | -2.31 | 13:46 <+bridge_> | Linear | -1.02 | 1.03 | 1.34 | 0.76 | 13:46 <+bridge_> | Mud | -0.75 | 0.76 | 1.22 | -0.75 | 13:46 <+bridge_> | Victory 2 | 0.11 | -0.11 | -1.14 | 7.04 | 13:46 <+bridge_> | run_world_war_zero | 0.14 | -0.14 | 0.29 | -3.04 | 13:46 <+bridge_> | ctf1 | -2.18 | 2.22 | -3.27 | -17.72 | 13:46 <+bridge_> | Springlobe4 | -0.69 | 0.7 | 2.73 | 4.66 | 13:46 <+bridge_> ``` 13:52 <+bridge_> the other PR actually shows improvements for some maps: 13:52 <+bridge_> ``` 13:52 <+bridge_> | map | FT avg. µs (%) | AVG FPS (%) | worst 0.01 FPS (%) | worst 0.001 FPS (%) | 13:52 <+bridge_> |:-------------------|-----------------:|--------------:|---------------------:|----------------------:| 13:53 <+bridge_> | Abyss | -0.5 | 0.5 | 8.97 | 90.39 | 13:53 <+bridge_> | KingsLeap | -6.46 | 6.91 | 1.57 | 5.99 | 13:53 <+bridge_> | Linear | -0.51 | 0.51 | -10.46 | -50.75 | 13:53 <+bridge_> | Mud | -1.56 | 1.58 | -0.61 | -8.97 | 13:53 <+bridge_> | Victory 2 | -1.96 | 2 | 2.49 | 11.3 | 13:53 <+bridge_> | run_world_war_zero | 0.9 | -0.89 | -11.4 | -51.74 | 13:53 <+bridge_> | ctf1 | -4.58 | 4.8 | -3.06 | -18.84 | 13:53 <+bridge_> | Springlobe4 | -6.93 | 7.44 | 4.08 | -27.34 | 13:53 <+bridge_> ``` 13:53 <+bridge_> I am pretty sure, my worst 0.01 and worst 0.001 are too unreliable for actual data 13:53 <+bridge_> im downloading dependencies rn 13:56 <+bridge_> > | KingsLeap | -6.46 | 6.91 | 13:56 <+bridge_> I can't explain this one 🤷‍♂️ 13:58 <+bridge_> the PR contains some cleanup with setting uninitialized variables, maybe that's what causing this 14:01 <+bridge_> @qxdfox 14:01 <+bridge_> > Main Map Reloading issue: 14:02 <+bridge_> > Reloading map index 0 (main map) practically shuts down and restarts the whole server. 14:02 <+bridge_> > So the best way to overcome this, is to not use the main map, but rather have it around as a sort of "hub" 14:02 <+bridge_> 14:02 <+bridge_> I got the same idea years ago, imagine a hub where you can choose between all kind of minigames and have a minigame server 14:02 <+bridge_> you could connect all of ddnet to just one hub server 14:02 <+bridge_> 0xf servers implemented it already 14:02 <+bridge_> 37.230.228.124:8400 14:02 <+bridge_> if you wanna look at it 14:03 <+bridge_> you have been punished for bad client 14:04 <+bridge_> oh 14:04 <+bridge_> weird 14:04 <+bridge_> ddnet nightly is 20.0 14:04 <+bridge_> and not 19.9 or something 14:04 <+bridge_> it might check the hash 14:05 <+bridge_> my client on 20.0 works 14:06 <+bridge_> well this is the lobby 14:06 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516775945317519503/image.png?ex=6a33df2d&is=6a328dad&hm=ef59b7c985e5725aa02493ff38716c2d2a6be574ec342165de9569f224bd4961& 14:06 <+bridge_> my nightly might be a few days older, does this matter? 14:06 <+bridge_> No clue i dont have their source :p 14:07 <+bridge_> this makes me want to spoof the client btw 14:07 <+bridge_> this is probably more punishing to beta testers than actual cheat clients 14:08 <+bridge_> probably just some oversight 14:08 <+bridge_> I also had that 14:08 <+bridge_> chillerdragon got banned joining my servers on his client 14:11 <+bridge_> your servers jut worked for me 🙂 14:11 <+bridge_> well I fixed it after he told me of course :p 14:11 <+bridge_> 👀 14:12 <+bridge_> Don't you have access to 0xf @byfox ? 14:12 <+bridge_> I have :) 14:12 <+bridge_> fix! 14:16 <+bridge_> faulty did not disable the ban on version 20000. 14:18 <+bridge_> my client sends 20000 though..? 14:18 <+bridge_> how come I can play 14:19 <+bridge_> Honestly, I don't know which trigger you hit, there are a lot of them.... 14:19 <+bridge_> @0xfaulty 14:26 <+bridge_> i tried 19.8 it didnt crash 14:27 <+bridge_> ill try 19.8.2 rn 14:29 <+bridge_> Why is 0xfaulty now named faulty? xd 14:44 <+bridge_> tell me if you need me to debug 14:46 <+bridge_> hm 14:46 <+bridge_> interesting 15:06 <+bridge_> 0xf also always flagged me until they added chilerbot backdoor 15:07 <+bridge_> @rei_ayanami_tee: mostly latest master branch is interesting 15:07 <+bridge_> Do you have a crash report now? 15:41 <+bridge_> ``` 15:41 <+bridge_> [365/366] Linking CXX executable DDNet-Server 15:41 <+bridge_> /DDNet/src/base/str.cpp: In Funktion »_ZN12CGameContext7MapScanEPKciiPv.part.0«: 15:41 <+bridge_> /DDNet/src/base/str.cpp:21:9: warning: »__builtin___strncat_chk« angegebene Grenze hängt von der Länge des Quellarguments ab [-Wstringop-overflow=] 15:41 <+bridge_> In Funktion »str_length«, 15:41 <+bridge_> eingefügt von »_ZN12CGameContext7MapScanEPKciiPv.part.0« bei /DDNet/src/game/server/gamecontext.cpp:3838:69: 15:41 <+bridge_> /DDNet/src/base/str.cpp:54:20: note: Länge wird hier berechnet 15:41 <+bridge_> [366/366] Linking CXX executable DDNet 15:41 <+bridge_> ``` 15:41 <+bridge_> 15:41 <+bridge_> Huh? 15:42 <+bridge_> no probably it was about my system 15:42 <+bridge_> i change my os yesterday 15:43 <+bridge_> > angegebene Grenze hängt von der Länge des Quellarguments ab 15:43 <+bridge_> mhm mhm 15:48 <+bridge_> is that why u have 18k hours on 0xf? 15:48 <+bridge_> https://ddstats.tw/player/ChillerDragon/activity 15:49 <+bridge_> this is a false positive 15:54 <+bridge_> Rumors are that C++ has it's own string class … 15:54 <+bridge_> Rumors are that C++ has its own string class … 15:55 <+bridge_> don't let me unpack the std::stringbuilder 15:55 <+bridge_> don't let me unpack the std::stringstream 16:15 <+bridge_> I wonder how many more PRs are not marked as mine anymore, I already know of 3 16:17 <+bridge_> ddnet shows 15 open PRs from me, the overview shows 8. great job github 16:19 <+ChillerDragon> @qxdfox i am pro 0xf farmer what can i say 16:28 <+bridge_> 👀 chillerdragon test teetui 16:34 <+bridge_> Very unlikely any of you will need this, buuut it is a useful tool if you do https://programming.sirrida.de/calcperm.php 16:35 <+bridge_> Helps visualize and generate efficient-ish code for bit permutations 16:54 <+ChillerDragon> wot @jxsl13 where release 16:54 <+ChillerDragon> also is it virus? 16:56 <+bridge_> github.com/jxsl13/teetui 16:56 <+bridge_> probably less virus than chillerbot-ux 👀 16:57 <+bridge_> chillerdragon 17:50 <+bridge_> @blaiszephyr I wonder how many attacks ddnet gets per day but wtf 💀 under a day, the amount of alerts received 17:50 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516832403987894272/image.png?ex=6a3413c2&is=6a32c242&hm=5e37aad42a06a87f637ee24e03bc000ee7b671d82147caccb2f6136edf42d6db& 17:50 <+bridge_> ^^ 17:51 <+bridge_> also rundeck is also another alternative to awx, but never tested 17:52 <+bridge_> -.- 17:52 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516832872135262408/image.png?ex=6a341432&is=6a32c2b2&hm=ce8eb3e96c0f3e009b089f0ad23a6ba98676bc85c8ee4dd1f3cc5b1bdeeb4188& 17:52 <+bridge_> i'm fairly confident me paying 20€ for claude Pro for a month could vibecode a better alternative atp 17:52 <+bridge_> hah 17:52 <+bridge_> lmaoo 17:52 <+bridge_> there's the OSS version 17:53 <+bridge_> https://www.rundeck.com/downloads just need to give all your personal info :giga_chad: 17:53 <+bridge_> :OMEGALUL: 17:53 <+bridge_> ah yes, FOSS - so free 17:53 <+bridge_> :issou: 17:58 <+bridge_> why don't you just stick to CLI ? 17:58 <+bridge_> why don't you just stick to CLI ? works well that way 18:01 <+bridge_> @blaiszephyr Depending on what you're doing you can even do some gitops and play with pipelines to sync your inventory with the latest "playbook updates" 18:24 <+bridge_> where tf is my border rendering pr 18:27 <+bridge_> this wasn't even listed to me on ddnet by sorting for myself as author: https://github.com/ddnet/ddnet/pull/11203 18:31 <+bridge_> i can offer running an agent to implement whatever sou want 👀 18:31 <+bridge_> you* 18:31 <+bridge_> I need an agent to find and reconnect my lost PRs due to that aweful github bug 18:32 <+bridge_> describe the problem in depth 😀 18:32 <+bridge_> and the content of the pr 18:32 <+bridge_> and the repo 18:32 <+bridge_> *rough description of the content 18:36 <+bridge_> here is the problem: 18:36 <+bridge_> 18:36 <+bridge_> Solution is for me to comment on an invisible PR 18:36 <+bridge_> gh utility 18:36 <+bridge_> I can now go through every branch I have on my gh clone 18:36 <+bridge_> might help 18:37 <+bridge_> will check what ai says. 18:39 <+bridge_> if your AI is so good, maybe it can do this task I failed with it: 18:48 <+bridge_> Better would be to open a support ticket so all our PRs are reindexed, otherwise we don't know which already closed PRs are missing from the list: https://github.com/orgs/community/discussions/193463#discussioncomment-17080039 18:49 <+bridge_> splitting commits is just rip 18:49 <+bridge_> (Or if GitHub would actually fix the issue for the entire site) 18:53 <+bridge_> You can also get all PRs with the API: https://api.github.com/repos/ddnet/ddnet/pulls?state=open&per_page=100&page=1 18:53 <+bridge_> https://docs.github.com/en/rest/pulls/pulls?apiVersion=2026-03-10 18:55 <+bridge_> interesting, this returns 404: https://github.com/repos/ddnet/ddnet/pulls/10514 18:56 <+bridge_> maybe the link is not translatable like this from the api ... 18:56 <+bridge_> you got a yahoo email Assa? 18:56 <+bridge_> pulls -s 18:57 <+bridge_> yes, but this is my trash email 18:57 <+bridge_> same error 18:57 <+bridge_> if you write me there it will not be read and your message will be mixed in between korean pirates and adult toy advertisments 18:58 <+bridge_> that's what you say 18:58 <+bridge_> but the reality might be different 18:58 <+bridge_> if i send you adult toy ads, that is. 18:59 <+bridge_> yes you got me, I love discussing with korean pirates about my windows version 18:59 <+bridge_> The toy will be called DDoldo 18:59 <+bridge_> :kek: 19:02 <+bridge_> The `html_url` attribute specifies the viewable URL 19:02 <+ChillerDragon> @jxsl13 did u read any of the code? xd 19:03 <+bridge_> a littl ebit, why? 19:03 <+bridge_> the generated code, that is 19:03 <+bridge_> i mean, i wanted the final thing to be modular and stuff 19:04 <+bridge_> so that you could add your weird features easily if you wanted 😛 19:06 <+bridge_> @essigautomat any of these ring a bell? 19:06 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1516851424502222858/Bildschirmfoto_2026-06-17_um_19.05.31.png?ex=6a342579&is=6a32d3f9&hm=d433b229ac5b3901c46a1e251876daac0dd1bc882fff713286d6da72b09c776c& 19:06 <+ChillerDragon> i find it a bit scary to run unaudited code 19:06 <+ChillerDragon> i browsed the code a bit and it ported all kind of random chillerbot-ux features in there xd 19:06 <+bridge_> did you audit the whole linux kernel? 19:06 <+ChillerDragon> no but others did audit it for me 19:07 <+bridge_> why are there still exploits in there? 19:07 <+ChillerDragon> ?xd 19:07 <+bridge_> in the linux kernel 19:07 <+bridge_> if they audited it 19:07 <+ChillerDragon> i dont know what to say 19:07 <+ChillerDragon> whats your point 19:07 <+bridge_> it's about trust. 19:07 <+ChillerDragon> yes it is 19:08 <+ChillerDragon> i trust you 19:08 <+ChillerDragon> but i dont trust your ai 19:08 <+ChillerDragon> xd 19:08 <+bridge_> and even tho you know that there are vulnerabilities in any software, you still run it. 19:08 <+ChillerDragon> yes 19:08 <+bridge_> so your point is slightly paradox. 19:08 <+ChillerDragon> no 19:09 <+ChillerDragon> of course human written code will always be full of possible bugs and exploits 19:09 <+bridge_> AI found system-critical vulnerabilities in the ssh protocol that have been there for over 10 years - which i'd assume is one of the most audited network protocols we have 19:09 <+bridge_> :topkekMate: 19:09 <+ChillerDragon> but if at least 1 person checked the code and verified it has no bad intent thats good for me 19:09 <+ChillerDragon> your LLM code might upload my entire hard drive to anthropic 19:10 <+bridge_> anyway. i did your teetui. whether you use it or not and whether you trust that i did my due diligence by iterating over the code multipole times is up to you. 19:10 <+ChillerDragon> a vulnerability needs someone to exploit it 19:10 <+ChillerDragon> i am more concerned about actively malicious code 19:10 <+bridge_> some of these are closed 19:10 <+ChillerDragon> @jxsl13 yea its cool thanks 19:10 <+ChillerDragon> i will check it out 19:11 <+bridge_> the titles D: @essigautomat 19:11 <+ChillerDragon> i will not just run it on my main device right now 19:11 <+bridge_> any of the titles ring a bell? 19:11 <+bridge_> yes they're all mine? 19:11 <+bridge_> at least the teetui did help me get the twclient hardened and more robust. 19:12 <+bridge_> any of the titles your rendering pr? 19:12 <+bridge_> I often do ": " 19:13 <+bridge_> <Assa> oh the rendering PR is back 19:13 <+bridge_> <jxsl13> is there my comment there? 19:13 <+bridge_> <Assa> because I commented on it 19:13 <+bridge_> <jxsl13> 😮 19:13 <+CN-Bridge> <Bamcane> golang client, omg 19:13 <+bridge_> <Assa> what comment? :justatest: 19:14 <+bridge_> <jxsl13> which one is your D: 19:14 <+bridge_> <jxsl13> that is back. i commented on the second in the list 19:14 <+bridge_> <jxsl13> assuming it was the one you looked for 19:15 <+bridge_> <Assa> I didn't even get notified about that, I found your comment now D: 19:15 <+bridge_> <jxsl13> which one? 19:15 <+bridge_> <jxsl13> 😄 19:15 <+bridge_> <Assa> https://github.com/ddnet/ddnet/pull/11077#issuecomment-4733141304 19:16 <+bridge_> <jxsl13> ok, it was the third in the list ._. 19:16 <+bridge_> <Assa> this one is closed and obsolete and superseded by another open one 19:16 <+bridge_> <manikoo> chillerdragon: rq 19:17 <+CN-Bridge> <Bamcane> I wonder if the graphics is the most important thing needed to be optimized currently. 19:17 <+CN-Bridge> <Bamcane> D: 19:17 <+bridge_> <Assa> This is actually a really good question 19:18 <+bridge_> <jxsl13> still do not know which pr it was that was missing. ._. 19:18 <+bridge_> <jxsl13> was it found by the ai agent? 19:18 <+bridge_> <jxsl13> in that list or completely different? 19:18 <+bridge_> <Assa> and here is my reasoning: Not everyone has a powerful gpu and highly optimized OS like me and gets 6K fps on linear, the better the game performs, the better the experience is on cheap/old/potato hardware 19:19 <+CN-Bridge> <Bamcane> But, there are lots of things needed to be improved in memory operations. 19:19 <+bridge_> <jxsl13> teeworlds 0.7 runs better than ddnet? 19:19 <+bridge_> <Assa> The AI agent noticed, that I found the PR I was searching for myself already 19:19 <+CN-Bridge> <Bamcane> especially the client-side sixup. 19:19 <+bridge_> <Assa> Currently I am working on improving the zoom experience 19:19 <+bridge_> <Assa> zooming can cause even my PC to stutter 19:20 <+bridge_> <Assa> this is like an actual no go 19:20 <+CN-Bridge> <Bamcane> at least, I can got a higher fps on Archive 0.7.6 in some maps than DDNet latest. 19:20 <+bridge_> <Assa> maps like? 19:21 <+bridge_> <Assa> There are some caveats here, ddnet has a different graphics backend and the performance on some low tier maps is worse in order to make some graphically heavy maps better 19:21 <+CN-Bridge> <Bamcane> I'm not sure how to categorize them, but maybe you can just try it out yourself. 19:21 <+bridge_> <Assa> like overhead is a thing 19:25 <+bridge_> <jxsl13> contrary to chillerbot-ux, teetui does not send telemetry >:D 19:25 <+CN-Bridge> <Bamcane> Also I guess you need to test on OpenGL 3.3 which is both of Archive and DDNet used 19:42 <+bridge_> <melon> anyone know if concurrently even functions under windows? 19:43 <+bridge_> <jxsl13> concurrency 19:43 <+bridge_> <jxsl13> or currently? 19:43 <+bridge_> <jxsl13> what specifically? 19:43 <+bridge_> <melon> `concurrently -n "backend,website,moderate" -c "blue,green,yellow" "bun ./apps/backend/index.ts" "bun run start:ui" "bun ./apps/scripts/moderate-webhook.ts"` 19:43 <+bridge_> <melon> 19:43 <+bridge_> <melon> this only launches `backend` 19:44 <+bridge_> <melon> `concurrently -n "backend,website,moderate" -c "blue,green,yellow" "bun ./apps/backend/index.ts" "bun run start:ui" "bun ./apps/scripts/moderate-webhook.ts"` 19:44 <+bridge_> <melon> 19:44 <+bridge_> <melon> this only launches `backend` under windows 19:45 <+bridge_> <melon> why am i being questionmarked, concurrently is a cli tool :( 19:45 <+bridge_> <melon> https://www.npmjs.com/package/concurrently 19:46 <+bridge_> <jxsl13> ```ps 19:46 <+bridge_> <jxsl13> concurrently --raw -n "backend,website,moderate" -c "blue,green,yellow" "bun ./apps/backend/index.ts" "bun run start:ui" "bun ./apps/scripts/moderate-webhook.ts" 19:46 <+bridge_> <jxsl13> ``` 19:47 <+bridge_> <jxsl13> forget it. let me first read ._. 19:49 <+bridge_> <jxsl13> --raw to see more verbose output or error 19:52 <+bridge_> <melon> okay it seems like its not a concurrently but a bun issue 19:52 <+bridge_> <melon> ahgg 21:07 <+bridge_> <aegisub> 100x ai-driven professional software bun has issues? crazy 21:07 <+bridge_> <aegisub> 10x ai-driven professional software bun has issues? crazy 21:08 <+bridge_> <melon> :kek: - i like bun, issue is they seems to have fully bricked it :D 21:09 <+bridge_> <Fussel> I heard javascript enjoyers have a rather short one. Is this true? 21:25 <+bridge_> <odo_r> bro 21:25 <+bridge_> <odo_r> https://cdn.discordapp.com/attachments/293493549758939136/1516886553249579229/1.jpg?ex=6a344630&is=6a32f4b0&hm=c933466c7b772e60c5c452cd637111d4eb173eedd9d0ddc4452e10f2e273a38a& 21:25 <+bridge_> <odo_r> https://cdn.discordapp.com/attachments/293493549758939136/1516886554067337236/2.jpg?ex=6a344630&is=6a32f4b0&hm=469128f018001d439e88d0345084a5c44589644d9f6fbbf25d10dae6b1504904& 21:25 <+bridge_> <odo_r> https://cdn.discordapp.com/attachments/293493549758939136/1516886554931494972/3.jpg?ex=6a344631&is=6a32f4b1&hm=4e0c41085f2a59cb3eed40ed2a86ca1678bcf64c4f77cb4f846e6142edf99edb& 21:25 <+bridge_> <odo_r> https://cdn.discordapp.com/attachments/293493549758939136/1516886555615035402/4.jpg?ex=6a344631&is=6a32f4b1&hm=2523f08473289a7418ca578d9fe0d5ceeaa6f01582198cf0f7315a38d2e3900f& 22:06 <+bridge_> <reitw> wasn't it bun which switched to rust completly using claude ? 22:07 <+bridge_> <reitw> deno is a cool alt to nodejs 22:43 <+bridge_> <rei_ayanami_tee> whats diff between ```cmake -Bbuild -GNinja``` ```cmake -B build``` 22:47 <+bridge_> <learath2> https://github.com/LNH-team/dspico-wrfuxxed/blob/develop/wrfuxxed.md pretty run of the mill stack overflow, but maybe someone else enjoys reading up on very simple exploits 22:47 <+bridge_> <melon> `-GNinja` defines the generator as Ninja, otherwise it falls back to the default one of your system 22:47 <+bridge_> <melon> 22:47 <+bridge_> <melon> `-BBuild` vs `-B Build` is purely syntactic - both should work 23:00 <+bridge_> <imilchshake> ddnet.org down? :( 23:05 <+bridge_> <melon> Pray that it wasn't me 23:05 <+bridge_> <melon> Should be fine now 23:06 <+bridge_> <melon> It's struggling with.. something 23:06 <+bridge_> <imilchshake> maybe its just eepy :brownbear: 23:06 <+bridge_> <patiga> pet it! 23:06 <+bridge_> <imilchshake> :3 23:07 <+bridge_> <melon> :Frog_Pat: 23:07 <+bridge_> <imilchshake> btw is there any way to export these ddnet emojis? :nouis: 23:07 <+bridge_> <imilchshake> or get them elsewhere? 23:07 <+bridge_> <imilchshake> lol instant 522 after petting 23:07 <+bridge_> <melon> öh i don't think we have them saved somewhere - maybe Louis or murpi have them locally 23:07 <+bridge_> <patiga> /emojis in the #bot-cmds 23:08 <+bridge_> <patiga> (worked in the past at least) 23:08 <+bridge_> <melon> -# :pepeHands: useless admin 23:08 <+bridge_> <patiga> (last tried by me ~6 years ago) 23:08 <+bridge_> <imilchshake> :heartw: 23:08 <+bridge_> <imilchshake> bot is thinking alot rn 23:09 <+bridge_> <imilchshake> oha 23:09 <+bridge_> <imilchshake> i got it!! thanks :3 23:09 <+bridge_> <imilchshake> currently designing sticker sheets, would love a :nouis: on my thinkpad 23:10 <+bridge_> <patiga> to pet the bot is an admirable task and not done lightly :> 23:22 <+bridge_> <teero777> bruh 23:22 <+bridge_> <teero777> this was important 23:23 <+bridge_> <jxsl13> tls cert expired? 23:26 <+bridge_> <totar> I made that pr in 10 minutes, you can re open it 23:52 <+bridge_> <Assa> :pepeW: i am not happy how this went