00:00 < bridge> Salt works best without context, tho might sound weird if it's used in something like 00:00 < bridge> 00:00 < bridge> "_Jump_ over this obstacle" 00:00 < bridge> "_Salt_ peste acest obstacol" (Correct form would "Sari" here) 00:03 < bridge> Best it to just check the settings/controls tab for these strings. If you can code a bit you can just grep for it 00:03 < bridge> 00:03 < bridge> `Localize("Jump" ` 00:03 < bridge> Best it to just check the settings/controls tab for these strings. If you know your editor/console you could just grep for it 00:03 < bridge> 00:03 < bridge> `Localize("Jump" ` 00:04 < bridge> @blaiszephyr ur so smart :owo: 00:04 < bridge> I will not eat you for this 00:54 < ws-client> what your error bro? 01:10 < bridge> :owo: 04:13 < bridge> one day i'll hop on tatar translation, i swear :justatest: 04:29 < bridge> android is real boys 05:01 < bridge> tatar 05:37 < bridge> lol 05:44 < bridge> :greenthing: 05:45 < bridge> at least it is consistent now, if you have self spec in menu, i'd rather allow left click on yourself too. which isn't possible before 05:49 < bridge> 😭😭😭 06:28 < bridge> oh no. terrible idea 06:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313376412257746995/2024-12-03_13-28-07.mp4?ex=674fe89a&is=674e971a&hm=e5c3926ca444ac858865fde12a6cead7baa25c2a5f43527e51dad80a9cc9276f& 06:30 < bridge> Chillerdragon is actually competing what 06:30 < bridge> dude is actually going to get a perfect score on the private leaderboard 06:31 < bridge> meanwhile I'm stuck trying to destructure a 4-tuple because I'm *supposed* to use pattern matching for those 06:32 < bridge> but I can't use pattern matching with the restrictions I've set 06:32 < bridge> i don't even attempt so i don't feel bad about myself 06:36 < bridge> I thought I had a solution with `uncurry` but what I actually need is `uncurry4` and I don't have that 06:36 < bridge> I don't want to use whatever random library that happens to include the relevant functions, might as well cheat and write one 06:37 < bridge> Or maybe give up on using regex and simply handle the the string by hand? I'm sure that won't be painful 06:38 < bridge> curry mentioned, let's goooooo 06:38 < bridge> I love knowing the solution the instant I read the problem description but spending an hour on a technical problem due to the weird restrictions I set on myself 07:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313394785872248864/2024-12-03_14-40-49.mp4?ex=674ff9b6&is=674ea836&hm=e139929c7ed3e822d0a6ff31161b79b8ed82db02db3814f6600ec611636dc8a4& 07:48 < bridge> Ooh, flashy 07:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313398418969989160/2024-12-03_14-55-32.mp4?ex=674ffd18&is=674eab98&hm=13091397da9c406aeef7eb7c9c847cc17702ad04a959283981b3d7879f9e030e& 07:59 < bridge> Is it a shader? 07:59 < bridge> no, just four quads 08:15 < bridge> looks so cool that it almost feels out of place 08:19 < bridge> :justatest: we don't have much effect work in this game i guess, not that i really needed it anyway 08:21 < bridge> I don't like strings, and it seems Haskell doesn't particularly like them either... 08:21 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313404661746634832/SPOILER_3x.hs?ex=675002e9&is=674eb169&hm=0295396e7785915dd0d12e1345e3f40afddefcf87a904a4d08f369a58f421adc& 08:22 < bridge> I've never seen Haskell and strings in the same sentence before 08:26 < bridge> @aegisub any way to destructure large tuples without pattern matching? I had to cheat to solve this one... 08:26 < bridge> What kind of restriction :o 08:27 < bridge> I'm at work so I can't get perfect score feelsbadman 08:28 < bridge> ChillerDragon was done with both in like 15 minutes 08:28 < bridge> though not like that'd be all that hard without restrictions 08:28 < bridge> I did the first two days in around ~5 minutes in c++ 08:28 < bridge> 08:28 < bridge> Took me 2 hours on nix lang tho :kek: 08:29 < bridge> I did the first two days in around ~5 minutes per part in c++ 08:29 < bridge> 08:29 < bridge> Took me 2 hours on nix lang tho :kek: 08:30 < bridge> No variables, just functions and constants 08:31 < bridge> damn 08:31 < bridge> that's why I'm unhappy with this bit 08:31 < bridge> ```hs 08:31 < bridge> --cheating 08:31 < bridge> uncurry4 f (a, b, c, d) = f a b c d 08:31 < bridge> ``` 08:31 < bridge> because f, a, b, c, and d are all big big stinky 08:33 < bridge> Well my code isn't beautiful either :KEKW: 08:33 < bridge> ```cpp 08:33 < bridge> ❯ cat main.cpp 08:33 < bridge> #include 08:33 < bridge> #include 08:33 < bridge> #include 08:33 < bridge> #include 08:33 < bridge> 08:33 < bridge> using namespace std; 08:33 < bridge> int main() { 08:33 < bridge> ifstream input("input.txt"); 08:34 < bridge> vector lhs, rhs; 08:34 < bridge> int left, right; 08:34 < bridge> while (input >> left >> right) { 08:34 < bridge> lhs.push_back(left); 08:34 < bridge> rhs.push_back(right); 08:34 < bridge> } 08:34 < bridge> 08:34 < bridge> unordered_map rhsCounts; 08:34 < bridge> for (int num : rhs) { 08:34 < bridge> rhsCounts[num]++; 08:34 < bridge> } 08:34 < bridge> 08:34 < bridge> long long score = 0; 08:34 < bridge> for (int num : lhs) { 08:34 < bridge> score += (long long)num * rhsCounts[num]; 08:34 < bridge> } 08:34 < bridge> cout << score; 08:34 < bridge> } 08:34 < bridge> ``` 08:34 < bridge> oh you did it in a reasonable way 08:34 < bridge> Mine is really funny in how inefficient it is 08:34 < bridge> Well it's a way for me to get back to basics, so I'm doing it in the language I'm most proficient in 08:36 < bridge> My solution creates the cartesian product of lhs and rhs, filters out the pairs that aren't equal, reduces them to single values, and takes the sum 08:36 < bridge> :lol: 08:36 < bridge> :thisemoji: 08:36 < bridge> it's funny because it's like mathematically elegant but so so bad in reality 08:39 < bridge> windows 08:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313409369941213194/image.png?ex=6750074b&is=674eb5cb&hm=0ae4f9a9575f4b0f222659cda6899e984db93d5d9d4cf0058b07291d43168a60& 08:48 < bridge> Huh, when I added `-O2` to my flags it runs like 5x faster 08:48 < bridge> I guess GHC is smart enough to realize that it should *not* be creating a list of a million elements just to filter out the vast majority of them 08:48 < bridge> See, I don't need to be a good programmer, I can just rely on magic happening! 08:52 < bridge> Wait, were you happy because I mentioned the guy or because I mentioned the food? 08:59 < bridge> yes 08:59 < bridge> BASED 🦅 09:02 < bridge> oh no 09:02 < bridge> flash bang 09:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313415247968731136/2024-12-03_16-01-55.mp4?ex=67500cc5&is=674ebb45&hm=c73285c8958ae754275d3f35bb4c2f634cd30427283f97745d7a94993fcf1d3a& 09:06 < bridge> <_voxeldoesart> the border feels very distracting in a UX standpoint but it looks kinda cool LOL 09:06 < bridge> <_voxeldoesart> the border feels very distracting in a UX standpoint but it does look kinda cool LOL 09:23 < bridge> honestly i think it is either this or a popup window. for https://discord.com/channels/252358080522747904/293493549758939136/1313119969998934026. somehow people just don't notice the text in the bottom right. so i choose border for the "confinement" feeling, and a flash for "releasing a lock" feeling. both just force people to look at he bottom right corner. 09:24 < bridge> ~~i mean it is possible it is just the younger generation being ruined and dumb tho.~~ 09:25 < bridge> honestly i think it is either this or a popup window. for https://discord.com/channels/252358080522747904/293493549758939136/1313119969998934026. somehow people just don't notice the text in the bottom right. so i choose border for the "confinement" feeling, and a flash for "releasing a lock" feeling. both just force people to look at the bottom right corner. 09:25 < bridge> it wasn't happening a lot until recent years 09:35 < bridge> now you gotta animate every menu in the game 09:36 < bridge> :justatest: wouldn't that just feel too slow? 09:38 < bridge> ok so the way you do animated menus is 09:38 < bridge> 1. if you animate the positions of menu items, do it real fast 09:38 < bridge> 2. if you animate the positions of menu items, do it visually only so the menu is operable before it is fully visible 09:38 < bridge> 3. avoid animating the positions of menu items in complex menus where the user is likely to perform many actions quickly 09:39 < bridge> please tell that too apple asap 09:39 < bridge> please tell that to apple asap 09:51 < bridge> 2 is very arguable, in some cases it becomes unintuitive if the menu items aren't where they appear to be 09:52 < bridge> but for cases where items quickly slide in from the side of the screen it's best that they're clickable even when they're not yet visible 09:52 < bridge> but for cases where for example items quickly slide in from the side of the screen it's best that they're clickable even when they're not yet visible 09:55 < bridge> I guess you could split it into two categories: 09:55 < bridge> 1. static menus that animate when you open them (rule 2 applies) 09:55 < bridge> 2. dynamic menus that move around as you use them (rule 2 absolutely does not apply) (an example of this is something like the osu! song select menu) 09:56 < bridge> I guess you could split it into two categories: 09:56 < bridge> 1. static menus that animate when you open them 09:56 < bridge> - rule 2 applies 09:56 < bridge> 2. dynamic menus that move around as you use them 09:56 < bridge> - rule 2 absolutely does not apply 09:56 < bridge> - an example of this is something like the osu! song select menu 09:56 < bridge> I guess you could split it into two categories: 09:56 < bridge> 1. static menus that animate when you open them 09:56 < bridge> * rule 2 applies 09:56 < bridge> 2. dynamic menus that move around as you use them 09:56 < bridge> * rule 2 absolutely does not apply 09:56 < bridge> * an example of this is something like the osu! song select menu 09:56 < bridge> I guess you could split it into two categories: 09:56 < bridge> 1. static menus that animate when you open them 09:56 < bridge> * rule 2 applies 09:56 < bridge> 2. dynamic menus that move around as you use them 09:56 < bridge> * rule 2 absolutely does not apply 09:56 < bridge> * an example of this is something like the osu! song select menu 10:30 < bridge> Why am I the only one with a non linked profile :feelsbadman: 10:30 < bridge> 10:30 < bridge> My name has a special n :feelsbadman: 10:30 < bridge> Isn't it going to be confusing spec yourself? 10:31 < bridge> When you go into spec your tee is always in the middle so you're always going to spec yourself 10:31 < bridge> N with long right leg 10:31 < bridge> New players won't even notice why they can't move 10:32 < bridge> Love you Deen :kek: 10:32 < bridge> <0xdeen> Sorry, never noticed the weird n you have before 10:33 < bridge> It's not weird :cammo: 10:34 < bridge> some people really want to spec themselves for reasons. i'm thinking going the other way, maybe adding visual indications for spec mode changes 10:35 < bridge> There's already spec menu 10:35 < bridge> For left clicking its confusing that's why I didn't add it on the original pr 10:36 < bridge> ah 10:36 < bridge> If I left click I generally want to spec someone not myself 10:36 < bridge> it feels like inconsistency really 10:37 < bridge> but i guess let's revert again 10:37 < bridge> :kek: 10:39 < bridge> do i revert to all the way before or do i keep the clicking on yourself in demo 10:39 < bridge> epyc 10:40 < bridge> honestly eitherway people are clearly triggering self spec even with spec menu 10:40 < bridge> <0xdeen> @tsfreddie So should https://github.com/ddnet/ddnet/pull/9321 go into 18.8 or not? 10:40 < bridge> no 10:41 < bridge> I like the idea of being able to click yourself but then again I'm a radical generality enjoyer 10:42 < bridge> @0xdeen make sure you don't have 84a0303 in 18.8 too 10:42 < bridge> I made click to spec so new players can spec someone without knowing about spec menu 10:43 < bridge> It doesn't make sense to spec yourself 99% of time 10:43 < bridge> that's why i kinda want to remove them in spec menu 10:43 < bridge> and i did 10:44 < bridge> :justatest: 11:52 < bridge> Not really, no 11:52 < bridge> There are some libraries that have functions like fst4 but there's no easy general way 11:53 < bridge> and I can't believe I didn't get regex when I installed the compiler 11:53 < bridge> I thought that was the sort of thing that comes default with modern languages 11:53 < bridge> I guess you could allow yourself to define your own fst4/snd4/etc functions since it's a bit of an oddity that haskell doesn't have those - in theory they should be built-in for any inductive data type 12:00 < bridge> https://sqlize.online/sql/mariadb115/3ac1e4db3f69cc7cadbb3d5e48b3508d/ 12:00 < bridge> 12:00 < bridge> help 12:00 < bridge> mariadb, simple query, try run query multiple times (x5-x10), column `error` has difference values 12:00 < bridge> 12:00 < bridge> on mysql works fine 12:07 < ws-client> @inv41idu53rn4m3 i went full speed on aoc today starring at the timer and then using all tricks i know to just get the result. I use grep and piped the output into a script massaged it with neovim the code something between horrible and non existant. 12:07 < bridge> ,(41,792,'2024-05-25 08-31 03:49:24') 12:07 < ws-client> also i have a timezone advantage. aoc release time is pretty chill in utc+8 12:08 < bridge> @matodor 12:08 < bridge> 08-31 should be 08:31 no? 12:08 < bridge> How did you generate the times 12:08 < bridge> Yeah this is basically what I'd do if I was racing no restrictions too, how long did it take? 12:09 < bridge> I could only put an upper bound on your solve time because I didn't check the leaderboard until after struggling a bit 12:09 < bridge> I was ready to go too, so I don't think your timezone advantage changed anything 12:10 < bridge> Also the column properly displays the same value each time, tried ~30 times 12:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313462503392673832/image.png?ex=675038c7&is=674ee747&hm=96e81a11ca50f2a24d9013bf67c478900c70c184234a582941c0a039915b15e6& 12:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313462503677755402/image.png?ex=675038c7&is=674ee747&hm=30e49fcc3233b8e217bbd6b863578b0c3a4183e835fafeb4e438d6f14035f334& 12:12 < ws-client> 5min part 1 and 11 min part 2 which is super bad for tryharding xd @inv41idu53rn4m3 12:12 < bridge> Why is your second screen properly showing user IDs, but doesn't on the left one ? 12:12 < bridge> oh hey so my 15 minute guess was really close 12:12 < bridge> Im still at Work stop try Harding :monkaStop: :monkaStop: 12:12 < ws-client> yea was perfect 12:12 < bridge> it's a main question 😄 12:12 < bridge> idk 12:13 < bridge> on mysql all ok 12:13 < bridge> on mysql all ok (as on second screen) 12:16 < bridge> `qq/don't()d/do()df)` 12:16 < bridge> and then repeat the macro until the end of input to filter out the parts we don't want 12:16 < bridge> honestly agree that 11 min isn't too hot lol 12:16 < bridge> `qq/don't()d/do()df)q` 12:17 < bridge> and then repeat the macro until the end of input to filter out the parts we don't want 12:17 < bridge> honestly agree that 11 min isn't too hot lol 12:19 < bridge> Do edits go through the bridge? 12:20 < bridge> message is resend 12:20 < bridge> message is resent 14:39 < bridge> workaround 14:39 < bridge> 14:39 < bridge> `SET STATEMENT optimizer_switch='derived_merge=off' FOR SELECT ...` 14:39 < bridge> workaround (mariadb) 14:39 < bridge> 14:39 < bridge> `SET STATEMENT optimizer_switch='derived_merge=off' FOR SELECT ...` 16:05 < bridge> https://circt.llvm.org/ 18:10 < Igor370> hello... i have some bug in the game... in settings im enabled "show health" feature but... i cant see health... i dont installed any custom textures! 18:13 < Igor370> cool 19:35 < bridge> health is only shown in pvp mods 19:40 < bridge> <_voxeldoesart> juppey did u see my request 19:42 < bridge> Voxxel, which? 19:42 < bridge> <_voxeldoesart> this one 19:45 < bridge> oh wow how did i miss that xd 19:45 < bridge> 19:45 < bridge> u can try it out, i send u the file structure before didnt i 19:46 < bridge> but about the physics related sounds that was just an idea to make it even realisticer and have a more generel approach to it 19:48 < bridge> i send u a pm 19:48 < bridge> in case u have them muted 20:39 < bridge> @kebscs 20:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1313590532693561385/Screenshot_20241204_033926.jpg?ex=6750b004&is=674f5e84&hm=3d865bed37f5cd577fa792e12696368deaeb57a71b0c8ae6768b9fd6f7f7c328& 20:39 < bridge> discord hates me 20:40 < bridge> github hates me 20:40 < bridge> :justatest: 20:41 < bridge> why cant we keep in menu and not left click 20:41 < bridge> like last 2 months 20:42 < bridge> i just think it is weird that you are not allowed to do something when it is clearly available via other interactions (console excluded) 20:44 < bridge> but if you hate the excluding the first tee out of freeview very very much. i guess we could revert it. but we should definitely allow clicking on local tee in demo right? (not reverting all the way back) 20:45 < bridge> demo is good 20:46 < bridge> excluding first in freeview or hardcoding a delay feels bad 20:47 < bridge> can we at least try it? still got a few days. 20:48 < bridge> idk feel insonsistent 20:48 < bridge> how would you tell theres smth like that 20:48 < bridge> idk feel inconsistent 20:52 < bridge> you don't, but i doubt it would trigger people too. cuz i don't see a senario where you spec in and out of a single tee without any other interactions (move your mouse or look away a bit) 20:54 < bridge> also keeping in menu does not solve anything for confusion cuz i regularly get people asking in chn why they can't move the camera after pause. 20:54 < bridge> I also dont know why its in the menu 20:54 < bridge> i honestly thinks specing yourself is generally weird. but i got pushback 20:55 < bridge> it was removed for rc1 20:56 < bridge> what about a config to allow self spectating (in menu and clicking) maybe? 20:56 < bridge> so it is consistent and there if people really want it 20:57 < bridge> Maybe 20:57 < bridge> But multiview with local player is useful 20:57 < bridge> So it can be in menu i guess 20:59 < bridge> ok i'll grey it out when self spec is not turned on instead of removing it and allow multiview self always 20:59 < bridge> multiview needed some fixing too but we'll deal with it next version after auto spec cam is in. 21:00 < bridge> do we have a plan? 21:01 < bridge> is that okay? 22:00 < bridge> being greyed out when its already there would probably feel bad 22:10 < bridge> nah. i don't care anymore 22:10 < bridge> im doing that 22:12 < bridge> but i am getting some sleep first tho 22:12 < bridge> it's 5am:kek: