00:23 <+bridge> @ryozuki what cpu do you have? xd 00:27 <+bridge> R9 7900X3D 07:54 <+bridge> <♂S1mple♂> What it's going to do? 08:31 <+bridge> morning 08:50 <+bridge> gm 08:50 <+bridge> Morning GMT+3 enjoyers and others 09:36 <+bridge> Morning systemd enjoyers and others 09:36 <+bridge> hi after gym 09:36 <+bridge> now rust 09:36 <+bridge> :gigachad: 09:39 <+bridge> Did you think about what you wanna do as a package Manager yet ? :gigachad: 09:47 <+bridge> https://iroh.computer/ 09:47 <+bridge> https://iroh.computer/docs 09:48 <+bridge> hmm no but ill do something basic first 09:48 <+bridge> git based 09:48 <+bridge> :owo: 09:51 <+bridge> I thought about doing Something similar once with the declarative Part of nixOS for different Versions to Upgrade/downgrade and ease of linking different Versions But still easy to use (without having to manually specify each Version in a File) 09:53 <+bridge> Package Change python@2.7 09:53 <+bridge> 09:53 <+bridge> `you are using python3.0, are you Sure you want to Switch to Python Version 2.7? This will keep python3.0 installed But remove its symlink` 09:53 <+bridge> 09:53 <+bridge> Something Like that 09:54 <+bridge> thats pyenv 09:54 <+bridge> It'll generate automappers for your tileset, you just need to configure each tile, but they're preconfigured. With the current state I can create an automapper for all of grass_main in under a minute 09:54 <+bridge> Yesyesyes, now do that for clang where you want clang17 But clang-format 10 without having to manually Download Compile and symlink/move it to /User/bin 09:55 <+bridge> I would want IT to Work with Git Tags aswell as releases 10:01 <+bridge> <♂S1mple♂> That's interesting 10:02 <+bridge> first thing i see xd 10:02 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240937483081089127/image.png?ex=66486097&is=66470f17&hm=5073930c743da78139b67ab63a02e0f489db22c9a7f43515e6daa2fd69e9b2a0& 11:44 <+bridge> <.233447> heyy im playing ddnet and im near in the end this part you can finish it in solo but someone hooks me and go me back and i have been 20m near to finish and he dont let me i do vote kicks but all press f4 can you kick him plsss 13:18 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1240986824986460160/image.png?ex=66488e8b&is=66473d0b&hm=f3c05337a7b9abad96c9eb1482b6e0c502d3804dabafd4014913c5fb2da8c1b4& 13:20 <+bridge> https://doc.rust-lang.org/std/option/index.html#representation 13:51 <+bridge> That is amazing! I wanted to have such tool for a while now. But was too lazy to build it. Seems quite complex. 14:06 <+bridge> abuse 14:43 <+bridge> *bans chiller* 15:12 <+bridge> you’re banned 15:13 <+bridge> looks like ipfs 15:13 <+bridge> with better marketing 15:26 <+bridge> https://blog.rust-lang.org/2024/05/17/enabling-rust-lld-on-linux.html 15:30 <+bridge> sadly i already use mold 15:32 <+bridge> but good default for ppl who didnt change it 15:33 <+bridge> true, i just need zen5 15:34 <+bridge> @jupeyy_keks why does the C ABI require 16 byte alignment for int128 15:34 <+bridge> when the cpu only needs 8 for efficient load/stores 15:34 <+bridge> 15:35 <+bridge> bcs c must also run on my GPU 15:35 <+bridge> 😏 15:36 <+bridge> tbh abi stability is such an impossible topic 15:36 <+bridge> but at least for debug mode i'd also like to see it on rust 15:36 <+bridge> simply bcs of hot reloading puposes 15:36 <+bridge> for release it should ofc prefer max perf 15:38 <+bridge> i'd already be happy if it's stable between two invocations of the same compiler 15:38 <+bridge> and per arch 15:40 <+bridge> :f3: 15:40 <+bridge> ackshully C does not define an ABI 🤓 15:41 <+bridge> i was about to say it 15:41 <+bridge> but 👽 15:41 <+bridge> where is the C language 15:41 <+bridge> find it 15:42 <+bridge> so what does it? 15:42 <+bridge> the c call convention? 15:42 <+bridge> C doesn't define a calling convention either 15:43 <+bridge> so its gcc and clang? 15:43 <+bridge> it's the OS 15:43 <+bridge> i guess u simply mean alignment requirements 15:43 <+bridge> x86 needs just 8 byte for efficient load store of a i128 15:43 <+bridge> but to interface with C u need to use 16 15:44 <+bridge> says who 15:44 <+bridge> https://groups.google.com/g/x86-64-abi ask here y 15:44 <+bridge> In C and C++, on x86_64 Linux, alignof(__int128) is equal to 16. However, in Rust, align_of::() is equal to 8. 15:44 <+bridge> 15:44 <+bridge> C++: https://gcc.godbolt.org/z/YAq1XC 15:44 <+bridge> Rust: https://gcc.godbolt.org/z/QvZeqK 15:44 <+bridge> 15:44 <+bridge> This will cause subtle UB if you ever try to use i128s across FFI boundaries; for example: 15:44 <+bridge> 15:44 <+bridge> C++: https://gcc.godbolt.org/z/PrtHlp 15:44 <+bridge> Rust: https://gcc.godbolt.org/z/_SdVqD 15:44 <+bridge> this was fixed in rust 1.77 15:44 <+bridge> to be 16 too 15:45 <+bridge> :rplace: 15:45 <+bridge> does c even have a 128 bit integer type standarized? 15:45 <+bridge> No 15:45 <+bridge> maybe in modern C 15:45 <+bridge> idk actually 15:45 <+bridge> but i think it’s extensions 15:45 <+bridge> Ah, I do have an idea why they do 16 byte alignment 15:47 <+bridge> simd? 15:47 <+bridge> C23 defines a int with arbitrary size i think 15:47 <+bridge> https://blog.tal.bi/posts/c23-bitint/ 15:48 <+bridge> ```c 15:48 <+bridge> constexpr size_t K = /* compile time value */; 15:48 <+bridge> typedef _BitInt(K) color; 15:48 <+bridge> 15:48 <+bridge> struct RGB { 15:48 <+bridge> color R; 15:48 <+bridge> color G; 15:48 <+bridge> color B; 15:48 <+bridge> }; /* sizeof(RGB) == 3 * K */ 15:48 <+bridge> ``` 15:48 <+bridge> wild 15:50 <+bridge> this was my guess but I couldn't find a source for it 15:50 <+bridge> simd requires 16byte align 15:51 <+bridge> I meant as in a source that states that that is indeed the reason 15:52 <+bridge> friendly reminder: 15:52 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1213230303875964940/image.png?ex=66486f05&is=66471d85&hm=b35a80f2bead998590f38ed8a3a92282acbb0d2844e4d7d291c203ec456c0521& 15:52 <+bridge> that is what i call an alignment 15:53 <+bridge> 16 bytes ,pff 15:53 <+bridge> whats that from 15:53 <+bridge> gpu? 15:53 <+bridge> yes 15:53 <+bridge> allocating memory for a texture 15:54 <+bridge> why that alignment? 15:54 <+bridge> is that the bus transfer alignment or smth 15:55 <+bridge> explain gpu expert 15:55 <+bridge> well i guess it has to do with such things yeah, but why exactly i dunno. 15:55 <+bridge> 15:55 <+bridge> could also simply be that when 2000 shader cores read from memory it sucks latency wise if they are too close 15:55 <+bridge> guess u'll need to ask chairn 15:56 <+bridge> i wonder anyway when GPUs actually cache memory vs when not 15:56 <+bridge> it's different to CPUs 15:56 <+bridge> time to sneak into nvidia corp 16:02 <+bridge> @ryozuki do you often have to interact with low level stuff like alignment when working on your compiler? or does llvm abstract most stuff away and u just sometimes hit those? 16:06 <+bridge> you pass a data layout to llvm 16:06 <+bridge> and it handles those in store,loads and allocas 16:06 <+bridge> but the hack here is that when we want to call a function of the program from jit or as a shared lib we need to care 16:06 <+bridge> xd 16:07 <+bridge> but the hack here is that when we want to call a function of the program from jit or as a lib we need to care 16:19 <+bridge> friday 16:19 <+bridge> rust 16:19 <+bridge> @jupeyy_keks 16:21 <+bridge> i updated quinn and rustls and have a bug now 16:21 <+bridge> epyc friday rust moment 16:22 <+bridge> I did dig around a bit out of curiosity. Intels optimization guide for Intel 64 bit processors suggests that instructions that move data operate best with destinations that are aligned to the natural alignment of the type 16:23 <+bridge> Also, store to load forwards for 128-bit integers don't stall the pipeline if the destination of the load is aligned to the natural size 16:27 <+bridge> Finally I think it also allows compilers to optimize using SIMD registers to move 128 bit values more efficiently 16:28 <+bridge> http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf here is what I was digging around it, mainly section 3.6.4, observe that the table only guarantees non stalled 128 bit store to load forwarding if both the store it naturally aligned and the load is from a dqword aligned address (also the natural alignment) 16:33 <+bridge> https://increment.com/software-architecture/exit-the-haunted-forest/ 16:34 <+bridge> interesting, thanks 18:48 <+bridge> dead chat 18:50 <+bridge> https://www.osnews.com/story/139444/gentoo-bands-use-of-ai-tools/ 18:50 <+bridge> did we have trouble with ai prs and commits? 18:50 <+bridge> u 18:50 <+bridge> we should ban them to make a marketing pr post 18:50 <+bridge> :gigachad: :poggers2: 18:51 <+bridge> @scrumplex did u have issues with ai prs 18:51 <+bridge> imagine beeing called "osnews" and having a typo in your url 18:51 <+bridge> gentoo bands? what kind of music they playing! 18:51 <+bridge> xd 18:52 <+bridge> i hate mobile 18:52 <+bridge> https://www.reddit.com/r/programming/s/7ZezDaY9Ne 18:54 <+bridge> "Gentoo Council" lmao 18:54 <+bridge> 100 users have a council 18:54 <+bridge> to feel better 18:54 <+bridge> i like this one: 18:54 <+bridge> ``` 18:54 <+bridge> This is a disturbing trend. The AI kids believe they can automate software engineering with AI chatbots yet they not even know what the software development process of software is. And they are very confident of what they don't have experience about 18:54 <+bridge> 18:54 <+bridge> A call it the new cargo cult programming 18:54 <+bridge> ``` 18:55 <+bridge> don't be jealous you don't have a cool council making your decisions 18:55 <+bridge> the problem is, aren't gentoo ppl also rather script kiddies than actual software architects? 18:55 <+bridge> oh god what have you done, ryo will launch all his fishies at once 18:55 <+bridge> i mean they don't develop the software themself do they? 18:56 <+bridge> They do develop some software, mostly distro management stuff like the package manager 18:56 <+bridge> Also in the past they maintained a fork of eudev when eudev took the systemdpill, and ofc the most important, they maintain OpenRC 18:57 <+bridge> Well technically nowadays openrc has split off a bit more, but it's still mostly the same people 18:58 <+bridge> ping 18:58 <+bridge> There is also the linux kernel patchset they maintain for gentoo 18:58 <+bridge> @melon 18:58 <+bridge> @blaiszephyr 18:58 <+bridge> Are you having a stroke? 18:58 <+bridge> Kinda 18:58 <+bridge> Sorry to interrupt haha 18:58 <+bridge> rip, you'll be missed 18:59 <+bridge> oh, that's very kind 18:59 <+bridge> !ban fokkonaut 0 18:59 <+bridge> ❤️ 18:59 <+bridge> i wanna know if NixOS will follow the same path in declining PR's that used AI 19:00 <+bridge> espacially because NixOS changes daily, whatever the AI spits out, is 99% wrong :D 19:03 <+bridge> i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~ 19:03 <+bridge> i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~10 devs in here and every single one of them codes differently 19:03 <+bridge> i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~10 devs in here and every single one of them codes differently - their environment, their toolchain, OS - it all differs to some point and i find that quite interesting 19:04 <+bridge> i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~10 people in here activly chatting and every single one of them codes differently - their environment, their toolchain, OS - it all differs to some point and i find that quite interesting 19:04 <+bridge> i find it so interesting that we're all playing the same game and contributed to such - but everyone has his own preferences and does things differently, we have ~10 people in here activly chatting and every single one codes differently. Their environment, their toolchain, OS - it all differs at some point and i find that quite interesting. 19:06 <+bridge> diversity is our power 19:08 <+bridge> I'm still using windows and visual studio 😤 19:09 <+bridge> xDD 19:09 <+bridge> That's okay, we still like you as is 19:09 <+bridge> yeah.. haha **hides knive** we respect you totally!! 19:10 <+bridge> 🔫 19:13 <+bridge> I think that kind of diversity can be applied to all human beings 19:16 <+bridge> nope :o 19:18 <+bridge> https://tenor.com/view/developers-gif-4458491 19:18 <+bridge> @blaiszephyr right now 19:20 <+bridge> this channel is also a rust sanctuary 19:20 <+bridge> church* 19:20 <+bridge> in rust we trust 19:20 <+bridge> https://tenor.com/view/dsmp-gif-27256181 19:24 <+bridge> :^( 19:24 <+bridge> https://cdn.discordapp.com/attachments/293493549758939136/1241078905524195328/6490a98ad967077d.png?ex=6648e44d&is=664792cd&hm=f0d6aeff806cc193663e9c009127848a5a02816cd128123d89d1dda68a20bad3& 19:25 <+bridge> @blaiszephyr we also discuss compilers, C stuff, abis, the meaning of life and more 19:25 <+bridge> !! 19:26 <+bridge> will ur kid learn rust? 🧐 19:26 <+bridge> at the age of 6 she will learn assembly, at the age of 8 she will learn how to build her own phone 19:26 <+bridge> good 19:26 <+bridge> rust will be learned to write the phone's backend 19:27 <+bridge> make sure to make her wear the appropiate programming socks 19:27 <+bridge> I'm always here to provide any knowledge you need from the old world 19:27 <+bridge> i will buy her some! 19:28 <+bridge> is it old if its needed? 19:28 <+bridge> learn the sys v abi by memory 19:28 <+bridge> the abi wizard 19:28 <+bridge> It's not needed. You must be doing things wrong. Have you considered just using python? 19:28 <+bridge> :justatest: 19:29 <+bridge> This is a bit of a useless exercise imo. Atleast the details. I know the outline of it and where to look when needed instead 19:29 <+bridge> Is there any haskell enjoyers? 19:29 <+bridge> no 19:29 <+bridge> use elixir 19:33 <+bridge> It's more like opt-in dynamic typing 19:33 <+bridge> Most of everything I write is statically typed 20:09 <+bridge> :NekoDrink: