03:32 <+bridge> gitlab moment 07:45 <+ChillerDragon> i can recommend https://grep.app/ for searching github 09:24 <+bridge> I don't manage dbs either. I break them 09:24 <+bridge> the D in deen means "destruction" 09:59 <+ChillerDragon> when downloading a 0.7 map and summing up the size it exceeds the size sent by map change and yet my downloaded mapfile has the correct sha256 sum is that weird? or a known tw protocol bug? 10:00 <+ChillerDragon> dont know if its my reimplementation of the protocol 10:01 <+ChillerDragon> but the official client hides this bug anyways with this clamp https://github.com/teeworlds/teeworlds/blob/26d24ec061d44e6084b2d77a9b8a0a48e354eba6/src/engine/client/client.cpp#L1228 10:01 <+ChillerDragon> even if it gets too much it just clamps it down right to the expected and carrys on as if everything is fine 10:01 <+ChillerDragon> i really do not understand how my code works xd 10:06 <+ChillerDragon> aw F my first gitlab 500 https://zillyhuhn.com/cs/.1683619584.png 10:06 <+ChillerDragon> apparently not much better than github 10:09 <+bridge> self host 10:10 <+bridge> I don't know any such bug 10:10 <+bridge> perhaps you're counting wrong? 10:15 <+ChillerDragon> yea perhaps 10:15 <+ChillerDragon> your map downloader is 0.6 only right? 10:15 <+ChillerDragon> map dl changed a bit in 0.7 10:15 <+ChillerDragon> @Ryozuki i do not trust my self with ensuring the data does not get lost 10:17 <+bridge> correct, my map downloader is 0.6 only 10:21 <+ChillerDragon> yea whatever everything works i do not understand why. i will create a mental note in case i run into issues when bridging the map dl code 10:26 <+ChillerDragon> pog 10:26 <+ChillerDragon> https://ascii.zillyhuhn.com/?a=mapdl 10:44 <+bridge> nice 🙂 10:57 <+bridge> @Learath2 i know o2 is recommended for system wide flag options but it doesnt enable -ftree-vectorize 10:57 <+bridge> is it safe to enable -ftree-vectorize ? 10:58 <+bridge> > -march= is an ISA selection option; it tells the compiler that it may use the instructions from the ISA. On an Intel/AMD64 platform with -march=native -O2 or lower optimization level, the code will likely end up with AVX instructions used but using shorter SSE XMM registers. To take full advantage of AVX YMM registers, the -ftree-vectorize, -O3 or -Ofast options should be used as well[1]. 10:58 <+bridge> > 10:58 <+bridge> > -ftree-vectorize is an optimization option (default at -O3 and -Ofast), which attempts to vectorize loops using the selected ISA if possible. The reason it previously wasn't enabled at -O2 is that it doesn't always improve code, it can make code slower as well, and usually makes the code larger; it really depends on the loop etc. As of GCC 12, it is enabled by default with a low cost model (-fvect-cost-model=very-cheap) to strike a balance betwee 10:59 <+bridge> oh maybe its enabled now on o2 10:59 <+bridge> since gcc 12 11:13 <+bridge> Doesn't clang enable some at O2 already 11:13 <+bridge> Fwiw this contrived example looks shit in about any language I can think of, minus the allocator thing in most other languages but that's just 2 lines 11:13 <+bridge> O3 should be safe tbh xd 11:15 <+bridge> it looks good in rust 11:16 <+bridge> :gigachad: 11:16 <+bridge> Xd 11:16 <+bridge> but u can see the syntax 11:16 <+bridge> It is mostly working, there are a couple people running a full O3 system, but you never know what ancient piece of software broke strict aliasing 11:16 <+bridge> and try on every push 11:16 <+bridge> i wonder if try is like a except 11:16 <+bridge> fail on every allocation 11:17 <+bridge> Doubt(tm), it will be about the same minus the allocator lines and the tries, and you'll need to go from vec to str to do the final comparison 11:17 <+bridge> @Jupeyy_Keks o3 is safe to use in rust but in gcc it may trigger ub cuz c coders cant be perfect 11:18 <+bridge> Just use. 11:18 <+bridge> @Learath2 u dont need to go from vec to str 11:18 <+bridge> the str has a method to get it as a slice of u8 thats zero allocs 11:19 <+bridge> as_ is usually cheap 11:19 <+bridge> @Ryozuki can u show segfault in zig without unsafe? 11:19 <+bridge> Didn't find anything 11:20 <+bridge> I guess you can use a u8 vec yeah, I was thinking a char vec 11:20 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105424098521272360/Screenshot_2023-05-09-11-20-34-970_org.mozilla.firefox.jpg 11:21 <+bridge> yes 11:21 <+bridge> iirc 11:21 <+bridge> zig has no concept of borrow checker iirc 11:21 <+bridge> https://stackoverflow.com/questions/75713507/does-zig-have-special-syntax-for-single-expression-functions chatgpt needs to be stopped 11:22 <+bridge> I just wonder wtf that language is good for then. Any code example? 11:22 <+bridge> https://www.reddit.com/r/Zig/comments/elihvh/why_this_code_is_segfaulting/ 11:22 <+bridge> its good for the allocator thing iirc 11:22 <+bridge> it goes to lengths to let u control and know every alloc 11:23 <+bridge> and i guess comptime stuff 11:23 <+bridge> literally u gotta save the allocator in ur data types 11:23 <+bridge> like the array example 11:24 <+bridge> zig is like a step above C in safety but couple steps below Rust 11:24 <+bridge> "It's a missing compile error: https://github.com/ziglang/zig/issues/2130 11:24 <+bridge> " 11:24 <+bridge> So sounds like they fixed it 11:24 <+bridge> https://stackoverflow.com/questions/75623924/zig-segmentation-fault-at-address 11:25 <+bridge> zig doesnt protect u from invalid pointers and eyc 11:25 <+bridge> etc 11:25 <+bridge> You can have cool things like setting compile time constraints yourself and the compiler won't let it pass until it's satisfied. Rusts borrow checker basically creates a set of basic constraints for everything 11:25 <+bridge> And are the zig compilers much less complex? Or what would u describe as better in zig than rust? 11:25 <+bridge> If we don't talk about syntax 11:25 <+bridge> zig has null i see 11:25 <+bridge> bad 11:26 <+bridge> Mh sounds interesting, but can't imagine 11:26 <+bridge> As data type/value directly? 11:27 <+bridge> I mean a rust option also has none.. just that u have to handle it xd 11:28 <+bridge> null ptr i guess 11:28 <+bridge> K 11:28 <+bridge> rust doesnt have nullable types 11:28 <+bridge> Honestly nothing much. I sort of prefer it letting you do your thing without the compiler getting in the way, but that comes at a cost of safety. There is pretty much no reason to recommend zig 11:29 <+bridge> none is a enum variant 11:29 <+bridge> to represent a null pointer im safe u would do option> 11:29 <+bridge> mobile sucks 11:29 <+bridge> The extremely easy cross compiling, `defer` and `undefined` are great though 11:30 <+bridge> mojo on the other hand seems interesting 11:30 <+bridge> its basically a mlir frontend 11:30 <+bridge> sad its python like 11:30 <+bridge> python 11:31 <+bridge> https://docs.modular.com/mojo/notebooks/BoolMLIR.html 11:31 <+bridge> mojo allows low level ir 11:31 <+bridge> so u can do all u can in mlir 11:33 <+bridge> u can make a i17 type for example 11:33 <+bridge> or i256 11:33 <+bridge> Also zig will probably be the last language that gives you a decent amount of footguns so it's the last chance to have fun before we are all condemned to eternal combining of safe blocks and being the compilers slave 11:34 <+bridge> Every new language seems to be interested in nothing but the most extreme levels of compile time memory management 11:34 <+bridge> xd 11:35 <+bridge> inho its good 11:35 <+bridge> better than gc 11:35 <+bridge> we just need to get more and more close to the limit before we cant prove its safe 11:35 <+bridge> right now its limited 11:36 <+bridge> the general thing is the halting problem, unfortunately 11:36 <+bridge> so we'll be stuck at limited 11:37 <+bridge> yeah i know 11:37 <+bridge> but we can be less limited 11:37 <+bridge> than now i think 11:37 <+bridge> Worry not gc is making a comeback too. I've seen new experimental languages that use rusts idea of managing memory at compile time, but relaxes the requirements and inserts gc sweeps 11:37 <+bridge> polonius dtw 11:37 <+bridge> polonius ftw 11:40 <+bridge> Hard life. I couldn't tell which is better tho. In one u have to be more careful but might end up doing something greater. On the other u can code more "fearless" but sometimes have to choose a weirder design or more overhead. 11:40 <+bridge> 11:40 <+bridge> Considering that modern software is bloated af and nobody understands 99% of wtf they doing. Maybe the latter ^^ 11:40 <+bridge> Latter is better for the user, former is more enjoyable for me 11:41 <+bridge> Understandable tbh 11:41 <+bridge> Idk coding in garbage collected or managed languages feel more like I'm a labourer than a coder 😄 11:41 <+bridge> XD 11:42 <+bridge> what gc'ed language do you program in? 11:42 <+bridge> But I also do appreciate the much more powerful standard libraries and features offered by new languages. So a middle ground like zig is pretty attractive to me 11:42 <+bridge> Java and a teeny tiny bit of nim sometimes 11:43 <+bridge> Though I pretty much replaced nim in my workflow. I usually reach for python or rust 11:44 <+bridge> @Learath2 tbh i can see the appeal of c simplicity and there was a phase where i only used c too 11:44 <+bridge> but rust is simply greater 11:45 <+bridge> Who needs bash if u have rust 11:45 <+bridge> Who needs python if u have rust 11:45 <+bridge> java 11:45 <+bridge> SlaveFactoryBuilder 11:45 <+bridge> I'm getting ready to replace bash and python with perl. Just haven't had the time to learn it 11:46 <+bridge> bash is a managed gc lang 11:46 <+bridge> I'd rather program with punchcards than write python ngl 11:47 <+bridge> @Ryozuki rust has great parsing speed doesn't it? 11:47 <+bridge> 11:47 <+bridge> I wonder if there is no way to have a rust interpreter xd 11:47 <+bridge> 11:47 <+bridge> Would improve dev speed a lot for some stuff where u don't modify memory 11:48 <+bridge> I never touched perl. Is it that good? 11:48 <+bridge> as an API language, perhaps. I used z3 to solve a sudoku, was pretty painless in python 11:49 <+bridge> also, @Patiga's twmap also has a python api 11:49 <+bridge> It's easily better than bash because types, libraries and saner quoting. It's better than python because it's not python 11:49 <+bridge> also, @Patiga's twmap has a python api, too 11:49 <+bridge> Write bash to rust macro ^^ 11:50 <+bridge> Pythons only value to me is indeed as glue because everyone and their mothers have a python binding 11:50 <+bridge> Ah. Well bash defs sucks if u do logic in it xD. I really mostly use it for simple stuff and calling programs 11:50 <+bridge> Yeah bash is for simple sequencing of stuff for me 11:56 <+bridge> make is kinda a good bash interface for commands 11:57 <+bridge> ah, and what do you use for writing GUIs? 11:57 <+bridge> i rarely write guis lately 11:57 <+bridge> but i would use egui 11:58 <+bridge> Dioxus 11:58 <+bridge> I haven't written a gui in quite some time. No one wants gui applications and for my own use I prefer a tui or a cli 11:59 <+bridge> Once it's finished in two million years 11:59 <+bridge> If I had to write a gui application I'd probably look at qt 11:59 <+bridge> ew 12:00 <+bridge> look at iced 12:00 <+bridge> this very chat client is a UI 😉 12:00 <+bridge> re no one wanting UI 12:00 <+bridge> well we forced to use discord 12:00 <+bridge> Or maybe gtk, though gtk applications always feel sluggish to me. Idk if it's the people that program them or gtk itself though 12:00 <+bridge> to interact with normal people 12:01 <+bridge> i wanna a weechat that shows pfp 12:01 <+bridge> This is a glorified web browser. If those count, yeah some people still do want them 12:01 <+bridge> anime pfp in cli chat kek 12:01 <+bridge> First of all we need to remove all bloat that isn't Vulkan. So that u can embedd your gui cleanly while still having the ability to render to your instance yourself. That's already where all gui engine fail. Egui makes it easy. But egui isn't very stable. 12:01 <+bridge> 12:01 <+bridge> Rip I'll wait another 100 years 12:01 <+bridge> egui works anywhere u give it a surface 12:01 <+bridge> iirc 12:02 <+bridge> U can easily embed it yeah 12:02 <+bridge> But egui isn't very beautiful and immediate and still rather buggy 12:02 <+bridge> ur bugged 12:03 <+bridge> jupstsr make a language that is focused on vulkan rendering 12:03 <+bridge> I love immediate guis but retained just has much better performance characteristics, what do? 12:03 <+bridge> If there would be a html css renderer u can easily embed that would be powerful. I don't know any. Despite that css is probs also bloated xd 12:03 <+bridge> e.g the vulkan api is a builtin of the lang 12:03 <+bridge> And no i don't mean add javascript support 12:03 <+bridge> That's what makes everything slow 12:03 <+bridge> DOM and CSS are soooooooooooooo complicated. If I ever did something like that I'd want an extreme subset of it 12:04 <+bridge> Yep 12:04 <+bridge> I should, because I think I have some ideas for ur 12:04 <+bridge> Some allowable selectors are insanely hard to implement in a performant way 12:04 <+bridge> It 12:04 <+bridge> it should maybe have easy interop with rust 12:04 <+bridge> so u can plug the lang for rendering 12:04 <+bridge> I dunno. But u could easily use a framework and it's ez af and looks good 12:05 <+bridge> But yes they can be complicated 12:05 <+bridge> (notice how i didnt say c, cuz c old and bad) 12:05 <+bridge> :justatest: 12:05 <+bridge> Didn't notice 12:06 <+bridge> Hm, the subset of html and css I'm thinking of probably wouldn't be enough to run any web framework 12:06 <+bridge> Those kinda need the entire spec 12:06 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105435606277955594/Screenshot_20230509-120530.png 12:06 <+bridge> I see c 12:06 <+bridge> Ryozuki in shambles 12:07 <+ChillerDragon> bash is awesome even for logic 12:07 <+ChillerDragon> also good for web dev 12:07 <+bridge> I awaited u 12:08 <+ChillerDragon> https://github.com/jneen/balls 12:08 <+ChillerDragon> nice web framework written in bash 12:09 <+ChillerDragon> i can finish the task faster in bash than you in rust eventho my program is 200 times slower just because development and compiling is much faster 12:10 <+bridge> im back 12:10 <+bridge> was opening my m1 mac at work 12:10 <+bridge> kek 12:10 <+ChillerDragon> also bash quoting is ez 12:10 <+bridge> im a filthy mac user now 12:11 <+ChillerDragon> * sent from my macbook pro 12:11 <+ChillerDragon> i hope ur m1 mac runs free linux 12:12 <+bridge> ❯ uname -a 12:12 <+bridge> Darwin xxxx-MacBook-Pro.local 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 20:59:28 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6000 arm64 12:12 <+ChillerDragon> ewwwwwwwww 12:12 <+bridge> Are you running linux on it? 12:12 <+ChillerDragon> darwin 12:12 <+bridge> nah 12:12 <+ChillerDragon> cring 12:12 <+bridge> You are an evil corpo now 12:12 <+bridge> i do suc ha drastic change on a laptop that its company owned 12:12 <+bridge> xd 12:12 <+bridge> wont 12:12 <+bridge> * 12:12 <+bridge> Borrow Mac pls. I want to find work around for VK backend 12:13 <+ChillerDragon> ok come to munich 12:13 <+ChillerDragon> and pick it up 12:13 <+bridge> ddnet is bugged on this mac 12:13 <+bridge> any simple minimal resize 12:13 <+bridge> makes it freeze 12:13 <+ChillerDragon> which wm u use? 12:13 <+bridge> default 12:13 <+ChillerDragon> cring 12:13 <+bridge> Chiller u also have M1? 12:13 <+ChillerDragon> no bro i broke af 12:14 <+bridge> U mean Mac is bugged on our awesome ddnet 12:14 <+bridge> Xd 12:14 <+bridge> I think I know exactly where it freezes 12:14 <+ChillerDragon> my mac is older than time it self 12:14 <+bridge> I need M1 sry 12:14 <+bridge> They made that stupid dispatch sync again I bet 12:14 <+ChillerDragon> !jup go to apple store 12:14 < chillerbot> @Jupstar ✪ 12:14 <+ChillerDragon> ez 12:14 <+ChillerDragon> u can test on all devices 12:14 <+bridge> Try the SDL version released right after they added my PR 12:14 <+ChillerDragon> you can easily installe compilers etc in the apple store 12:14 <+ChillerDragon> nobody looks at you weird if u game dev in there 12:15 <+ChillerDragon> trust me i tried 12:15 <+bridge> 20$ for one week borrow 12:15 <+ChillerDragon> its free 12:15 <+bridge> Ah nice idea 12:15 <+bridge> Chiller 12:15 <+ChillerDragon> ik 12:15 <+bridge> If they have wifi 12:15 <+ChillerDragon> ofc 12:15 <+ChillerDragon> you can do all 12:15 <+bridge> Ez 12:16 <+ChillerDragon> only downside is it might not be your ideal dev environment as in they usually lack chairs etc 12:16 <+ChillerDragon> also bringing drinks and food is weird xd 12:16 <+bridge> this is the bt 12:16 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105438163691900978/message.txt 12:16 <+bridge> It's good to work while standing 12:16 <+bridge> i had to pkill it 12:16 <+ChillerDragon> ofc someone would say that 12:16 <+ChillerDragon> i cant stand longer than 2min or i die 12:17 <+ChillerDragon> i just collapse due to lack of muscles 12:17 <+bridge> Yeah exactly where I think it is 12:17 <+bridge> what sdl 12:17 <+bridge> ==> sdl2: stable 2.26.5 (bottled), HEAD 12:17 <+bridge> Low-level access to audio, keyboard, mouse, joystick, and graphics 12:17 <+bridge> https://www.libsdl.org/ 12:18 <+bridge> /opt/homebrew/Cellar/sdl2/2.26.5 (93 files, 6.4MB) * 12:18 <+bridge> Poured from bottle using the formulae.brew.sh API on 2023-04-12 at 12:02:52 12:18 <+bridge> From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/sdl2.rb 12:18 <+bridge> We do swap on gfx thread, causes a sync dispatch, sync dispatch waits on the main thread, main thread waits on gfx thread, game dead 12:18 <+bridge> lol that emoji 12:18 <+bridge> xd 12:20 <+bridge> Didn't we fix that especially for m1 12:20 <+bridge> Ah no we just wait 12:20 <+bridge> True 12:20 <+bridge> MacOS bs os no joke 12:20 <+bridge> SDL fixed it, so we removed our fix. But I bet they unfixed it because they just have to keep messing with it without telling anyone 12:21 <+bridge> True xdd 12:21 <+bridge> @Ryozuki can you try `SDL_HINT_MAC_OPENGL_SYNC_DISPATCH=1`? 12:21 <+bridge> how to set env in lldb 12:21 <+bridge> Use Zink for opengl to Vulkan to metal over molten vk 12:22 <+bridge> ah ez 12:22 <+bridge> env SDL_HINT_MAC_OPENGL_SYNC_DISPATCH=1 12:22 <+bridge> Don't remember 12:22 <+bridge> Oh that's easy enough 12:22 <+bridge> broke 12:23 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105439774870884433/message.txt 12:23 <+bridge> the thing im doing is setting the default windowed borderless to fullscreen 12:23 <+bridge> Install moltenvk and use Vulkan 12:23 <+bridge> it freezes there 12:23 <+bridge> Oh wait they changed the name of the env too 12:23 <+bridge> May allah give me strength, just stop changing stuff... 12:24 <+bridge> @Learath2 u sure it even does anything at all 12:24 <+bridge> It's `SDL_MAC_OPENGL_ASYNC_DISPATCH=1` 12:24 <+bridge> M1 has no native ogl driver 12:24 <+bridge> It's wrapped to metal 12:24 <+bridge> It's sdl causing the deadlock directly, this never makes it into the ogl driver even in old intel macs 12:25 <+bridge> Mh ok 12:25 <+bridge> omg 12:25 <+bridge> it works 12:25 <+bridge> life savour 12:25 <+bridge> saviour 12:26 <+bridge> SDL_MAC_OPENGL_ASYNC_DISPATCH=1 fixes it 12:26 <+bridge> Yeah idk why they want to do a sync dispatch there so much 12:26 <+bridge> now i can develop ddnet at work too 12:27 <+bridge> It's especially weird BCS i though MacOS give a shit about backward compability and simply drops whatever software relied on the sync dispatch 12:27 <+bridge> can u add it to the readme 12:27 <+bridge> will be def useful 12:27 <+bridge> ill add it to wiki 12:27 <+bridge> no, should be fixed on our side 12:27 <+bridge> not tell users to fix something on their side 12:27 <+bridge> can this be fixed tho 12:27 <+bridge> it's a computer 12:27 <+bridge> isnt it a sdl issue 12:27 <+bridge> it can do stuff for you 12:28 <+bridge> i mean on our side 12:28 <+bridge> we could set the env variable 12:28 <+bridge> e.g. 12:28 <+bridge> Mh can we even control the env of sdl unless launched by a specific way? 12:28 <+bridge> its weird no one complained yet 12:28 <+bridge> am i the only m1 user here 12:28 <+bridge> deen also is 12:29 <+ChillerDragon> but deen doesnt launch ddnet :D 12:29 <+bridge> We could monkeypatch SDL, I actually made a prototype of that when I was about to go insane trying to debug that issue 12:29 <+bridge> @Learath2 setenv is the name of the function 12:29 <+bridge> ah yeah sdl has a function for hints 12:29 <+bridge> if the ui should only sort of wrap one kind of task, similar to a cli, you could try out https://github.com/MichalGniadek/klask 12:29 <+bridge> But doesn't happen before dylib load and sdl decides how to dispatch at init iirc 12:29 <+bridge> at SDL_init? 12:29 <+bridge> we can set it before that 12:30 <+bridge> it wraps clap 3.x to create a simple ui, apparently with file pickers 12:30 <+bridge> u can apply hints before init 12:30 <+bridge> Oh wait, they do react dynamically to it somehow 12:30 <+bridge> So yeah we can hint before we init 12:30 <+bridge> It's not only M1 btw, so we should set that for all macs 12:31 <+bridge> * \brief A variable controlling whether dispatching OpenGL context updates should block the dispatching thread until the main thread finishes processing 12:31 <+bridge> * 12:31 <+bridge> * This variable can be set to the following values: 12:31 <+bridge> * "0" - Dispatching OpenGL context updates will block the dispatching thread until the main thread finishes processing (default). 12:31 <+bridge> * "1" - Dispatching OpenGL context updates will allow the dispatching thread to continue execution. 12:31 <+bridge> * 12:31 <+bridge> * Generally you want the default, but if you have OpenGL code in a background thread on a Mac, and the main thread 12:31 <+bridge> * hangs because it's waiting for that background thread, but that background thread is also hanging because it's 12:31 <+bridge> * waiting for the main thread to do an update, this might fix your issue. 12:31 <+bridge> * 12:31 <+bridge> * This hint only applies to macOS. 12:31 <+bridge> * 12:31 <+bridge> * This hint is available since SDL 2.24.0. 12:31 <+bridge> maybe only set it if the env var isn't set already 12:31 <+bridge> Does it even affect our shipped sdl 12:31 <+bridge> There is a possibility that we ship an sdl right after my patch before people started to mess around with it 12:31 <+bridge> I see 12:32 <+bridge> Else set the env before calling SDL init viseo 12:32 <+bridge> Video 12:34 <+bridge> let me make the pr 12:35 <+bridge> been ages xd 12:35 <+bridge> Next step install moltenvk and use VK backend 12:35 <+bridge> Idk how best to do it. Do we check for the sdl version? 12:35 <+bridge> i installed molten vk 12:35 <+bridge> but vulkan doesnt appear 12:35 <+bridge> Try and see why moltenvk caps fps so weirdly 12:35 <+bridge> At least for deen it does 12:36 <+bridge> There was a version inbetween where the hint was briefly called the first thing I sent, tho idk if that was released at all 12:36 <+bridge> -DVulkan=ON 12:36 <+bridge> In cmake 12:36 <+bridge> And then there are versions that dont need a hint at all but do async dispatch 12:36 <+bridge> In caps all 12:37 <+bridge> Then there is a minimum version below which maybe we should just disable resizing 12:37 <+bridge> Maybe we should simply do everything single threaded on MacOS xD 12:37 <+bridge> All problems solved 12:37 <+bridge> [cmake] -- Checking for module 'vulkan' 12:37 <+bridge> [cmake] -- No package 'vulkan' found 12:38 <+bridge> [cmake] -- Building vulkan shaders 12:38 <+bridge> [cmake] /Users/edgar/Documents/misc/ddnet/data/shader/vulkan/quad.vert 12:38 <+bridge> [cmake] -- Finished building vulkan shaders 12:38 <+bridge> xd 12:38 <+bridge> [cmake] -- * Zlib found 12:38 <+bridge> [cmake] -- * Vulkan found 12:38 <+bridge> Then moltenvk not found xd 12:38 <+bridge> wtf 12:38 <+bridge> Lol 12:38 <+bridge> I said nothing 12:39 <+bridge> freeze 12:39 <+bridge> with SDL_MAC_OPENGL_ASYNC_DISPATCH=0 12:39 <+bridge> oh wait 12:39 <+bridge> i didnt change to vulkan 12:39 <+bridge> xd 12:40 <+bridge> @Jupeyy_Keks it works! 12:40 <+bridge> with vulkan 12:40 <+bridge> no freeze 12:40 <+bridge> Yeah 12:40 <+bridge> [mvk-info] Created 3 swapchain images with initial size (3024, 1890) and contents scale 2.0 for screen Built-in Retina Display. 12:40 <+bridge> [mvk-info] Created 3 swapchain images with initial size (3024, 1890) and contents scale 2.0 for screen Built-in Retina Display. 12:40 <+bridge> But deen has limited fps 12:41 <+bridge> How limited? Directly to refresh rate? 12:41 <+bridge> Go server and check fps xd 12:41 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105444325992697956/message.txt 12:41 <+bridge> No 12:41 <+bridge> Weirdly limited 12:41 <+bridge> As if it tries to save energy 12:41 <+bridge> 1400 fps or smth 12:41 <+bridge> Mh, always with the bizarre bugs on macOS 12:41 <+bridge> But it peaks to 6k xd 12:41 <+bridge> 1400 is atleast good enough if it's stable, if not stable ew 12:42 <+bridge> Yeah but with ogl he gets like 3k 12:42 <+bridge> That hurts my feelings 12:42 <+bridge> Could it be an issue with how we calculate it? 12:42 <+bridge> I doubt 12:44 <+bridge> https://github.com/KhronosGroup/MoltenVK/issues/1407 12:44 <+bridge> 12:44 <+bridge> This issue discussion mentioned similar bug we had 12:44 <+bridge> But it's closed now 12:44 <+bridge> its fluid af 12:44 <+bridge> 1500 fps i think 12:44 <+bridge> Fps 12:44 <+bridge> That's no fluid 12:44 <+bridge> On m1 12:44 <+bridge> it looks smooth to me 12:44 <+bridge> Yes but that processor should be on desktop PC perf 12:45 <+bridge> hidpi is rly nice 12:45 <+bridge> Anything below 4k fps is a bug xd 12:45 <+bridge> oh wait 12:45 <+bridge> didnt build on release with vulkan 12:45 <+bridge> built without it xd 12:45 <+bridge> @Ryozuki is there smth like energy saving options? XD 12:46 <+bridge> Make everything max perf xD 12:46 <+ChillerDragon> bbbbut the environment! 12:46 <+bridge> And don't use battery 12:46 <+bridge> i have low poer mode off 12:48 <+bridge> vulkan fullscreen is 500 12:48 <+bridge> and feels slow 12:50 <+bridge> Hurts to hear 13:34 <+bridge> holy shit 13:34 <+bridge> github sucks so much 13:35 <+bridge> it simply doesnt work 13:35 <+bridge> Rip 13:35 <+bridge> wdym? 13:36 <+bridge> doesnt load 13:36 <+bridge> https://www.githubstatus.com/ 13:42 <+bridge> Idk why python is such a bad oop language 13:42 <+bridge> Why tf can u rename attributes, delete etc.. 13:42 <+bridge> github fixing issues is going surprisingly quick 13:43 <+bridge> :oop: 13:43 <+bridge> did the servers get updated recently ? 13:47 <+bridge> ahh i see there is already my old crash topic back again in #bugs =P 13:53 <+bridge> The biggest issue I have with github is their "smart" code search that misses stuff 13:54 <+bridge> Fwiw I hate all the new search algorithms that try to be smart. Google was better a decade ago 13:54 <+bridge> ElasticSearch is a curse 13:56 <+bridge> For code search i simply want a search like vs code uses 14:07 <+bridge> kek 14:07 <+bridge> guess i wont do much work for now 14:07 <+bridge> thats what u get for depending on github 14:07 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105466174914953326/image.png 14:08 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105466315608703017/image.png 14:11 <+bridge> well my repos are here too https://git.edgarluque.com/ 14:12 <+bridge> https://news.ycombinator.com/item?id=35872835 14:20 <+bridge> Hope they do an incident report blog thing so we can learn what happened 14:25 <+bridge> I bet some worker accidentally deleted the whole database 14:26 <+bridge> Maybe the same as on gitlab 14:26 <+bridge> did that happen on gitlab? 14:28 <+ChillerDragon> does that mean stuff like homebrew is down too? xd 14:28 <+ChillerDragon> ryo do brew update 14:28 <+bridge> well github works 50% of the time 14:29 <+bridge> seems better now 14:30 <+bridge> Well was a while ago I think 14:30 <+bridge> They just 6h of data 14:32 <+bridge> https://www.githubstatus.com/history lists 72 incidents since January 14:34 <+bridge> Every second day xd 14:43 <+bridge> ```cpp 14:43 <+bridge> #if defined(CONF_PLATFORM_MACOS) && defined(SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH) 14:43 <+bridge> // Hints will not be set if there is an existing override hint or environment variable that takes precedence. 14:43 <+bridge> // So this respects cli environment overrides. 14:43 <+bridge> SDL_SetHint(SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH, "1"); 14:43 <+bridge> #endif 14:43 <+bridge> ``` 14:43 <+bridge> @heinrich5991 will this do? 14:43 <+bridge> sethint uses normal priority unlike sethintwithpriority 14:43 <+bridge> so the env rules 14:43 <+bridge> checking that SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH is a nice hack to check we are on a modern version i think xd 14:44 <+bridge> sounds good 14:44 <+bridge> is `SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH` a preprocessor constant? 14:44 <+bridge> ye 14:44 <+bridge> * This hint is available since SDL 2.24.0. 14:44 <+bridge> * 14:44 <+bridge> */ 14:44 <+bridge> #define SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH "SDL_MAC_OPENGL_ASYNC_DISPATCH" 14:44 <+bridge> ah 14:44 <+bridge> why not do the string instead then? 14:44 <+bridge> can be without #ifdefs, probably 14:45 <+bridge> but the hint may not exist in sdl older 14:45 <+bridge> the preprocesor is nice here, it allows me to set the hint only in sdl versions that matter right? 14:45 <+bridge> that's probably just ignored 14:45 <+bridge> hmm ok 14:50 <+bridge> the macos ifdef is superfluous as well, I guess, but it doesn't matter 14:51 <+bridge> xd 14:52 <+bridge> this is a lot better than telling users on a random web page that they need to fix their environment 🙂 16:55 <+bridge> "i am a beacon of knowledge blazing out across a black sea of ignorance" 16:55 <+bridge> - invoker, carl, dota 2 16:55 <+bridge> is invoker a rust dev? 16:55 <+bridge> :gigachad: :justatest: 16:56 <+bridge> "i am a beacon of knowledge blazing out across a black sea of ignorance" 16:56 <+bridge> - invoker, karl, dota 2 17:16 <+bridge> 4632 updoots 17:17 <+bridge> idk but the reddit joke is not funny 17:17 <+bridge> atleast to me xd 17:17 <+bridge> like its pretty cringe 17:17 <+bridge> its literally irony xd 17:17 <+bridge> > the expression of one's meaning by using language that normally signifies the opposite, typically for humorous or emphatic effect. 17:17 <+bridge> no it isnt 17:18 <+bridge> i mean you behave like you are typical redditor and rust dev at the same time 17:19 <+bridge> how so? explain 17:19 <+bridge> what is a typical redditor 17:19 <+bridge> you are xd 17:19 <+bridge> explain further please 17:19 <+bridge> ur literally only copying voxel cringe joke 17:20 <+bridge> i dont even post on reddit, btw 17:20 <+bridge> which makes this even more hilarious 17:20 <+bridge> i call you a redditor because you unironically post shit like this 17:20 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1105514750353350836/Untitled15_20230422161224.png 17:21 <+bridge> ctrl+f `from: Ryozuki#2188 rust` 17:21 <+bridge> talking about rust and making fun of it is being a redditor (??) 17:21 <+bridge> im rly out of the zoomer landscape 17:21 <+bridge> no i mean you behave like rust pope or somewhat 17:21 <+bridge> unironically 17:21 <+bridge> i do it ironically actually 17:21 <+bridge> ryozuki is the prophet, its his destiny 17:22 <+bridge> 17:22 <+bridge> and some day when he dies, he silently says "i wish i learned c" 17:22 <+bridge> the point of no return xd 17:22 <+bridge> i embraced the rust persona on this discord 17:22 <+bridge> but this has nothing to do with reddit 17:22 <+bridge> and saying updoot or stuff is pretty cringe 17:22 <+bridge> oh 17:22 <+bridge> ¯\_(ツ)_/¯ 17:23 <+bridge> @Voxel yeah, sometimes i think i need to make it clear for you, i couldnt care less what lang u program in, if u want to use js you go and have fun 17:23 <+bridge> still, linux/rust memes in general give off such a vibe 17:23 <+bridge> i think its only u who get them as that 17:23 <+bridge> i don't make fun of you btw but your representation as rust pope 17:23 <+bridge> i am this discord rust pope indeed, but its as a joke 17:23 <+bridge> yeah idk where gerdoe is coming from 17:24 <+bridge> okey seems i need to sleep a bit more than 1 hour a day xd 17:24 <+bridge> i wont say that, cuz i know c already 17:24 <+bridge> i slept for 3 last night 17:25 <+bridge> i recommend going to sleep at 23 17:25 <+bridge> i go at 23 and wake at 7:40 17:25 <+bridge> and im perfectly awake 17:25 <+bridge> my organism wants to sleep around 10 hours 17:25 <+bridge> everyday 17:26 <+bridge> i struggle with interpreting text 🔥 17:26 <+bridge> you want to tell me c is an easy to learn language? Thought it's impossible bcs of UB ^^ 17:26 <+bridge> but going to sleep at 21 didn't help either 17:26 <+bridge> on the other hand tone indicators are mehhhhbbbb 17:26 <+bridge> ok yeah, i know C to a point, i dont know its intrincascies regarding ub, and tbh i dont wanna learn them unless i rly need to someday 17:26 <+bridge> 😄 17:27 <+bridge> This message is a test! 17:27 <+bridge> This message is a :justatest: ! 17:27 <+bridge> some times i wish there would be 100000 learaths and 100000 ryozukis 17:27 <+bridge> 17:27 <+bridge> and both can code whole day 17:27 <+bridge> 17:27 <+bridge> and then see what happens after 20 years 17:27 <+bridge> Yeah reactions don't transfer through matrix and discord 17:28 <+bridge> ddnet that runs rly fucking fast or rly fucking slow 17:28 <+bridge> Depends if they start compiling or not 17:28 <+bridge> ddnet with quake alike qvm in rust 17:29 <+bridge> so every mod will be able to work xd 17:29 <+bridge> @Jupeyy_Keks the future is like this: 17:29 <+bridge> 17:29 <+bridge> - chairn designs a specificaly designed cpu optimized for vulkan rendering and ddnet code 17:29 <+bridge> - we design a language fit for that cpu and ddnet code 17:29 <+bridge> - we implement ddnet in that 17:29 <+bridge> - the quantum physics break 17:29 <+bridge> ddnetOS 17:29 <+bridge> we sell the ddnet pc for 1k€ 17:30 <+bridge> sounds like a plan 17:30 <+bridge> we also implement a tcp/ip alt 17:30 <+bridge> cuz thats bloat 17:30 <+bridge> and rework the internet 17:30 <+bridge> where ddos isnt a problem 17:30 <+bridge> blockchain based ddnet3 17:31 <+bridge> ddcoins xd 17:31 <+bridge> @Jupeyy_Keks what will we do when sdl3 17:31 <+bridge> we need to be the first to switch 17:31 <+bridge> cuz we are modern 17:31 <+bridge> ikr 17:31 <+bridge> ddnetOS ddnOS ddOs :justatest: 17:31 <+bridge> i remember when we went from sdl1 to sdl2 17:31 <+bridge> konsti complained that sdl2 was badxd 17:31 <+bridge> oh no 17:31 <+bridge> xd 17:31 <+bridge> i guess we wait around 6 months 17:31 <+bridge> and then switch or smth 17:32 <+bridge> we could ditch sdl 17:32 <+bridge> and use rust based crates 17:32 <+bridge> winit 17:32 <+bridge> mhh if it has all features 17:32 <+bridge> https://github.com/rust-windowing/winit 17:32 <+bridge> they always far behind 17:32 <+bridge> winit is only windowed 17:32 <+bridge> rust ecosystem decided to go unix way 17:32 <+bridge> split focus 17:32 <+bridge> winit only windowing 17:32 <+bridge> yeah 17:33 <+bridge> e.g. does winit support window notify 17:33 <+bridge> the blinking 17:33 <+bridge> https://github.com/rust-windowing/winit/blob/master/FEATURES.md#core 17:33 <+bridge> this is the supported things 17:33 <+bridge> patiga's wgpu renderer + libtw = ddnet client in rust 17:33 <+bridge> libtw + some polish = ddnet server in rust 17:34 <+bridge> rip xd 17:34 <+bridge> i have a vk backend in rust 17:34 <+bridge> notify would be a separate crate i think 17:34 <+bridge> https://crates.io/crates/notify 17:35 <+bridge> i dont mean notifications 17:35 <+bridge> the blinking 17:35 <+bridge> https://github.com/hoodie/notify-rust 17:35 <+bridge> u dont even know it, bcs u on i3 17:35 <+bridge> xd 17:35 <+bridge> its this my bad 17:35 <+bridge> doesn't wgpu support different backends 17:35 <+bridge> yes wgpu supports all 17:36 <+bridge> but a specific vulkan backend is probs more perf 17:36 <+bridge> wgpu is build to also work on opengl sadly 17:36 <+bridge> so the benefits as ryo said arent there 17:36 <+bridge> or only partially 17:37 <+bridge> i think they provide some platform/backend specific things in api 17:37 <+bridge> u still have wgpu overhead 17:37 <+bridge> u cant beat raw api bindings 17:38 <+bridge> which probs wouldnt matter much tho 17:38 <+bridge> i'd be glad if we'd have wgpu backend 17:38 <+bridge> its gles3 compatible and also has dx backends 17:39 <+bridge> android 17:46 <+bridge> opengl is not a primary backend of wgpu 17:47 <+bridge> for android vulkan should be enough, no? 17:51 <+bridge> generally yes, but vulkan should be enough anywhere ^^ 17:52 <+bridge> yes, except for the web if I understand correctly 17:52 <+bridge> i guess just a matter of time? 17:52 <+bridge> gles3 to webgl2 works too 😄 17:53 <+bridge> my understanding is that webgpu was invented because the low level access of vulkan wasn't feasible / okay for browsers to support 17:53 <+bridge> but they can probably emulate it, at least to a certain extend 17:54 <+bridge> do you happen to know the webgpu limitations/differences? 17:55 <+bridge> webgpu has compute shaders iirc 17:55 <+bridge> i seen LLM run on browsers or smth 17:55 <+bridge> aka u can run the image ais too 17:57 <+bridge> hm not sure what you mean with differences. its limitations are defined by its standard https://www.w3.org/TR/webgpu/#intro 17:57 <+bridge> if u have compute shaders, u have everything u need 17:57 <+bridge> 😬 17:57 <+bridge> for example you only have the vertex and fragment shader, you have compute shaders 17:58 <+bridge> see compute shaders 17:58 <+bridge> they the raw power of GPUs 17:58 <+bridge> its design is explicitly not like opengl but instead more like vulkan and such 17:59 <+bridge> yeah 20:10 <+bridge> i think you also need -mavx for AVX extension and -mavx2 for avx2, and -mavx512 for AVX512 20:18 <+bridge> im in !! 20:25 <+bridge> https://github.com/ddnet/ddnet/issues/6417 hey, i've opened this issue some time ago, could anyone maybe take a look at it? it'd be important for me 21:35 <+ChillerDragon> bash oneliner to connect to the fullest Multeasymap server xd 21:35 <+ChillerDragon> ``DDNet "connect $(mapname=Multeasymap;curl https://master1.ddnet.org/ddnet/15/servers.json | jq -r "[.servers[] | select(.info.map.name == \"$mapname\")] | sort_by(.info.clients | length) | .[-1].addresses[0]" | cut -d'/' -f3)"`` 21:36 <+ChillerDragon> thanks for the ddnet master its making stuff like that so easy @heinrich5991 21:36 <+ChillerDragon> the http and json thingies i mean