00:00 < bridge> o shit 00:00 < bridge> where chiller 00:00 < bridge> filing a missing persons report rn 01:22 <+ws-client> wot ewan im here wat happend 01:23 < bridge> o u didnt see my msg 01:23 < bridge> i just asked for a review on some bash thing i did 01:24 < bridge> i hardly proofread this but it does work 01:24 < bridge> 01:25 < bridge> well it worked yesterday 01:25 < bridge> now i think it's not saving the key or something 01:25 < bridge> but whatever 01:31 < bridge> @chillerdragon why huge afk 01:31 < bridge> yo Ewan 01:34 < bridge> Idk I wasn’t gone that long was I? 01:35 < bridge> Bruv ewan I am too lazy to check your entire thing. I found two non problematic things but they are general so you can add them to your bash toolkit. 01:35 < bridge> 1. don’t use echo 01:35 < bridge> 2. handle errors 01:36 < bridge> https://github.com/ewancg/spotifyd-notification/blob/master/spotifyd-notification#L136 this method can throw with exit code 1 but it’s in a subshell so it won’t exit the script. And you also don’t quote it so it might shell expand. 01:37 < bridge> Use `if var=„$(subshell)“` to check or use bash strict mode aka set -e 01:37 < bridge> o u dont have to read it all 01:37 < bridge> if u dont want to 01:38 < bridge> The reason why echo is trol is it’s not reliable 01:38 < bridge> And when you run into its edge cases you will be sad 01:38 < bridge> what kind of edge cases 01:38 < bridge> Run those commands in your terminal 01:38 < bridge> echo -a 01:38 < bridge> echo -b 01:38 < bridge> echo -c 01:39 < bridge> echo -d 01:39 < bridge> echo -e 01:39 < bridge> Notice anything unexpected? 01:39 < bridge> wher e-e 01:39 < bridge> my head hurts 01:39 < bridge> It gone 01:39 < bridge> It activated the color mode thingy 01:40 < bridge> damn 01:40 < bridge> https://youtu.be/lq98MM2ogBk 01:40 < bridge> But ye it’s rare that you run into it and printf is more annoying to type 01:41 < bridge> Just wanted to let you know. But the error handling thing you should fix 01:41 < bridge> mostly i like the trailing newline 01:41 < bridge> i didn't know about the -e thing 01:41 < bridge> hi i missed this 01:42 < bridge> so what did u say i wasnt quoting chiller 01:42 < bridge> https://github.com/ewancg/spotifyd-notification/blob/master/spotifyd-notification#L68 01:42 < bridge> Here you use printf without %s 01:42 < bridge> That’s also bad practice 01:42 < bridge> o_o 01:43 < bridge> There is also echo -n 01:43 < bridge> Which sends no newline xd but don’t use echo 01:43 < bridge> why need %s 01:43 < bridge> this aint c 01:43 < bridge> It’s like c 01:44 < bridge> Here you didn’t quote. But more importantly you ignore if that subshell fails with exit code 1. if you get back an error you still continue running here https://github.com/ewancg/spotifyd-notification/blob/master/spotifyd-notification#L136 01:45 < bridge> https://github.com/ewancg/spotifyd-notification/blob/master/spotifyd-notification#L139 01:45 < bridge> Im 01:45 < bridge> On phone bruv so annoying to do this kind of stuff 01:45 < bridge> no need 01:45 < bridge> my head is pounding rn 01:46 < bridge> Why? 01:46 < bridge> i can hardly intuit ur feedback anyway 01:46 < bridge> idk 01:46 < bridge> Too much Friday party? 01:46 < bridge> lol 01:46 < bridge> no i just fucked up like that i guess 01:46 < bridge> im 01:47 < bridge> Ok time for coffee. Nice that you are bash enjoyer. 01:58 < bridge> bash slower than pyson :( 02:09 < bridge> i definitely should have used python for this 02:29 < bridge> write in c! 02:29 < bridge> yes! 08:06 < bridge> morning 08:06 < bridge> https://tenor.com/view/anime-coffee-gif-24657578 08:07 < bridge> mornigng 08:07 < bridge> https://tenor.com/view/coffee-overflow-spill-drink-kobuyasu-gif-16826930 08:57 < bridge> write in Rust! 08:57 < bridge> nah 08:57 < bridge> im not writing my scripts in rust. 08:57 < bridge> please no 09:04 < bridge> gm 09:04 < bridge> write them in assembly 09:05 < bridge> then it won't work on other machines xd 09:05 < bridge> pyson or c is the way! 09:06 < bridge> i always wondered, why `pyson` ? or is that just a habit :D 09:06 < bridge> why backticks 09:06 < bridge> i don't want to directly mention that devilish language 09:07 < bridge> i didnt know we hate python on here? 09:07 < bridge> i didnt know we hate python on here :o 09:07 < bridge> to `flex` 09:07 < bridge> is that just a habit 09:07 < bridge> #huh? 09:07 < bridge> # huh? 09:07 < bridge> **HUUUH** 09:08 < bridge> how dare you 09:08 < bridge> Melon do you know anything abt that script that changes your status based on your spoitfy lyrics 😭 🙏 09:09 < bridge> https://github.com/doxyf/StatusLyrics 09:09 < bridge> first thing google gives 09:10 < bridge> The one I was using was by ovalquilter, it broke a few hours agoand so I'm tryna find a replacement :spongebobsad: 09:15 < bridge> did you try out his fixes on his discord? 09:15 < bridge> ``` 09:15 < bridge> Some errors that may occur while using Lyrics Status and potential fixes 09:15 < bridge> 09:15 < bridge> 404 - Try clearing your cache and Spotify cookies (you'll need to login again) 09:15 < bridge> 09:15 < bridge> 502 - Wait a couple minutes or reload the webpage. It may be a problem with Spotify as opposed to the script. 09:15 < bridge> ``` 09:18 < bridge> It won't be totally incorrect if I translate "Hook collision line" as "Hook trajectory line"? 09:20 < bridge> i think u shouldn't change phrasing unless it doesn't make sense otherwise 09:34 < bridge> Other opinions? 09:37 < bridge> its a collision trajectory line, so either we call it `Hook collision trajectory line` if you want to 100% accurately describe it, or leave as is, i dont like `Hook trajectory line` 09:38 < bridge> (even tho the trajectory under heavy velocity is wrong ingame) ^^ 09:39 < bridge> (even tho the trajectory under heavy velocity is kind of wrong ingame) ^^ 09:42 < bridge> "Stealing everything you’ve ever typed or viewed on your own Windows PC is now possible with two lines of code — inside the Copilot+ Recall disaster." 09:42 < bridge> https://doublepulsar.com/recall-stealing-everything-youve-ever-typed-or-viewed-on-your-own-windows-pc-is-now-possible-da3e12e9465e 09:52 < bridge> btw remember to opt out of https://spy.pet/ 09:52 < bridge> xd 10:00 < bridge> what is this #ffffff on #000000 website xd 10:01 < bridge> idk xD 10:05 < bridge> #### 10:05 < bridge> \#\#\#\# 10:08 < bridge> +1 reason for Ukraine to join EU 10:22 < bridge> Like, really, GDPR rocks 10:22 < bridge> Like, really, GDPR rocks, too bad it is only in EU 10:27 < bridge> Also, well, too bad I am not savvy enough to make a dualboot 10:33 < bridge> love this quote at the end of this: 10:33 < bridge> 10:33 < bridge> `They need to eat some humble pie and just take the hit now, or risk customer trust in their Copilot and security brands.` 10:35 < bridge> > eat some humble pie and \<...> take the hit 10:35 < bridge> 10:35 < bridge> https://youtu.be/Eer3YnRx_d8 10:36 < bridge> i like zellij 10:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246381936201695345/image.png?ex=665c2f22&is=665adda2&hm=7aeb5ef8591114d7c541ca52e0cbf8c9158967cc8622823a60d21fc3d12d4432& 10:38 < bridge> aim skill issue 10:39 < bridge> insane how many editors and similar stuff are out there 😄 11:37 < bridge> BTW, I passed the 90% mark. Now it is time for me to ask about strings I have no clue about their meaning, where they appear etc.\\ 11:37 < bridge> BTW, I passed the 90% mark. Now it is time for me to ask about strings I have no clue about their meaning, where they appear etc. 11:38 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246397333520912434/8fdfa17d760758b6.png?ex=665c3d79&is=665aebf9&hm=b671e0b1ebca42e1afa25f6114063849de809d5806238397d503cebda80744b1& 11:38 < bridge> First of, "Leak IP". Why? 11:38 < bridge> because ddnet is ip grabber 11:39 < bridge> no its actually to find the servers real ping or something like that 11:39 < bridge> because if you dont leak ip or join the server it will just show euro/whatever in the ping 11:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246397805954727986/7c5b19753e6f5feb.png?ex=665c3de9&is=665aec69&hm=315350fc0b12247183e0f580d1f43b6726406a26a3f59ef0f6b0e312cae85473& 11:39 < bridge> Wrong 11:40 < bridge> you joined the server before 11:42 < bridge> Oh yeah 11:44 < bridge> Didn't read careful enough 11:57 < bridge> Wrong! 12:22 < bridge> Urgh 12:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246408570875023370/KiBs.png?ex=665c47f0&is=665af670&hm=4a1fb178f086ae939296cc9e3285d699d863a1e404ea32e21f0769cc3f4ffed5& 12:22 < bridge> Another untranslatable string 12:23 < bridge> When downloading a map it shows `KiB` and `KiB/s` instead of, in my case, `КіБ` and `КіБ/с` 12:25 < bridge> this is nitpicking at that point imho :D 12:26 < bridge> Maybe-maybe, but still 12:31 < bridge> do you really use different abbreviations for measurements like that 12:32 < bridge> they seem to translate that yes 12:32 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246411021527154688/image.png?ex=665c4a38&is=665af8b8&hm=99193f1c907de3390f47ff8414ec477065b97e6e354c9c2b90a1b67c97d8ec63& 12:32 < bridge> Yes, because we have a different alphabet from lating 12:32 < bridge> Yes, because we have a different alphabet from latin 12:32 < bridge> no kidding 12:32 < bridge> lmao 12:33 < bridge> What's now? 12:33 < bridge> yeah jupster? ragebaiting smh 12:33 < bridge> is this some translator site 12:33 < bridge> yes, no jokes, that's how we abbreviate measurements 12:34 < bridge> but would it do that if you went into File Explorer or something 12:34 < bridge> Yes 12:34 < bridge> then do it 12:34 < bridge> kind of - its more of a "context" checking website 12:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246411565633114183/ee413c98c6a84549.png?ex=665c4aba&is=665af93a&hm=f8d50832c38c3431909c6efdc63dd2a2c9464aa53fd40b23f5d2a03989fb57be& 12:34 < bridge> But there is no string to do it 12:34 < bridge> then pull request 12:35 < bridge> you know how it ended last time, don't you? 12:35 < bridge> all you have to do is wrap the string literal with Localize() 12:35 < bridge> well your prior Pull request revealed an error in localizable where the context is never used - so i'd call that a win 12:36 < bridge> rather a Pyrrhic victory, because `breakdown` 12:37 < bridge> so yeah, don't expect me to make such a PR anytime soon ☠️ 12:40 < bridge> im confused, %.2f KiB is translated? 12:40 < bridge> ```st 12:40 < bridge> %.2f KiB 12:40 < bridge> == 12:40 < bridge> ``` 12:40 < bridge> 12:40 < bridge> ```cpp 12:40 < bridge> str_format(aBuf, sizeof(aBuf), Localize("%.2f MiB"), Size / 1024.0f); 12:40 < bridge> else 12:40 < bridge> str_format(aBuf, sizeof(aBuf), Localize("%.2f KiB"), Size); 12:40 < bridge> ``` 12:40 < bridge> or is it that it just wont work? 12:41 < bridge> ah wait im fucking stupid 12:41 < bridge> this is demo 12:41 < bridge> :kek: 12:45 < bridge> Yes, that's only demo 12:47 < bridge> Another nitpick: sometimes the string uses `...` and sometimes it uses `…` 12:48 < bridge> Another nitpick: in original strings sometimes it's `...` and sometimes it's `…` 12:48 < bridge> I agree with all this nitpicking 12:48 < bridge> I do the same 12:55 < bridge> Old strings use `...`, new strings use `…`. We could replace them with `…` in all translation to make it consistent I guess. 13:16 < bridge> Why not replace with `...` instead, so you don't have to copy `…` from the string? 13:16 < bridge> there’s probably a reason for using the ellipsis character in the first place 13:21 < bridge> accounts soon? 🥺 13:21 <+ws-client> https://tube.zillyhuhn.com/videos/users/chiller/gopher_07.mp4 lerato check this out im go enjoyer too now xd 13:21 <+ws-client> learn go in one day was a full success 13:22 <+ws-client> ok tbh i still have no idea how go works but hey i managed to spawn a tee on a 0.7 server 13:22 <+ws-client> time to make some 10s tiktok saying "HOW I LEARNED GO FOR GAME DEV IN ONE DAY" 13:26 < bridge> I suppose it gives translators a better hint that it's an ellipsis instead of just three dots. Also for example in Japanese, dots and ellipsis may be displayed differently. 13:27 < bridge> chillerdragon: https://youtu.be/MAlSjtxy5ak?si=TGFZV9OU3Dq_0rgn make like this but with go :santatrollet: 13:30 < bridge> now learn this one https://youtu.be/P3QL1TXIYlM 13:32 < bridge> Lmao that video already had a like from me 13:34 < bridge> Wtf is that intro 13:44 < bridge> This is the power of go. They have embraced the "itjustworks" mentality. No wrestling with language features, you just write code (at the cost of performance (but not as bad as python) and at the cost of memory footprint(but not as bad as Java)) 13:55 < bridge> I was struggling quite a bit 13:55 < bridge> Was almost as bad as my teeworlds client in assembly experience 13:55 < bridge> So far the second hardest language I used to try to create a tw connection 13:56 < bridge> My Byte slices had random values at some point. And I wasted a lot of time on figuring out how to do a non blocking read. And somehow my lsp can’t even autocomplete my variables or methods. 14:03 < bridge> which LSP ? mine worked 14:05 < bridge> Huh, gopls (the lsp) has been working very well for me 14:09 < bridge> and it's blazingly fast 14:10 < bridge> 🚀 14:11 < bridge> My favourite part is definitely how easy concurrency is and how simple channels make it 14:12 < bridge> Yep gopls 14:13 < bridge> :lol: 14:13 < bridge> Must be a skill issue but I somehow expected it to be smoother given how ppl keep saying it’s good hehe 14:14 < bridge> Oh yea it’s also horribly slow to go to function definitions in a 29 line file 14:14 < bridge> chiller: staypls 14:14 < bridge> stay where 14:14 < bridge> At C ? 14:14 < bridge> dont go 14:14 < bridge> Yes but where 14:15 < bridge> i dont c where 14:15 < bridge> lol 14:15 < bridge> hm interesting why can't rust have out-crate derive macro semantics 14:15 < bridge> Today I found out there is a programming language called B 14:15 < bridge> BPL? 14:15 < bridge> bpls 14:15 < bridge> chiller wait till u hear about D 14:15 < bridge> ye don't forget about R 14:16 < bridge> R 14:16 < bridge> F# 14:16 < bridge> A+ 14:16 < bridge> That’s a thing? 14:16 < bridge> Honestly go is as smooth as it gets. The only thing that remotely confused me was capacity of slices at the very start 14:17 < bridge> you use go at work right 14:17 < bridge> I did not fully understand packaging yet and recommended names 14:17 < bridge> If I make a teeworlds client how should the package be called? 14:18 < bridge> chillerbot 14:18 < bridge> i guess 14:18 < bridge> i work with go as well :owo: 14:18 < bridge> lol 14:18 < bridge> what kind of pkg even? 14:19 < bridge> Idk if I don’t rq tomorrow maybe a lib to make chat bots and stuff 14:19 < bridge> a pkg where tho 14:19 < bridge> Good question xd 14:19 < bridge> it's usually p str84wrd 14:19 < bridge> brah 14:20 < bridge> Go docs mention something about not using abbreviations or more than one word xd 14:20 < bridge> oh a go pkg 14:20 < bridge> no idea 14:20 < bridge> chillerdragon: when rewrite ur chat in go and templ 🤨 14:20 < bridge> https://go.dev/blog/package-names 14:21 < bridge> This is a bit non obvious to me 14:21 < bridge> Sounds like I should call it „teeworlds“ 14:21 < bridge> i mean, yea 14:21 < bridge> There isn’t really conflicting names in go right? 14:21 < bridge> Because you install from source url? 14:27 < bridge> and another one: some strings have `:` in them, some don't 14:28 < bridge> you can have multiple packages with the same name, aslong as the actual source url is different 14:28 < bridge> 14:28 < bridge> for example there are 4 `protobytes` packages: 14:28 < bridge> 14:28 < bridge> ``` 14:28 < bridge> github.com/fuck-clash/protobytes 14:28 < bridge> github.com/siding9241/protobytes 14:28 < bridge> git.hiifong.cc/mirrors/protobytes 14:28 < bridge> github.com/eyslce/protobytes 14:28 < bridge> ``` 14:29 < bridge> ok nvm, 18 packages called protobytes :kek: 14:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246440584118407178/image.png?ex=665c65c1&is=665b1441&hm=1876c4ded63938d5473bf766e1e2e62f83e8bb85ccb935d0e9432676eb7ae3e2& 14:35 < bridge> monkeytype added activity thingy as on github 14:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246442093891551323/image.png?ex=665c6728&is=665b15a8&hm=1b1102c4d379f6ca5b2e9c6ff1e97477e9f5b2b36dbb5aab39dd54ae959c9c09& 14:36 < bridge> monkeytype added activity thingy as on github 14:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246442159926673509/image.png?ex=665c6738&is=665b15b8&hm=a78bba36e3123d9e641b8afe9d713700055d655ee25c8ecdd29d55d949d5f40b& 14:45 < bridge> nice 14:45 < bridge> i can't go past 12 months to see my old activity :feelsbadman: 15:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246448999997640836/6d80412201427b90.png?ex=665c6d97&is=665b1c17&hm=3188c920216e8bbfd9bfa6c4c949530c93c95353065b5c7e497faefbdd69d4e6& 15:03 < bridge> wtf 15:03 < bridge> I crashed DDNet by rendering demo into a video with a filename of `?` 15:04 < bridge> white design is prohibited here xd 15:04 < bridge> create issue on gh 15:04 < bridge> I thought it would tell me `Please use a different filename`, but it didn't 15:05 < bridge> You get that message when you cut a demo and use the same name as the original demo 15:06 < bridge> oh well 15:06 < bridge> I discover more and more bugs by translating stuff than by actually playing it 15:06 < bridge> Doesn't crash for me on Windows, which OS and client version are you on? 15:11 < bridge> twcl? idk 15:30 < bridge> Windows 11, 18.2 15:33 < bridge> Do you have a recent crash log in the `dumps` folder in your config dir? 15:35 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246456986489323591/1.RTP?ex=665c7507&is=665b2387&hm=65c73896de4754346092ecb9951ce9e06bb6c94e89b99863fdee6d4f178ace77& 15:35 < bridge> original filename: DDNet\_win64\_crash\_log\_2024-06-01\_16-02-07\_14300\_d858aa41ae7e6307cb96b449503666252b675c00 15:35 < bridge> original filename: DDNet\_win64\_crash\_log\_2024-06-01\_16-02-07\_14300\_d858aa41ae7e6307cb96b449503666252b675c00. RTP 15:35 < bridge> original filename: DDNet\_win64\_crash\_log\_2024-06-01\_16-02-07\_14300\_d858aa41ae7e6307cb96b449503666252b675c00.RTP 15:37 < bridge> so, yeah, kids, don't name your files with forbidden characters 15:40 < bridge> thanks, can be reproduced with 18.2, should be fixed in nightly by #8302 15:40 < bridge> https://github.com/ddnet/ddnet/pull/8302 15:41 < bridge> crazy stuff 15:42 < bridge> that's why I love Free Software 15:45 < bridge> and, just in case: 15:45 < bridge> 15:45 < bridge> 1. I press the "Render" button and name video file `?` 15:45 < bridge> 2. I press the "OK" button and it shows up a demo player with the demo stuck on the first frame 15:45 < bridge> 3. I press the "Close demo player" button, and the game crashes 15:50 < bridge> as mentioned, this was reproducable and is fixed now, it will correctly tell you if you're using an invalid string or a duplicate name when you use nightly (beta) 15:51 < bridge> as mentioned, this was reproducable and is fixed now, it will correctly tell you if you're using an invalid string when you use nightly (beta) 15:58 < bridge> Okaaay 16:27 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246470184898793552/df53b7be5f01c6dc.png?ex=665c8152&is=665b2fd2&hm=cc3c794903dcff9ee2ea43678793ad6129eadb143a6fbec2ceaab0aaa6f03255& 16:28 < bridge> I don't even know if it is a nitpick, but if the string for `Please use a different filename` is too long, it makes a new line 16:38 < bridge> That's intentional, the popups message should support multiple lines if the message is longer 16:38 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246472871795232961/image.png?ex=665c83d2&is=665b3252&hm=f637365a641e9d84f05a0ba2056899c3f562a1c1186b98b4f51d81ff6db0a314& 17:06 < bridge> how bad is this @learath2 ? my terminal just closes :kek: 17:06 < bridge> 17:06 < bridge> ```go 17:06 < bridge> package main 17:06 < bridge> 17:06 < bridge> import ( 17:06 < bridge> "fmt" 17:06 < bridge> ) 17:06 < bridge> 17:06 < bridge> func PrimeFactors(n int) []int { 17:06 < bridge> var factors []int 17:06 < bridge> for i := 2; i*i <= n; i++ { 17:06 < bridge> for n%i == 0 { 17:06 < bridge> factors = append(factors, i) 17:06 < bridge> n /= 1 17:06 < bridge> } 17:06 < bridge> } 17:06 < bridge> if n > 1 { 17:06 < bridge> factors = append(factors, n) 17:06 < bridge> } 17:06 < bridge> return factors 17:07 < bridge> } 17:07 < bridge> 17:07 < bridge> func main() { 17:07 < bridge> number := 600851 17:07 < bridge> factors := PrimeFactors(number) 17:07 < bridge> fmt.Printf("factor of %d is: ", number) 17:07 < bridge> for _, factor := range factors { 17:07 < bridge> fmt.Print(factor, " ") 17:07 < bridge> } 17:07 < bridge> } 17:07 < bridge> go hard 17:08 < bridge> one thing i dont like about go is that you have to name things with uppercase letter to make it public and lowercase to make private 17:09 < bridge> yuck 17:10 < bridge> your nested loop looks a little absurd 17:10 < bridge> not a big fan of forced naming or whitespace conventions 17:10 < bridge> anyone's plasma shit the bed when returning from sleep or locked btw 17:10 < bridge> mine does like every time and it's getting old 17:10 < bridge> Yeah this is so annoying, go really needs a better way of doing visibility 17:12 < bridge> I'm guessing you are looking for `if n%i == 0 {; n /= i; }` 17:12 < bridge> i just turned it off 17:12 < bridge> turn what off 17:12 < bridge> the bug? xd 17:13 < bridge> sleep on plasma, it took ages to wake up 17:13 < bridge> oh no 17:13 < bridge> need sleep 17:13 < bridge> power bill 17:13 < bridge> i searched the WWW and couldnt find a good solution, so i just turned it off loll, 17:13 < bridge> i searched the WWW and couldnt find a good solution, so i just turned it off lol 17:13 < bridge> damn 17:14 < bridge> in my case the dock and desktop and things like that go completely unresponsive 17:14 < bridge> and they are kept in place by the window manager but they don't respond so they are just painted with null brush, i.e. whatever was in front of it 17:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246482138128322693/IMG_5517.jpg?ex=665c8c74&is=665b3af4&hm=068c41d8bff1fbaaebd2facfa0fcd444e275ba938f4f43c63727d9abcf833821& 17:15 < bridge> hmm 17:15 < bridge> i think u get the picture 17:15 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246482378025603152/IMG_5518.jpg?ex=665c8cad&is=665b3b2d&hm=0aeb3a50686a1de82878a712aea8e7dc0718f0b21689364871c56bf71bd683e9& 17:16 < bridge> thoroughly fucked up 17:16 < bridge> whatahell - i luckily didnt have that issue XD - my problem was that it took like 3 minutes to actually wake up 17:16 < bridge> that is too long 17:16 < bridge> gg i divided by 1 17:16 < bridge> from sleep or hibernate? 17:17 < bridge> or auto lock 17:17 < bridge> which is neither 17:17 < bridge> sleep 17:17 < bridge> bizarre 17:17 < bridge> i can't rly think of anything that should get in the way of resuming from sleep 17:17 < bridge> ironically my desktop feels smoother on integrated graphics :feelsbadman: 17:17 < bridge> the terrible state of the nvidia driver 17:19 < bridge> the proprietary one has been fine for me for years now 17:19 < bridge> which gpu 17:19 < bridge> when i was running various cards on the 10 series there were very few issues 17:19 < bridge> but i'm on a 3060 now and it's terrible 17:19 < bridge> 1080, so it is on the older side 17:20 < bridge> yeah 10 series was great for me 17:20 < bridge> i ran a 1050, a 1060 6GB and a 1070 TI on the nvidia driver with very few issues 17:22 < bridge> a part of it is that the new driver only supports turing and newer, and iirc when I was using arch before they actually had separate packages for the newest cards at the time. maybe just a different driver eventually got merged or re-configured to be the main nvidia driver as it matured 17:22 < bridge> sry, new driver = OSS driver 17:22 < bridge> 4090 17:22 < bridge> what about it 17:22 < bridge> just little brainwashing 17:22 < bridge> for my not payment from nvidia 17:22 < bridge> i could never afford it 17:22 < bridge> u have a liver 17:22 < bridge> if i was gonna sell my liver i'd fix my car 17:23 < bridge> u *still have a liver 17:23 < bridge> or move out 17:24 < bridge> but yeah my shell is just completely fucked LOL 17:24 < bridge> and a lot of the apps running under it become unresponsive or must be resized to be restored from a black screen state 17:25 < bridge> Well this is not the proprietary driver, have you tried that one? 17:26 < bridge> yeah 17:26 < bridge> im on the proprietary one rn 17:26 < bridge> @learath2 when u have time for aggounts 17:26 < bridge> but i don't think it's an entirely separate driver necessarily 17:26 < bridge> Tomorrow perhaps, I'm a little full today 17:26 < bridge> sounds fine 17:26 < bridge> i think it's their proprietary driver that's been open sourced and modified to be "presentable" 17:26 < bridge> but is functionally the same 17:27 < bridge> iirc the OSS driver was their data center driver so not quite the same really 17:27 < bridge> i see 17:27 < bridge> im currently on beta driver 555 17:27 < bridge> because that supports explicit sync 17:27 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246485403482194022/screenshot_2024-06-01_18-26-18.png?ex=665c8f7e&is=665b3dfe&hm=081ccd059b2a21fc5310bfe91bdd41922725499ea4ce2b0c178be1d5fe803491& 17:28 < bridge> That's definitely a bug 17:28 < bridge> what is 17:28 < bridge> It cuts off tex 17:28 < bridge> It cuts off text 17:28 < bridge> where 17:28 < bridge> Near the red circle 17:28 < bridge> cant you see, he sent the screenshot :santatrollet: 17:28 < bridge> its not a bug, you should fit in char array buffer xd 17:28 < bridge> ewan our native ukraine speaker 17:28 < bridge> cant see 17:29 < bridge> it 17:29 < bridge> you can try enlarge it but hey we have 5:4 where it will not fit at all 17:29 < bridge> i think u can wrap it 17:29 < bridge> depending on the method used to render the text there 17:29 < bridge> It is a big, because I do fit in char array buffer 17:30 < bridge> wouldn't cut it off if it fits in buffer 17:31 < bridge> it just copies everything and if your string is a bit larger it will just put `'\0'` at the end 17:31 < bridge> Might, not all boxes dynamically resize text or grow 17:31 < bridge> but it would look graphically cut off, usually not perfectly 17:31 < bridge> That's why you should have UI adapting to the length of the string 17:32 < bridge> that would look horrible on smaller resolutions 17:32 < bridge> no i don't really want to see 2px text on my monitor just because translation doesn't fit well 17:32 < bridge> We should add chromium and render ui with html 17:32 < bridge> ye especially in news feed xd 17:33 < bridge> oh my god yes please - i proposed that to stormax like half a year ago into his custom client! 17:33 < bridge> Reimplement teeworlds in js and electron 17:33 < bridge> he's saying the box resizes to the text 17:33 < bridge> not vice versa 17:33 < bridge> though there are some spots where it does that 17:34 < bridge> There are both in the code iirc 17:34 < bridge> i mean this 17:34 < bridge> \~\~my condolences to everyone who has a 320x240 monitor\~\~ 17:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246487079744049152/image.png?ex=665c910e&is=665b3f8e&hm=0a7ea0645a214d40682ee489bd1db23230a2879290586cb0989814fd192b8e0e& 17:34 < bridge> \~my condolences to everyone who has a 320x240 monitor\~ 17:34 < bridge> ~~my condolences to everyone who has a 320x240 monitor~~ 17:34 < bridge> Which one of those strings is cut off btw? 17:35 < bridge> first one and last one 17:35 < bridge> This looks like it can just be made to grow 17:35 < bridge> Replay is cut here: 17:35 < bridge> Manual 00:05 Race 00:04 Auto 00:47 Repl 17:36 < bridge> I don't mean that 17:36 < bridge> "Don't change the font size, change the button size instead" 17:37 < bridge> right 17:37 < bridge> that doesn't always work 17:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246487897037869156/image.png?ex=665c91d1&is=665b4051&hm=a38b04c084ba611d25273a34ce4c452812999b51ae2f28d303712d1cd8e26ed8& 17:38 < bridge> fits 17:38 < bridge> eventually the font size bottoms out lol 17:38 < bridge> :cammostripes: 17:38 < bridge> peak GUI, what do u mean 17:38 < bridge> add that to your version ty 17:38 < bridge> yeah but still 5:4 17:38 < bridge> hater 17:39 < bridge> Valve, please, fix DDNet GUI 17:39 < bridge> im learning GO right now - be proud 17:40 < bridge> I'm gonna learn Esperanto 17:40 < bridge> MHHHHHHHHHHHH 17:40 < bridge> why go tho? 17:40 < bridge> what is valve's new gui thing 17:40 < bridge> that they use in dota 17:40 < bridge> and uhh 17:40 < bridge> whats it 17:40 < bridge> the new game in beta 17:40 < bridge> seems like it would actually be nice to use for game UIs if it was open source 17:41 < bridge> It's a miracle that my translation fits almost perfectly 17:41 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246488719335100506/27f9095501baf749.png?ex=665c9295&is=665b4115&hm=67aa85af01c039cacff65fcd55d9db2c9f734cacbda81c2ed25b9823b897ae30& 17:41 < bridge> Keyword: almost 17:41 < bridge> i wanted to see myself why people praise GO to be a good "beginner" language - and it competes with rust in terms of speed 17:42 < bridge> never xd 17:42 < bridge> oh key problem here that it concats all the things in one string and then renders in box 17:42 < bridge> go uses GC 17:42 < bridge> but since learath likes it, it might still be a good lang 17:43 < bridge> i know another C wizard who is partial to go 17:43 < bridge> maybe it's a thing 17:44 < bridge> ye its easy to write anything in go 17:44 < bridge> prototyping speed is really high there 17:44 < bridge> in rust, when u code smth and it compiles it magically works 17:44 < bridge> ye so you don't really debug runtime problems but compile time 17:45 < bridge> xD 17:45 < bridge> friend of mine whos go dev hates rust so much 17:45 < bridge> he started his list of rust problems 17:45 < bridge> and u still call him your friend? 17:45 < bridge> this happens to me so much 17:45 < bridge> but not in rust 17:45 < bridge> one of them is that he can't put serde derive macro on out-of-crate structs 17:46 < bridge> and is able to do so in csharp and go 17:46 < bridge> i go down crazy refactor rabbit holes and if it compiles it's usually good enough for me 17:46 < bridge> but i hate it 17:46 < bridge> ~~sfinae~~ 17:46 < bridge> that might suck, but which crate does not implement serde? xd 17:46 < bridge> maybe adhd thing 17:46 < bridge> idk 17:46 < bridge> yea 17:46 < bridge> he also tried to prove me that i can do so in java 17:46 < bridge> and 17:46 < bridge> out-of-package type implemented Serialized interface 17:47 < bridge> uff 17:47 < bridge> java 17:47 < bridge> like xd 17:47 < bridge> your type IS serializable 17:47 < bridge> go is one thing 17:47 < bridge> but java is another 17:47 < bridge> another level of disrespect 17:47 < bridge> he also said that aot compiling allows to use reflection in its fullest 17:48 < bridge> i use micro which is written in go 17:48 < bridge> but i dunno what java app i use 17:48 < bridge> what reflection? 17:48 < bridge> type reflection ig 17:49 < bridge> introspection and so 17:49 < bridge> ah that shit 17:49 < bridge> the worst part about java xd 17:49 < bridge> is it 17:49 < bridge> helps for runtime loading of classes and for error handling 17:51 < bridge> go takes it one step further by making it easier to write code that compiles (at great cost to performance or memory footprint that is) 17:52 < bridge> the gc comes with many downsides that are common to all gc'd languages, the cost of not having to think about memory management at all is always performance, I would probably never write a game in go, it's impossible to give the gc a deadline so it'd give you inconsistent frame times 17:53 < bridge> go wouldnt be my "go-to language"(no pun intended) for things that require performance 17:53 < bridge> its just easy to get started and write working stuff 17:53 < bridge> tbh for me it's not so much about GC. You know that i am biggest RAII fan 17:54 < bridge> Ah yep, no raii is a bit of a paradigm shift 17:54 < bridge> i just think with most GC models the code cannot be clean 17:54 < bridge> and yes i am hater 17:54 < bridge> as a C enjoyer, I was used to not having RAII anyway 17:54 < bridge> i mostly wrote code in java & typescript when it comes to GC 17:54 < bridge> so i cannot really judge about it 17:54 < bridge> but i disliked writing in those languages, even if they clearly had other benefits 17:55 < bridge> I need to find a youtube video to watch while I cook very quickly 17:55 < bridge> yeah, many other things to dislike in java and typescript before you get to the gc 17:56 < bridge> rust has no async drop, that kinda sucks too xdd 17:57 < bridge> on other hand side, i guess i prefer to use as few async as possible anyway 17:57 < bridge> async is simply always hard 17:57 < bridge> one reason i hate typescript too 17:57 < bridge> u cannot opt out of async really 17:58 < bridge> I'm still not completely sold on the idea of async with green threads, but I just trust that people smarter than me ran the numbers on them 😄 17:59 < bridge> it really depends on the task anyway. 17:59 < bridge> but generally it scales up to a certain degree 17:59 < bridge> if u have 200 database connections that are mostly busy u don't want 200 threads too 17:59 < bridge> @blaiszephyr didnt u do the benchmarks 17:59 < bridge> 😏 18:00 < bridge> kernel schedulers got better too, I wonder how bad that is nowadays 18:00 < bridge> yep, but i'd say windows still sucks 18:00 < bridge> i did bombard my rustAPI with requests once yes, didnt really benchmark it tho :D 18:00 < bridge> i sent 50 requests every second and saw if it still operates normally 18:00 < bridge> mhh i thought i get epyc benchmarks now 18:01 < bridge> @gerdoe go benchmark api really quick, im not on linux atm 18:01 < bridge> it sucks cuz http1 18:02 <+ws-client> http1 xd 18:02 < bridge> html5 sounds funnier 18:08 < bridge> wanted to stick userver here as a nice example of async code, but it looks like usual code xdd 18:08 < bridge> still async thoguh 18:08 < bridge> though 18:11 < bridge> https://discord.gg/DNmWka9s 18:11 < bridge> серв для русских 18:14 < bridge> mods asleep? 18:14 < bridge> dude just felt like using every channel he has available smh 18:14 < bridge> i dont get that 18:15 < bridge> ur basically guaranteeing deletion of all the invites 18:37 < bridge> So, uh, I need to make a list of issues I have, because I forgot some of them X\_X 18:59 < bridge> the preferred solution would be to make GitHub issues as you find them 19:00 < bridge> cuz we can discuss them in here all day but then people will forget about them unless they're tracked 19:18 < bridge> sooo, the list is something like this 19:18 < bridge> [x] "Spectate" to "Spectating" in the right bottom corner of the Spectator UI 19:18 < bridge> [ ] "Name" is used both in server browser and everything else, which creates "Ім'я/Назва" issue 19:18 < bridge> [ ] UI doesn't adapt to strings (it's rather strings adapting to UI by changing the font size) 19:18 < bridge> [ ] "DDNet" (as the tab in settings) is translatable and Tee (as the tab in settings) is not 19:18 < bridge> [x] The "KiB" and "KiB/s" are not translatable 19:18 < bridge> [x] Strings like "%s players/servers/mentions/minutes/seconds" don't support plural rules different from English ones 19:18 < bridge> [ ] "Empty demo" and "Error reading demo header" strings are not translatable 19:18 < bridge> [ ] Sometimes strings use `...` and sometimes they use `…` 19:18 < bridge> [] Also there are strings that are followed by `:`, while some strings get `:` in the game 19:18 < bridge> sooo, the list is something like this 19:18 < bridge> [x] "Spectate" to "Spectating" in the right bottom corner of the Spectator UI 19:18 < bridge> [ ] "Name" is used both in server browser and everything else, which creates "Ім'я/Назва" issue 19:18 < bridge> [ ] UI doesn't adapt to strings (it's rather strings adapting to UI by changing the font size) 19:18 < bridge> [ ] "DDNet" (as the tab in settings) is translatable and Tee (as the tab in settings) is not 19:18 < bridge> [x] The "KiB" and "KiB/s" are not translatable 19:18 < bridge> [x] Strings like "%s players/servers/mentions/minutes/seconds" don't support plural rules different from English ones 19:18 < bridge> [ ] "Empty demo" and "Error reading demo header" strings are not translatable 19:18 < bridge> [ ] Sometimes strings use `...` and sometimes they use `…` 19:18 < bridge> [ ] Also there are strings that are followed by `:`, while some strings get `:` in the game 19:18 < bridge> Damn 19:20 < bridge> sooo, the list is something like this 19:20 < bridge> [x] "Spectate" to "Spectating" in the right bottom corner of the Spectator UI 19:20 < bridge> [ ] "Name" is used both in server browser and everything else, which creates "Ім'я/Назва" issue 19:20 < bridge> [ ] **UI doesn't adapt to strings** (it's rather strings adapting to UI by changing the font size) 19:20 < bridge> [ ] "DDNet" (as the tab in settings) is translatable and Tee (as the tab in settings) is not 19:20 < bridge> [x] The "KiB" and "KiB/s" are not translatable 19:20 < bridge> [x] Strings like "%s players/servers/mentions/minutes/seconds" don't support plural rules different from English ones 19:20 < bridge> [ ] "Empty demo" and "Error reading demo header" strings are not translatable 19:20 < bridge> [ ] Sometimes strings use `...` and sometimes they use `…` 19:20 < bridge> [ ] Also there are strings that are followed by `:`, while some strings get `:` in the game 19:21 < bridge> sooo, the list is something like this 19:22 < bridge> [x] **"Spectate" doesn't make much grammatical sense in the right bottom corner of the Spectator UI** 19:22 < bridge> [ ] **"Name" is used both in server browser and everything else**, which creates "Ім'я/Назва" issue 19:22 < bridge> [ ] **UI doesn't adapt to strings** (it's rather strings adapting to UI by changing the font size) 19:22 < bridge> [ ] "**DDNet**" (as the tab in settings) **is translatable** and Tee (as the tab in settings) is not 19:22 < bridge> [x] **"KiB" and "KiB/s" strings are not translatable** 19:22 < bridge> [x] **Strings like "%s players/servers/mentions/minutes/seconds" don't support plural rules different from English ones** 19:22 < bridge> [ ] **"Empty demo" and "Error reading demo header" strings are not translatable** 19:22 < bridge> [ ] **Sometimes strings use `...` and sometimes they use `…`** 19:22 < bridge> [ ] **Also there are strings that are followed by `:`, while some strings get `:` in the game** 19:22 < bridge> I'm kinda useful 19:24 < bridge> i do not think you should translate ddnet or tee 19:24 < bridge> Yeah, that's what I am going to report 19:24 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246514790235635852/60c147134b449b19.png?ex=665caadd&is=665b595d&hm=5631e0df9eb0c9e06ffec04b8ed968c91c705ccc52f15709c90099b10b58ce01& 19:25 < bridge> btw i'm almost going to guarantee nobody will do anything about this unless you make an issue 19:25 < bridge> or multiple 19:28 < bridge> send link to this `ДіДіНет` string in translation file 19:28 < bridge> can you send link to this `ДіДіНет` string in translation file 19:31 < bridge> I can't, because I modified it in my own translation 19:32 < bridge> I can't, because I modified it in my own translation for the purposes of demostration 19:32 < bridge> I can't, because I modified it in my own translation for purposes of demonstration 19:32 < bridge> I'll make them, especially the "UI doesn't adapt to strings, it's kinda opposite" one 19:33 < bridge> it's best to be specific about your issues 19:33 < bridge> cite instances of where the text does not fit and how you expect it to behave 19:34 < bridge> > [ ] "DDNet" (as the tab in settings) is translatable and Tee (as the tab in settings) is not 19:34 < bridge> what does this mean? 19:34 < bridge> but if you say "yeah this is a bad thing that's happening" there's no clear resolution to the issue 19:37 < bridge> why do you want to hardcode DDNet and Tee namings 19:38 < bridge> Sent the picture below the list 19:39 < bridge> you want to translate `DDNet` as `ДіДіНет`? 19:40 < bridge> No, rather vice versa... 19:40 < bridge> For "Tee" to become translatable, and for "DDNet" to become UNtranslatable 19:41 < bridge> isn't Tee translatable 19:42 < bridge> there's no word `ДіДіНет` in translation file. what are you gonna untranslate 19:43 < bridge> my reptile brain dotn get it 19:43 < bridge> It is not 19:43 < bridge> my reptile brain dont get it 19:44 < bridge> I told you that I modified MY OWN translation, it is not in the repo 19:44 < bridge> I told you that I modified MY OWN translation (so I can show that "DDNet" is translatable), it is not in the repo 19:46 < bridge> @milkeeycat 19:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246520175549747201/image.png?ex=665cafe1&is=665b5e61&hm=c21028711c1bec3ce40b3725b9bb32ff4103798ed215fd340ba8f904fb03b9d0& 19:46 < bridge> This is what he means 19:46 < bridge> ooooooooooooh 19:46 < bridge> As you can see `Localize("DDNet")` means that the string `DDNet` will be translated 19:46 < bridge> Not really, but yeah 19:47 < bridge> bruh yes this is what you mean 19:47 < bridge> I meant that I modified my `ukrainian.txt`, but... ok, gonna continue writing issues 19:47 < bridge> ... 19:48 < bridge> what I just posted is to illustrate "so I can show that "DDNet" is translatable" 19:48 < bridge> because clearly your explanation wasn't clear enough 19:48 < bridge> communication hard 19:48 < bridge> anyways it's an easy fix 19:49 < bridge> It's not just the "DDNet" string itself, a bunch of other strings contain "DDNet", which should more correctly be untranslated and replaced with `GAME_NAME` to be more mod-friendly 19:49 < bridge> In this case it is the "DDNet" string itself 19:49 < bridge> oh yeah I see what you mean 19:50 < bridge> `DDNet Client updated!` -> `%s Client updated!` (with `GAME_NAME`) inserted as the placeholder 19:50 < bridge> yeah 19:51 < bridge> but `%s Client` isn't translatable the same way for all languages 19:52 < bridge> in French for example it would be `client %s` for `client DDNet` 19:53 < bridge> Doesn't seem like an issue now though and placeholders can be reorders in the translation 19:54 < bridge> ah true 19:54 < bridge> For example Azeri uses this: 19:54 < bridge> ``` 19:54 < bridge> %d of %d servers 19:54 < bridge> == %2$d serverdən %1$d ədədi 19:54 < bridge> ``` 20:00 < bridge> > [ ] UI doesn't adapt to strings (it's rather strings adapting to UI by changing the font size) 20:00 < bridge> That's not very easy to solve and would cause other issues like buttons overlapping, especially because we also support screen with less width (5:4 resolutions) 20:00 < bridge> > [ ] "Empty demo" and "Error reading demo header" strings are not translatable 20:00 < bridge> Not really worth it IMO since those are internal error messages 20:12 < bridge> huh, i remember Tee being in a translation .txt 20:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246527083006525510/image.png?ex=665cb64f&is=665b64cf&hm=51cce7ed0a45273a71f0f0599a7f08b4016eef831031f8f5c127204777f3f553& 20:13 < bridge> such a joke 20:14 < bridge> Same issue as DDNet basically 20:14 < bridge> Though it seems unnecessarily complicated to make the string Tee untranslated in all translations 20:29 < bridge> why do tees in spec not have a pos here 20:29 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246531072108396665/image.png?ex=665cba07&is=665b6887&hm=78772a973f6066be7d4022f40c0c58a6b4bd26e521e50a9bebac1114db33591b& 20:31 < bridge> wdym 20:32 < bridge> are you talking about /spec vanishing the tee or /pause? 20:32 < bridge> /spec 20:32 < bridge> are you talking about /spec vanishing the tee or /pause?, because it makes sense why tee's in /spec dont have a pos 20:38 < bridge> There is no good reason it just wasn't added 21:17 < bridge> Still writing 21:17 < bridge> Still writing 👁️ 21:17 < bridge> Still writing 👀 21:18 < bridge> That's a wrong one 21:18 < bridge> That's not the one I was talking about 21:19 < bridge> ok 22:01 < bridge> :troll: 22:01 < bridge> # OoOoH, Element supports Headings\\ 22:01 < bridge> # OoOoH, Element supports Headings 22:01 < bridge> 22:01 < bridge> ## Yummy 22:01 < bridge> # OoOoH, Element supports Headings 22:01 < bridge> 22:01 < bridge> ### Yummy 22:01 < bridge> # OoOoH, Element supports Headings 22:01 < bridge> 22:01 < bridge> #### Yummy 22:01 < bridge> # OoOoH, Element supports Headings 22:01 < bridge> 22:01 < bridge> # Yummy 22:01 < bridge> ?? 22:02 < bridge> # OoOoH, Element supports Headings 22:02 < bridge> 22:02 < bridge> #### Yummy 22:03 < bridge> we have a lot of issues today 22:05 < bridge> Also, why does it show my old profile picture? 22:06 < bridge> Cache, I assume 22:09 < bridge> ~~Cash? I would like some cash, because they say that doing it for free is stupid~~ 22:09 < bridge> thats the fun in FOSS projects! 22:09 < bridge> its kinda radical changes to ui to actually implement it 22:13 < bridge> That will give more freedom to translators, though 22:14 < bridge> ehm its kinda late to give any freedom to translators 22:14 < bridge> this game is almost 20 years old 22:18 < bridge> So what? The community is growing right now, and it is definitely not "too late" 22:22 < bridge> #3345 -> #4786 22:24 < bridge> ¯\_(ツ)\_/¯ 22:24 < bridge> ¯\\\_(ツ)\_/¯ 22:25 < bridge> Still can do better ¯\\\_(ツ)\_/¯ 22:25 < bridge> do it 😛 22:26 < bridge> Not a coder, that's why I opened an issue and not a pull request 22:27 < bridge> After all, I am a translator in the first place 😛 22:27 < bridge> i don't mind of these changes being implemented but truth is that this problem was here for this ~20 years and yet nothing changed except translation context and box fitting text 22:28 < bridge> i gave my fair bit of opinion egyt, we have to think about compatibilty with smaller screens and different resolutions - i mean ddnet latest still runs on windows XP - tested by furo :D 22:30 < bridge> so its not unlikely someone will play on a 1024x768 monitor - and the UI would look horrible if every single string goes out of view 22:30 < bridge> Yeah, that one will be a hard one, but if it will be done, it will pay off 22:33 < bridge> not really xd 22:41 < bridge> Well, I won't promise, but I might also check Esperanto\* translation and even add two new ones 😏 22:41 < bridge> \*After I learn it, of course 22:42 < bridge> Really crazy stuff going here 22:43 < bridge> yeah maybe i'll finish my tatar translation too 22:43 < bridge> Is this like fifth one today? 22:43 < bridge> And fourth one from Robyt3? 22:44 < bridge> you do one thing and find 4 more things, welcome to coding. 22:44 < bridge> you do one thing and find 4 more things, welcome to coding. :P 22:45 < bridge> Exactly. All I wanted to fix was the `$` which I randomly found because I searched for it when looking for uses of the format argument reordering 22:45 < bridge> Then I found the weird error messages and had to improve the error handling :justatest: 22:46 < bridge> :kek: 22:46 < bridge> So my breakdown is not a rare case 22:46 < bridge> And this ended with finding a cursed bug in the line reader 22:46 < bridge> So me "finding" a bug while trying to translate something is not rare 22:46 < bridge> i think most of your cases come from wanting to translate everything 100% accurately (which i respect by the way) 22:46 < bridge> So me "finding" a bug while trying to translate something is not rare. Oh well. 22:47 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1246565851369570315/0to100.png?ex=665cda6b&is=665b88eb&hm=e211a58717daf336b41085d46c975b85f2c012b91992c8e857181658947e9b22& 22:48 < bridge> literally me 22:49 < bridge> But yeah, translations are really important, you better have a good one or none at all 22:49 < bridge> Because, you know, bad translation = bad expirience 22:50 < bridge> oh god how much i love playing a game and you get a 22:50 < bridge> 22:50 < bridge> oh Hello there %s, welcome to %s, i Offer you %s for %i 22:51 < bridge> teeworlds is kinda untranslatable in this case xd 22:51 < bridge> i had that happen when i tried out Veloren, and i couldnt stop laughing 22:51 < bridge> False 22:51 < bridge> you entered %s! 22:51 < bridge> translate me a 'demo' or 'tee' or 'entities' 22:51 < bridge> also 'dummy' 22:51 < bridge> I wonder how that happens 22:51 < bridge> Демо, гравець, сутності, даммі 22:52 < bridge> we are translating entities in german :justatest: 22:52 < bridge> since you'd have to be passing the string to a function that isn't printf 22:52 < bridge> we are translating entities in german :justatest:, because i PR'd that. 22:52 < bridge> I'm too 22:52 < bridge> did you ever use all of these in your gameplay chatting routine 22:52 < bridge> I've translated "Assets" as "Resources" 22:52 < bridge> dudettes be using println 22:52 < bridge> because russians do not 22:52 < bridge> Imagine that 22:52 < bridge> i dont like that XD - game assets and game resources are definitly not the same 22:53 < bridge> @milkeeycat is that true xd 22:53 < bridge> L 22:53 < bridge> the distinction between assets and resources is that assets are supposed to be edited, resources aren't 22:53 < bridge> (afaik - that's what it is to me anyway) 22:53 < bridge> We don't have a really good words for "Assets", or maybe I just couldn't find it 22:53 < bridge> <♂S1mple♂> tee = player? :poggers2: 22:53 < bridge> Makes sence to me 22:54 < bridge> also даммi and демо are just transliterations, not a real translations kekw 22:54 < bridge> <♂S1mple♂> there's Tee and Player tab in game settings, what you gonna do about it 22:54 < bridge> You don't have to translate word by word 22:54 < bridge> there's no such word as дамми 22:54 < bridge> thats why i say untranslatable 22:54 < bridge> a tee is a player's entity, its like "Frankfurt" - its a Name that's not supposed to be translated IMHO 22:54 < bridge> DDNet stands for Dummy Drag Network - also shouldnt be translated 22:55 < bridge> that's called "proper noun" 22:55 < bridge> and they are supposed to be always capitalized 22:55 < bridge> I always wanted to ask what it stands for 22:55 < bridge> <♂S1mple♂> there will be misunderstandings between people who know proper names and people who know non word by word translations 22:55 < bridge> DDRaceNetwork, Dummy Drag Race Network 22:55 < bridge> would have been Сеть Таскания Дамми (СТН) xd 22:56 < bridge> Better than TTT standing for WWW in Esperanto though 22:56 < bridge> ttt.google.com 22:56 < bridge> 22:56 < bridge> wild. 22:56 < bridge> 3 2 vs or 3 ts 22:56 < bridge> ttt.google.com 22:56 < bridge> 22:56 < bridge> wild. 22:56 < bridge> 22:56 < bridge> (im kidding) 22:56 < bridge> Also, uh, I don't know etymology of a word "tee", and "ті" just- it just doesn't sound good, okay? 22:56 < bridge> > untranslatable 22:57 < bridge> <♂S1mple♂> tee doesn't mean anything in english either 22:57 < bridge> I know 22:57 < bridge> T-shirts! 22:57 < bridge> I FEEL AN URGE TO TRANSLATE "TEE" AS A "T-SHIRT" 22:58 < bridge> please dont. if i ever get a single person on discord asking "how to change t-shirt color" 22:58 < bridge> please dont. if i ever get a single person on discord asking "how to change t-shirt color" - i'll drop my hobby as a discord helper 22:58 < bridge> That was a joke, obviously 22:58 < bridge> you never know.. 22:58 < bridge> moderator application when 22:59 < bridge> i thought about it, but i dont know if i'll be a good fit really 22:59 < bridge> not good but one of the best xd 22:59 < bridge> °_° 22:59 < bridge> At least you are kind 22:59 < bridge> to hear that from a veteran who stepped back :pepecry: 23:00 < bridge> stepped down? how do you say "zurückgetreten" correctly 23:00 < bridge> im not jao 23:00 < bridge> <♂S1mple♂> jao shooter 23:00 < bridge> i do get a lot of DM's from people asking me to help them with certain things tho - i guess im just so active they see me as a moderator already :kek: 23:01 < bridge> Пішов у відставку 23:01 < bridge> oh you'd say `resigned` i guess 23:02 < bridge> https://eo.wikipedia.org/wiki/TTT 23:02 < bridge> Also, too bad Esperanto doesn't have an official keyboard for windows and macos 23:02 < bridge> how many DM's to i have to send murpi to sign up for mod? like 3 a day? 23:02 < bridge> how many DM's to i have to send murpi to sign up for mod outside of open applications? like 3 a day? 23:04 < bridge> Interslavic has a W, though, because they use Czech alphabet for Latin 23:04 < bridge> Interslavic takes a W, though, because they use Czech alphabet for Latin 23:05 < bridge> Probs because Esperanto-specific letters are, well, only specific to Esperanto 23:05 < bridge> Interslavic takes a W, though, because they use Czech alphabet for Latin 23:06 < bridge> Probs because Esperanto-specific letters are, well, only specific to Esperanto 23:06 < bridge> In the meantime, Interslavic takes a W, because they use Czech alphabet for Latin 23:06 < bridge> much fun if you code in natural languages that don't have that upper-/lowercase concept like japanese or chinese 23:07 < bridge> although I guess it's kinda cool that you can see at the usage site whether a symbol is public or not 23:08 < bridge> there are work-arounds to that. how do you do that in go though? 23:13 < bridge> you can use `marshalling` for json serialization ig 23:13 < bridge> but then you can't customize the serialization impl for types not in your module, either, can you? 23:13 < bridge> but then you can't customize the serialization impl for types not in your module either, can you? 23:16 < bridge> you have to use reflection for it