01:10 < ws-client> > str_format is also very slow, str_from_int is much faster if you just need to convert an integer to a string 01:10 < ws-client> @robyt3 woah i did not know that 01:11 < ws-client> Can we add a grep for str_format "%d" to the CI to auto check that? 01:13 < bridge> it's kinda sad that we can't simply optimize `str_format`… 01:28 < bridge> How exactly does it go from pink to blue idk, and I've spent 2 hours trying to figure it out 01:28 < bridge> 01:28 < bridge> I need help ;-; 01:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237546686436606024/image.png?ex=663c0aaa&is=663ab92a&hm=087a7cc660d2b7227799a400b6ae9ed182962ab938a6b8dce7f3ba50596be5a9& 01:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237546686654451713/image.png?ex=663c0aaa&is=663ab92a&hm=0f4549885aec86dbf0ab9f3b161f46070ef3991c6de718385f54b7686f5f9168& 01:29 < bridge> This is after converting the color code to hsl, and translating saturation and lightness to a percentage of 255 03:01 < ws-client> @heinrich5991 fyi i will give editor text typing another go now 03:02 < ws-client> trying to finally clean up that old stale issue of mine https://github.com/ddnet/ddnet/issues/3570 07:23 < bridge> All that and it still broke hahaha 10:23 < bridge> The hue value is not correct, teeworlds/ddnet color components are in the range 0-255, but the tool you are using uses hue from 0-359. `206 / 255 * 360 = 290` 10:31 < bridge> Ah yes, diagonal colors 10:33 < bridge> Wait, so the tool just adds the remainer of the number exceeding 255 as the result then? 10:34 < bridge> Or what that calculation represents? 206 as the value you want, divided by the max value of hue, multiplied by the tool's max hue value? 10:35 < bridge> yes, it's how to get the correct hue value for the tool 10:35 < bridge> probably this one, given the similarity of the UI: https://hslpicker.com/ 10:36 < bridge> pog 10:36 < bridge> makes sense then :owo: 10:37 < bridge> basically percentage convertion between 255 and 360, using the base value. 10:38 < bridge> Ah, so what the guy wanted, converting the color code to hsl... shit even I had trouble with it sometimes 10:59 < ws-client> > All that and it still broke hahaha 10:59 < ws-client> @fokkonaut all wat? xd 11:00 < ws-client> There isn't even a 0.7 connecting to the server check in the CI it would have caught it. 11:00 < bridge> all that work and effort and political discussions 11:01 < ws-client> you mean mine? 11:01 < bridge> in order to be broken by a pr which fixes something 11:01 < bridge> yes for 0.7 11:01 < bridge> Wait is it even through? 11:01 < bridge> or why did u create an issue 11:01 < ws-client> no 11:01 < ws-client> i spend most time client side 11:01 < ws-client> only a bit of lobbying which got lerato and timakro to implement the server side 11:02 < bridge> Ah this is about 0.7 client not working 11:02 < ws-client> and the server side is what broke 11:02 < bridge> ah 11:02 < bridge> misunderstood 11:02 < bridge> I didn't even notice the hue is capped at 255 11:02 < ws-client> imagine my pr getting merged xd 11:02 < bridge> hi chiller 11:02 < bridge> Comic Sans MS 11:02 < bridge> fr 11:02 < ws-client> but ye fokko i tried to lobby a bit for the ddnet server bridge to happen in the first place 11:03 < bridge> did u ? 11:03 < ws-client> not sure if my lobbying did help to make it happen tho 11:03 < bridge> 2 of the greatest ddnet minds, teach me thine ways 11:03 < bridge> xD 11:07 < bridge> This fixed the linking errors :poggers: now it's time for gradle errors :pepeW: 11:07 < ws-client> android gaming powered by robsti? 11:08 < ws-client> that one dude who has like 90k points on ddnet and does like tripple drag pseudofly without ever having touched a mouse and keyboard in his life will thank you robsti 11:08 < ws-client> he is still stuck in ddnet 6.2.3 11:08 < bridge> no one has 90k points 11:09 < ws-client> i may have used the stylistic device hyperbole in that sentence 11:09 < bridge> theres someone playing on android? 11:09 < bridge> like actually playing ? 11:09 < ws-client> yes 11:09 < bridge> tf 11:09 < ws-client> like never tried desktop 11:09 < bridge> impossible 11:09 < ws-client> and having more points than me ._. 11:09 < bridge> anytime you walk it automatically jumps 11:09 < bridge> lmao 💀 11:09 < ws-client> and he mentioned once that he would really appreciate an client update 11:09 < ws-client> so its really epic that robsti works on it 11:10 < ws-client> robsti and jopsti androiders 11:10 < bridge> chinese players found pc to be too easy :KEKW: 11:10 < bridge> hes doing it without the left joystick so it doesnt count in my eyes 11:10 < bridge> not real mobile ddnet 11:10 < ws-client> what does he use instead? 11:11 < bridge> btw maybe cuz chinese people have more time on phones, thats the reason they want android version 11:11 < bridge> he uses 3 buttons 11:12 < bridge> only 3?? 11:12 < bridge> jump, hook, hammer? 11:12 < ws-client> yea imagine finishing a ddnet map without 20 emote binds 11:13 < bridge> no he uses 3 buttons for movement 11:13 < bridge> the fuck are you smoking 11:13 < bridge> left jump and right 11:13 < bridge> instead of the joystick 11:14 < bridge> warning 11:14 < bridge> inappropiate use of language 11:15 < bridge> ok mr fork on these nuts 11:15 < ws-client> forkonaut xd 11:16 < bridge> cyberForker 🍴 11:16 < bridge> btw i played ddnet on a car multimedia 11:16 < bridge> it sucked xd 11:17 < bridge> There's no vacuum cleaner emoji 11:17 < bridge> 🪠 11:18 < bridge> whats up fokkonaut 11:18 < bridge> do you know updog? 11:18 < bridge> wtf is updog??? 11:18 < bridge> the sky 11:18 < bridge> duhh 11:18 < bridge> Not much, just chilling 11:19 < bridge> sweet 11:19 < bridge> eating pretzels and watching tv on my way to sleep 11:19 < bridge> Nice 11:19 < bridge> what time is it 11:19 < bridge> 3:19 11:19 < bridge> am ? 11:19 < bridge> yep 11:19 < bridge> bruh 11:19 < bridge> its 1120 here 11:20 < bridge> am 11:20 < bridge> yep 11:20 < bridge> maybe tim will respond soon 11:20 < bridge> Who? 11:20 < bridge> my boy 11:20 < bridge> need help with unique db 11:20 < bridge> a 11:21 < bridge> usa is disconnected from the race ranks db 11:21 < bridge> i can technically take auth from can servers but idk if he would want that 11:21 < bridge> so i wait for response 11:21 < bridge> i got 2kg of whey protien 11:21 < bridge> :justatest: 11:21 < bridge> nice 11:21 < bridge> buying in bulk is always more cheap right 11:21 < bridge> usually yea 11:22 < bridge> depends on where tho 11:22 < bridge> about to smoke a legal joint in Germany👍 11:22 < bridge> hell yeah 11:22 < bridge> xd 11:22 < bridge> i used to casually smoke on weekends with friends 11:22 < bridge> 11:20 AM wednesday weed hits the best 11:22 < bridge> but i dont rly like it i think 11:22 < bridge> thats good 11:22 < bridge> it makes me feel like im losing my time 11:22 < bridge> yeah 11:22 < bridge> cuz u literally become dumb 11:22 < bridge> well 11:22 < bridge> cant be productive 11:22 < bridge> yes, if u overdo it 11:22 < bridge> i think u become dumb the next day 11:22 < bridge> + dont take so much 11:22 < bridge> usually im just happy but usually similarly sharp 11:23 < bridge> when just idly high 11:23 < bridge> dont do it everyday then its fine, like only at a weekend and just if u have time and _want_ to do it 11:23 < bridge> for relaxation etc 11:23 < bridge> yeah 11:24 < ws-client> any windows cmake enjoyer wants to test if my project builds on your machine? :D 11:24 < bridge> sure 11:24 < bridge> send 11:24 < ws-client> https://github.com/ChillerDragon/Craft 11:24 < ws-client> ty babe 11:24 < ws-client> make sure to clone recursive it builds dependencies from source 11:25 < ws-client> no blobs involved 11:25 < ws-client> whats your favorite build workflow ewan? how do you build ddnet? 11:25 < bridge> in ide i press play button 11:25 < ws-client> yes i am hoping that works here as well 11:25 < bridge> on cmdline i do cmake -B build && cmake --build build 11:27 < bridge> i think u should change your submodules to work over https so that i dont need proper auth 11:27 < bridge> over ssh 11:28 < ws-client> is it different than ddnet? 11:29 < ws-client> https://github.com/ddnet/ddnet/blob/f214c1101b67ce231edabb80416c3dc021716f68/.gitmodules#L3 11:29 < ws-client> oh yes 11:29 < ws-client> ok sure i can do that 11:32 < bridge> iadded ssh key anyway 11:32 < bridge> idk how i didnt have one already 11:32 < bridge> Just had a call with my instructor, I might be able to go to france in September 11:32 < bridge> nice 11:33 < bridge> oh no 11:33 < bridge> wat 11:33 < bridge> build fail 11:33 < bridge> mine worked 🚬 11:34 < bridge> chiller u building glfw from source 11:34 < bridge> crazy 11:34 < bridge> joke 11:34 < ws-client> ye ikr xd 11:34 < bridge> it wants real msvc windres :feelsbadman: 11:34 < ws-client> wat 11:34 < bridge> gnu windres doesn't have arg it wants 11:34 < ws-client> send erro 11:34 < bridge> hey, is it possible to declare variables like dis in nasm? or they all have to be in .data section 😦 11:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237699250553622558/image.png?ex=663c98c0&is=663b4740&hm=ba612168adb0be5f99757e63cf791ad1cabf595a0544307197cd5fc6cebfdf77& 11:35 < ws-client> fokko wat instructor 11:35 < bridge> apprenticeship 11:35 < ws-client> cool 11:35 < bridge> very cool 11:35 < bridge> right 11:35 < ws-client> how long? 11:35 < bridge> 2 weeks 11:35 < bridge> im applying for apprenticeship program rn 11:35 < bridge> tests are intensive 11:35 < ws-client> ewan wats erro 11:35 < bridge> :D 11:35 < bridge> it's cooking 11:36 < ws-client> i thought it failed 11:36 < bridge> yeah 11:36 < bridge> hold on 11:36 < bridge> 🧑‍🍳 11:36 < bridge> have to parse command line gobbletygook without highlighting 11:36 < bridge> for whatever reason 11:37 < ws-client> wat xd 11:37 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237699872753451039/message.txt?ex=663c9955&is=663b47d5&hm=d2c8fd8b96f899935480ee5cc791fb26f38af6a53e5697768c8e5fa88a33ef8b& 11:37 < bridge> this is all output 11:37 < bridge> there are a few things here 11:37 < ws-client> This content is no longer available. 11:37 < bridge> haha 11:38 < bridge> hold on 11:38 < ws-client> irc bullying 11:38 < bridge> http://john2143.com/f/Kt6A 11:38 < ws-client> john com xd 11:38 < bridge> my boy john 11:45 < ws-client> and i made it work with local in the github actions windows CI 11:45 < ws-client> you seem to be failing on glfw not on curl 11:45 < bridge> im on vs now 11:46 < bridge> it succeeded on msys because it was presumably finding system curl 11:46 < ws-client> can you run the craft.exe ? 11:46 < bridge> nope 11:47 < bridge> build fails on both 11:47 < bridge> but at least msys finds curl xd 11:49 < ws-client> xd 11:49 < ws-client> sadge 11:49 < bridge> so i wonder why u opt to build curl first and then link to it 11:49 < ws-client> i was expecting that getting it to pass in the github CI was only the first step but did not expect it to be that bad 11:49 < bridge> instead of just building it in source 11:49 < ws-client> wdym building it in source? 11:49 < bridge> include the headers from the source 11:49 < ws-client> i need to compile the lib 11:49 < ws-client> its not a header only thing 11:49 < bridge> right 11:49 < bridge> so include curl sources 11:49 < bridge> in cmake 11:49 < bridge> lolol not in ur cpp 11:49 < ws-client> it has its own cmakelists.txt 11:49 < ws-client> i dont wanna replicate their whole build settings 11:49 < ws-client> just call it 11:49 < ws-client> i feel like thats how it is supposed to be done 11:49 < ws-client> anyways im getting late for beach bye 11:49 < ws-client> thanks a lot again 11:52 < bridge> Now i wanna try aswell, Break me free of my chains, let me Go Home :feelsbadman: 11:53 < bridge> try what 11:55 < bridge> Build chillers stuff on windows 11:58 < bridge> http://2143.christmas/f/P53k.png 11:58 < bridge> chiller rly 12:11 < bridge> it's building libcurl.dll 12:11 < bridge> and iirc curl can't be built statically through cmake 12:12 < bridge> ```cmake 12:12 < bridge> set(CMAKE_C_STANDARD 99) 12:12 < bridge> set(gcc_like_cxx "$") 12:12 < bridge> set(msvc_cxx "$") 12:12 < bridge> add_compile_definitions( 12:12 < bridge> "$<${gcc_like_cxx}:$>" 12:12 < bridge> "$<${msvc_cxx}:$>" 12:12 < bridge> ) 12:12 < bridge> ``` 12:12 < bridge> but here's the portable version of this 12:12 < bridge> and if ur building it yourself i would just advise foregoing find_package 12:12 < bridge> just link_libraries 12:12 < bridge> since you're already including the headers 12:13 < bridge> im going to bed 12:13 < bridge> maybe melon can crack it 12:15 < bridge> I'll try lol 12:15 < bridge> Gn! 13:02 < bridge> ```cmake 13:02 < bridge> [build] cl : befehlszeile warning D9002: Unbekannte Option "-std=c99" wird ignoriert. [C:\Users\Anwender\Projects\Craft\build\craft.vcxproj] 13:02 < bridge> [build] cl : befehlszeile warning D9002: Unbekannte Option "-O3" wird ignoriert. [C:\Users\Anwender\Projects\Craft\build\craft.vcxproj] 13:02 < bridge> ``` :kek: 13:02 < bridge> 13:02 < bridge> 13:02 < bridge> also yeah just use precompiled binaries for libcurl i guess. 13:02 < bridge> 13:02 < bridge> anway CHILLER 13:02 < bridge> 13:02 < bridge> it works. 13:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237721244074512487/image.png?ex=663cad3c&is=663b5bbc&hm=8f16c87c5125216dd078b96787963b59d2ceebd51c34fa680de97a48930b82dd& 13:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237721252773236736/image.png?ex=663cad3e&is=663b5bbe&hm=5011c7595154496b225d9c73c2ee1fcb2e3c5bb2b6372ded1311eef60da7094c& 13:02 < bridge> ```cmake 13:02 < bridge> [build] cl : befehlszeile warning D9002: Unbekannte Option "-std=c99" wird ignoriert. [C:\Users\Anwender\Projects\Craft\build\craft.vcxproj] 13:02 < bridge> [build] cl : befehlszeile warning D9002: Unbekannte Option "-O3" wird ignoriert. [C:\Users\Anwender\Projects\Craft\build\craft.vcxproj] 13:02 < bridge> ``` :kek: 13:02 < bridge> 13:02 < bridge> 13:02 < bridge> also yeah just use precompiled binaries for libcurl i guess. 13:03 < bridge> 13:03 < bridge> anway CHILLER 13:03 < bridge> 13:03 < bridge> it works. 13:03 < bridge> good game 13:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237721422038831154/image.png?ex=663cad66&is=663b5be6&hm=1558db5d0dd7dca0d4d0218fc4c9a2d8cbeedb69ab20ed51c133a9c68ebb7725& 13:03 < bridge> good game 11/10 13:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237721422038831154/image.png?ex=663cad66&is=663b5be6&hm=1558db5d0dd7dca0d4d0218fc4c9a2d8cbeedb69ab20ed51c133a9c68ebb7725& 13:11 < bridge> Msvc really is a Bully for Splitting Up every single build target Up into 20 subdirectories thus Not correctly linking stuff 13:55 < bridge> question: if u want to go from u8 to i32, do you sign extend or zero extend 13:55 < bridge> it should bezero i think right? 13:55 < bridge> if I go from 255_u8 to i32, I expect 255_i32 13:56 < bridge> so zero-extend 13:56 < bridge> ok i had a bug xd 13:57 < bridge> Minetest is better 14:08 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237737829690245250/image-2.png?ex=663cbcae&is=663b6b2e&hm=0d4cb6f12efa9e562b3c6779a934343ea285412238d53d91c883540c5bf4c2e0& 14:15 < bridge> Isn't zero-extend the same as sign-extend on u8, as the only sign is positive, where you would zero-extend? 14:17 < bridge> in general I'd always expect sign-extend I think 14:18 < bridge> the CPU doesn't care about u8 vs i8, generally. that means "sign-extend" will extend the highest bit from the u8, effectively treating it like an i8 14:19 < bridge> ah, I thought we were talking in the context of a compiler 14:20 < bridge> I guessed it was about emitting instructions to the CPU, in a compiler 14:25 < bridge> hm yea these terms seem to map directly to cpu instructions, so I'll go with your interpretation ^^ 14:29 < bridge> yeah 14:29 < bridge> well it was about emitting llvm ir intrustions but yes 14:30 < bridge> llvm also doesnt care about u8 or i9 14:30 < bridge> i8 15:05 < bridge> Progress. Map rendering still broken though 15:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237752285271162992/image.png?ex=663cca25&is=663b78a5&hm=22c68f7e6a1e725a7e1e7b8bbefc94eb0fcf6bec2bf3d79a45fc34e1f21dbfc9& 15:09 < bridge> amazing, wow 😮 15:09 < bridge> that seems like half the way already 15:17 < bridge> ``` 15:17 < bridge> 15:17 < bridge> How is GEP different from ptrtoint, arithmetic, and inttoptr? 15:17 < bridge> 15:17 < bridge> It’s very similar; there are only subtle differences. 15:17 < bridge> 15:17 < bridge> With ptrtoint, you have to pick an integer type. One approach is to pick i64; this is safe on everything LLVM supports (LLVM internally assumes pointers are never wider than 64 bits in many places), and the optimizer will actually narrow the i64 arithmetic down to the actual pointer size on targets which don’t support 64-bit arithmetic in most cases. However, there are some cases where it doesn’t do this. With GEP you can avoid this problem. 15:17 < bridge> 15:17 < bridge> Also, GEP carries additional pointer aliasing rules. It’s invalid to take a GEP from one object, address into a different separately allocated object, and dereference it. IR producers (front-ends) must follow this rule, and consumers (optimizers, specifically alias analysis) benefit from being able to rely on it. See the Rules section for more information. 15:17 < bridge> 15:17 < bridge> And, GEP is more concise in common cases. 15:17 < bridge> 15:17 < bridge> However, for the underlying integer computation implied, there is no difference. 15:17 < bridge> 15:17 < bridge> ``` 15:17 < bridge> interesting 15:58 < bridge> AFAIK that's the reason for the unsafety of the `offset` method on raw pointers: https://doc.rust-lang.org/std/primitive.pointer.html#method.offset-1 17:16 < bridge> https://docs.rs/regex-automata/latest/regex_automata/dfa/trait.Automaton.html 17:16 < bridge> this is rly some piece of work 17:17 < bridge> what are you making? 17:18 < bridge> nothing just found this from reddit 17:18 < bridge> i just admired the amount of work this probs took 17:18 < bridge> look the docs detail 17:18 < bridge> xd 17:18 < bridge> I looked at this while trying to figure out whether I can generate an aho corasick automata at compile time 17:19 < bridge> permalink (press 'y' anywhere on docs.rs): https://docs.rs/regex-automata/0.4.6/regex_automata/dfa/trait.Automaton.html 17:19 < bridge> maybe I should write a bot 🤔 17:20 < bridge> https://faultlore.com/blah/abi-puns/ 17:21 < bridge> ``` 17:21 < bridge> To recap, abi-cafe was created in a feverish mania as I became increasingly obsessed with the disaster that was C’s technically-nonstandard-but-also-literally-used-in-standards __int128. Like sure there’s the whole intmax_t debacle, but that’s understandable. The truly unforgivable thing was that clang and gcc couldn’t reliably pass __int128 between each other. This of course meant that if Rust’s i128 wished to interoperate with them… i 17:21 < bridge> 17:21 < bridge> Actually I’m telling this story a bit backward. Initially we definitely knew that Rust and Clang disagreed in at least one case on at least platform. Discussion of this issue was stalled out because people weren’t sure of the scope and nature of the problem. Which cases were broken? Who was right or wrong and needed to be fixed? What needed to be fixed? Did __int128 FFI work right on any platforms? 17:21 < bridge> 17:21 < bridge> So I made abi-cafe, which let me describe a function signature in the abstract and generate code for the caller and callee, in Rust or C, and compile and link them together. Notably the generated code had both sides “report” the values they saw with callbacks, so the test harness could just run them and compare what each side reported. 17:21 < bridge> ``` 17:22 < bridge> https://docs.rs/regex-automata/0.4.6/regex_automata/dfa/dense/struct.DFA.html#method.from_bytes you can serialize a dfa and save it 17:22 < bridge> lmao I watched that video 17:23 < bridge> epyc 17:24 < bridge> Ah nice it just worked for you? Or did you have to change something? How did you build it? 17:24 < bridge> @learath2 burntsushi is a mastermind and its epic to have him in rust tbh 17:24 < bridge> https://crates.io/users/BurntSushi 17:25 < bridge> totally not famous crates 17:25 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237787432376864819/image.png?ex=663ceae0&is=663b9960&hm=965887d777517851a1a015f61df89c2cd84f1756be29e72e003d1ebbe4d8c3d5& 17:25 < bridge> :justatest: 17:26 < bridge> https://www.sophiajt.com/search-for-easier-safe-systems-programming/ 17:28 < bridge> epyc, how did u fix the link errors? 17:28 < bridge> 17:29 < bridge> what backend does it use? 17:29 < bridge> 17:29 < bridge> i assume that's an emulator? 17:29 < bridge> Yea it seems to be the most maintained block game. But their visual design is so bad it‘s unplayable for me. 17:30 < bridge> what part? can it be modded? 17:31 < bridge> All of it is soo ugly. And sadly the project is too big to simply mod everything 17:31 < bridge> 1. Using https://github.com/bbqsrc/cargo-ndk, but I can't figure out how to configure it's output directory correctly so you need to copy the libraries manually and build twice 17:31 < bridge> 2. I tried all backends, Vulkan doesn't work, it reverts back 17:31 < bridge> 3. Yeah, it's an emulator. Once you go ingame you are stuck since you can't open the menu because escape doesn't work on the emulator for some reason 17:31 < bridge> 1. Using https://github.com/bbqsrc/cargo-ndk, but I can't figure out how to configure its output directory correctly so you need to copy the libraries manually and build twice 17:31 < bridge> 2. I tried all backends, Vulkan doesn't work, it reverts back 17:31 < bridge> 3. Yeah, it's an emulator. Once you go ingame you are stuck since you can't open the menu because escape doesn't work on the emulator for some reason 17:31 < bridge> https://www.minetest.net/#gallery doesn't look so bad 17:32 < bridge> There have been mods that tried to mimic the exact look of Minecraft. But even for those you have to go through the ugly launcher. And the mods them self look still way worse than Craft 17:32 < bridge> send me apk, i can test on my phone 😄 17:32 < bridge> i want vulkan 17:32 < bridge> last i tested it still worked 17:32 < bridge> Is it x86? I only have that apk ready 17:32 < bridge> i built it just using `cmake build -G "Visual Studio 17 2022" && cmake --build .` 17:32 < bridge> 17:32 < bridge> apart from having to move the glfw and libcurl headers aswell as the .exe manually, it kind of worked straight out of the box, having to move those files is a msvc issue (or im just to bad to set it up correctly) 17:32 < bridge> Every single screenshots makes me wanna puke 17:32 < bridge> i think the emulators have no vk support 17:32 < bridge> oh no it's arm 17:32 < bridge> do you know the OG of minecraft is no one else but Zachtronics 17:32 < bridge> arm64 17:32 < bridge> It’s just not my style 17:32 < bridge> maker of TIS-100 and exapunks 17:32 < bridge> > Zachtronics was founded by Zach Barth in 2000, who serves as its lead designer. Some of their games include SpaceChem, Infinifactory, TIS-100, and Shenzhen I/O. Infiniminer (2009) inspired the creation of Minecraft. 17:33 < bridge> https://www.zachtronics.com/infiniminer/ 17:33 < bridge> > Infiniminer is a first-person competitive mining game that takes place in a procedurally generated block world allowing players to mine, build, and explore. Sound familiar? That’s because Infiniminer is the game that started the “block genre” that everyone knows and loves! It’s also quite buggy and old, and is listed here purely for historical reasons. 17:33 < bridge> xd 17:35 < bridge> But yes if minetest would have a design I like and physics that feel good it would be amazing. But bending everything to my needs seems to be more effort than starting from Craft which seems to have enough features to function as a good game engine. 17:37 < bridge> Talking about aho-corasick again reminded me that I had one more string search algorithm I wanted to share with youse. Has anyone heard of Rabin-Karp algorithm? 17:39 < bridge> It basically uses a rolling windowed hash over the haystack, quite a clever idea 17:39 < bridge> Untested, it's signed with the debug key 17:39 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237790931411931196/DDNet-arm64.apk?ex=663cee23&is=663b9ca3&hm=97dd963293603c882ef4bfb2942a76bd114a9052b0736d7297806a9019ad4c42& 17:40 < bridge> Supposing you can connect keyboard and mouse it should be playable if Vulkan works 17:40 < bridge> i use scrcpy 17:40 < bridge> What did you have to move from where to where? To build it? Or to run it? 17:42 < bridge> ``` 17:42 < bridge> 17:42 < bridge> #03 pc 0000000000b4f4e0 /data/app/~~CB3gJmYnDypE7Tt0GeY6pg==/tw.ddnet-ZaQHILJQjp03xFlIOoioFQ==/lib/arm64/libDDNet.so (io_write(void*, void const*, unsigned int)+148) (BuildId: 87efde8ff66ec7895f494b893a16f33dd0813378) 17:42 < bridge> 05-08 17:41:27.458 22528 22528 F DEBUG : #04 pc 0000000000d9a590 /data/app/~~CB3gJmYnDypE7Tt0GeY6pg==/tw.ddnet-ZaQHILJQjp03xFlIOoioFQ==/lib/arm64/libDDNet.so (InitAndroid+448) (BuildId: 87efde8ff66ec7895f494b893a16f33dd0813378) 17:42 < bridge> 05-08 17:41:27.458 22528 22528 F DEBUG : #05 pc 0000000000cac3c8 /data/app/~~CB3gJmYnDypE7Tt0GeY6pg==/tw.ddnet-ZaQHILJQjp03xFlIOoioFQ==/lib/arm64/libDDNet.so (SDL_main+204) (BuildId: 87efde8ff66ec7895f494b893a16f33dd0813378) 17:42 < bridge> 05-08 17:41:27.458 22528 22528 F DEBUG : #06 pc 000000000122d314 /data/app/~~CB3gJmYnDypE7Tt0GeY6pg==/tw.ddnet-ZaQHILJQjp03xFlIOoioFQ==/lib/arm64/libDDNet.so (Java_org_libsdl_app_SDLActivity_nativeRunMain+712) (BuildId: 87efde8ff66ec7895f494b893a16f33dd0813378) 17:42 < bridge> 17:43 < bridge> ``` 17:43 < bridge> 17:43 < bridge> crashes in InitAndroid io_write 17:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237792444448247891/image.png?ex=663cef8b&is=663b9e0b&hm=32d96a711ec31cad2f017d8c424526d2536fea17c22ce97160dec7c8647e3f0e& 17:45 < bridge> i still have an apk of that version 17:45 < bridge> that works 17:45 < bridge> pog i can render spritesheets xd 17:45 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237792523846684823/image.png?ex=663cef9e&is=663b9e1e&hm=704f0f0254c435e657aea650e8979b61e9f993f2bfc5a24c9a3579cd7291298a& 17:45 < bridge> Try giving it all permissions before launching. Maybe it can't ask for storage permissions. 17:46 < bridge> In the app settings 17:46 < bridge> opengl works in that old version btw 17:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237792751479820369/image.png?ex=663cefd5&is=663b9e55&hm=8c5ee54258092cbf27c85c39596348271b351173271775e70ec8759d6844e498& 17:46 < bridge> screenshot here is with opengl 17:47 < bridge> lol now it works 17:48 < bridge> but cant open f1 console in that version 17:48 < bridge> ah nice, ingame it works 17:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237793420861243472/image.png?ex=663cf074&is=663b9ef4&hm=60dbfecb8a0842f72103335c112c5f12f43064692904fbe1ce2192c1d473033f& 17:49 < bridge> with vulkan 17:49 < bridge> epyc 17:49 < bridge> theoretically, it shouldn't need storage permissions, right? 17:50 < bridge> 600 FPS 17:50 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237793663275503736/image.png?ex=663cf0ae&is=663b9f2e&hm=03f1f4bd892d367feaf6d6e1a4bc41b9f230fa3adff147cf8812a3cc69e31560& 17:50 < bridge> epyc 17:50 < bridge> xd 17:50 < bridge> better than most intel laptops 17:50 < bridge> :lol: 17:50 < bridge> I see @flockes_fussel 17:50 < bridge> my too xd 17:50 < bridge> nice 🙂 17:51 < bridge> :poggers2: very cool 17:51 < bridge> If an android app only accesses its own files it shouldn't need it, but I don't know how this storage system interactive with native code, maybe the permissions are also required because of SDL 17:52 < bridge> If an android app only accesses its own files it shouldn't need it, but I don't know how this storage system interacts with native code, maybe the permissions are also required because of SDL 17:52 < bridge> i wonder if it works now bsc i started the old version 17:52 < bridge> ah, didn't think of SDL 17:52 < bridge> It currently uses 17:52 < bridge> ``` 17:52 < bridge> 17:52 < bridge> 17:52 < bridge> 17:52 < bridge> 17:52 < bridge> 17:52 < bridge> 17:52 < bridge> ``` 17:52 < bridge> GLES 3 also works without problems 17:52 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237794388831113277/image.png?ex=663cf15b&is=663b9fdb&hm=f0532e99fafa1723193cca30c4a47c912e542bc3dec32a6e66c3fc801d34424a& 17:53 < bridge> from a quick look, everything renders without bugs 17:53 < bridge> nice, so only the emulators that's pretty broken, it also had ~5 FPS only :pepeW: 17:53 < bridge> weird 17:53 < bridge> u can enable angle on the emulator 17:54 < bridge> i think i tested it and it gave me performance equal to desktop pc 17:54 < bridge> you're a wizard, @robyt3 ^^ 17:55 < bridge> @robyt3 do you use WSL? 17:56 < bridge> can u send me x86_64 version? 17:56 < bridge> I used my Ubuntu VM, and I should have expanded the storage beforehand 😄 17:56 < bridge> then i can test on android emulator 17:57 < bridge> I can send you x86, I don't have x86_64 prepared 17:57 < bridge> i can try if that works 17:57 < bridge> but 32 is less than 64, I think you should wait 17:57 < bridge> nah CI is a damn troll 17:58 < bridge> 17:58 < bridge> macOS wants a long long int to be %lld 17:58 < bridge> while ubuntu wants his long long int to be %ld 17:58 < bridge> 17:58 < bridge> mac: 17:58 < bridge> ```m 17:58 < bridge> /Users/runner/work/ddnet/ddnet/src/engine/shared/netban.h:236:64: error: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Werror,-Wformat] 17:58 < bridge> str_format(pBuf, BuffSize, "%s for %ld minutes (%s)", aBuf, Mins, pBan->m_Info.m_aReason); 17:58 < bridge> ~~~ ^~~~ 17:58 < bridge> %lld 17:58 < bridge> ``` 17:58 < bridge> 17:58 < bridge> ubuntu: 17:58 < bridge> ``` 17:58 < bridge> /home/runner/work/ddnet/ddnet/src/engine/shared/netban.h:236:63: error: format ‘%lld’ expects argument of type ‘long long int’, but argument 5 has type ‘int64_t’ {aka ‘long int’} [-Werror=format=] 17:58 < bridge> 236 | str_format(pBuf, BuffSize, "%s for %lld minutes (%s)", aBuf, Mins, pBan->m_Info.m_aReason); 17:58 < bridge> | ~~~^ ~~~~ 17:58 < bridge> | | | 17:58 < bridge> | long long int int64_t {aka long int} 17:58 < bridge> | %ld 17:58 < bridge> ``` 17:58 < bridge> 17:58 < bridge> :angy: 17:58 < bridge> i'm entering a dangerous path here 17:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237795773387771997/DDNet-x86.7z.001?ex=663cf2a5&is=663ba125&hm=7a548be1f2034423f80f587915ca957bbee36edab88543e4a1a32cc9fca91efb& 17:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237795773761196123/DDNet-x86.7z.002?ex=663cf2a5&is=663ba125&hm=7f44722ea7c1d4fb0392a782c0e6deb68b86a5e2595e67b87ed97dbd3ea36d52& 17:58 < bridge> lmao 17:58 < bridge> we have some limit? 17:58 < bridge> Yeah, discord didn't want the whole thing 17:59 < bridge> Neither are the correct way to print an `int64_t` that's the issue there 17:59 < bridge> roby casually spreading malware :greenthing: 17:59 < bridge> :MonkaS: 17:59 < bridge> I guess I didn't need to split it, 7z did pretty well 17:59 < bridge> Got down to the size of the arm64 17:59 < bridge> You are looking for `PRId64` 18:00 < bridge> `"%s for " PRId64 " minutes (%s)"` 18:00 < bridge> You need another percent, it's not included in the macro `"%s for %" PRId64 " minutes (%s)"` 18:00 < bridge> i only have andriod 8 with x86, let's see 18:00 < bridge> Ah missed it 18:01 < bridge> sometimes i wonder if i even understand anything 18:01 < bridge> thanks 18:01 < bridge> Oh since this is C++ you need to define something iirc 18:02 < bridge> Oh, nvm I checked and that was removed after C99 18:02 < bridge> So you can just use it and it should exist in any compliant implementation just fine 18:04 < bridge> @robyt3 tile maps are not rendering at all, and for some reason my emulator crashes when i want to access the device emulation settings xD 18:04 < bridge> i try to update android studio 18:04 < bridge> but i'd not say i have few fps 18:05 < bridge> felt quite fast in the ui 18:06 < bridge> The emulator was never very fast for me, maybe a Windows limitation 18:06 < bridge> But I didn't update it or Android Studio in a while either 18:07 < bridge> so the emulator itself was native on windows? 18:08 < bridge> (not in VM) 18:08 < bridge> yeah, I compiled everything in the Ubuntu VM but I also read the emulator on my Windows host 18:08 < bridge> yeah, I compiled everything in the Ubuntu VM but I already had the emulator on my Windows host 18:08 < bridge> is iommu activated in your UEFI? 18:09 < bridge> 😬 18:09 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237798476381945917/image.png?ex=663cf529&is=663ba3a9&hm=b779dbca680f20e771dbd228bb1420a9f182fffadc6ad0f36589594f12bcfc50& 18:09 < bridge> does it want me to login or what 18:09 < bridge> i hate java 18:13 < bridge> well guess it's broken now :lol: 18:13 < bridge> intel virtualization should be enabled, yeah 18:13 < bridge> ah nice i just deleted everything related to android studio now it works 18:17 < bridge> epyc gamer moment 18:17 < bridge> @robyt3 18:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237800642739699804/image.png?ex=663cf72e&is=663ba5ae&hm=c6737d0ea56ad65fa01ea5a3856a26cd5b030da606fc3d27eb7b0579a50c867c& 18:17 < bridge> these are the settings i meant 18:18 < bridge> there u can enable native opengl etc 18:18 < bridge> ```rust 18:18 < bridge> #[doc(hidden)] 18:18 < bridge> pub mod ඞ { 18:18 < bridge> pub use ::regex_automata; 18:18 < bridge> pub use ::regex_syntax; 18:18 < bridge> } 18:18 < bridge> ``` 18:18 < bridge> https://docs.rs/ctreg/latest/src/ctreg/lib.rs.html#46 18:20 < bridge> https://github.com/Gankra/abi-cafe 18:20 < bridge> well dunno doesn't work 18:20 < bridge> Looks better already. Is it possible to disable the keyboard shortcuts of the emulator? 18:20 < bridge> but @robyt3 x86_64 would be nice.. i don't trust my 32bit drivers 18:21 < bridge> i am relatively sure i never had trouble with x64 18:21 < bridge> i dunno 18:22 < bridge> Seems like it catches Escape, so you can't open the menu ingame 18:22 < bridge> true 18:22 < bridge> I'll build it later 18:22 < bridge> arrows keys also dont work 18:23 < bridge> console is also bit broken lmao 18:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237802083638313052/image.png?ex=663cf885&is=663ba705&hm=742cfa9d3e7290c7780d1f688934f8b54761905ec80f9cfc23d4366d0cfc384c& 18:23 < bridge> @learath2 do u know about https://github.com/libuv/libuv 18:24 < bridge> Yes. Never used it, though I considered it for ddnet once upon a time 18:26 < bridge> Some others you might want to look at are libev and libevent 18:32 < bridge> some tools, that you can make with the ddnet repository, aren't in the default download, like map_create_pixelart for example. Can I download it somewhere? 18:32 < bridge> isnt it part of the editor 18:33 < bridge> is that tool behind "Add tileart"? lol 18:33 < bridge> i dunno 18:33 < bridge> sounds a bit like that 18:34 < bridge> oh wow, thank you 18:34 < bridge> it doesn't convert it into a row of quads as I expected 18:37 < bridge> @jupeyy_keks there are apperently 2 pixelart tools, one that adds a pixelart as tileset, group and tilelayer, and one that adds it as quads: https://github.com/ddnet/ddnet/pull/5766 18:37 < bridge> the secondary isn't available in any compiled form 18:37 < bridge> u have to ping deen then, i think he uploads tools manually 18:37 < bridge> https://twitter.com/tsoding/status/1788032651531637247 18:38 < bridge> @0xdeen manually 🤷‍♂️ the `map_create_pixelart` tool is missing from downloads 18:39 < bridge> Lol, true 18:39 < bridge> hmm, goto where 18:40 < bridge> hmm, goto somewhere 18:44 < bridge> why don't u simply builds yourself xd 18:44 < bridge> working on it, but building on windows is always ... 18:44 < bridge> oh yeah 18:44 < bridge> i bet patiga has the same tool 18:44 < bridge> xdd 18:45 < bridge> I am using all of patigas tools, never had it so easy to build and install anything, guess rust made it easier 18:45 < bridge> :justatest: 18:45 < bridge> mine works differently 18:46 < bridge> https://patiga.eu/blog/ddnet-pixelart 18:47 < bridge> omg, next time I ask you directly if you have YET ANOTHER tool for me 18:47 < bridge> holy shit, that's 3 in a row patiga 18:47 < bridge> xd 18:48 < bridge> its a different approach with other upsides/downsides 18:49 < bridge> <0xdeen> add where? 18:49 < bridge> there was a tool download once 18:49 < bridge> but it's gone xd 18:50 < bridge> @0xdeen anywhere, there are no releases on github and there is no download for it in the ddnet download section. Also it's not part of the default or nightly download 18:50 < bridge> <0xdeen> yes 18:51 < bridge> most significantly, it always does the pixelart with 3 tiles layers. the upside is that it can create nearly every single color value. however, if you have a image with very few colors (< 255 * 3), the other tool's approach is objectively better 18:53 < bridge> the blog explains the math behind it, it was a nice puzzle :) 18:53 < bridge> @patiga the tool I linked uses quads, while the other tool that jupestar meant, and your python script, use tiles, is that right? Because I need quads, because I need smaller pixelarts 18:53 < bridge> yup, I use tiles 18:53 < bridge> what's wrong with tiles? 18:54 < bridge> do u need to scale it? 18:54 < bridge> my very very specific usecase @jupeyy_keks xD 18:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237809881894092820/screenshot_2024-05-01_11-11-55.png?ex=663cffc9&is=663bae49&hm=6df8f433eb1651643d3e204af3506d7de106b5a6b9d21e17b238f1e3e85829c6& 18:54 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237809882472910978/screenshot_2024-05-07_20-14-46.png?ex=663cffc9&is=663bae49&hm=56aa57f72cef16686593bac5f605dbaeb895d6e49a39c8e550ebe7fab9e46bab& 18:54 < bridge> my pixelsize is basically 1/8th of a tile 18:57 < bridge> *gough* would be a relatively easy script with *cough* 18:57 < bridge> what even is the use case of using it with quads instead of just embedding the image itself? 18:57 < bridge> *cough* would be a relatively easy script with *cough* 18:57 < bridge> *twmap-py* 18:58 < bridge> I'd whip up vim rn, but I'm ingame ^^ 19:02 < bridge> If I use a true size pixel art image, scaling it up will create artifacts, otherwise the filesize will explode with uninterpolated upscaling, because every pixel takes 8x8 pixels 19:05 < bridge> ah right we have no texture wrap modes for quads 19:05 < bridge> that sucks 19:05 < bridge> sampler modes 19:07 < bridge> here is an example, guess where the pixelart is 19:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237813034303623348/screenshot_2024-05-08_19-06-42.png?ex=663d02b8&is=663bb138&hm=a7bf40673a8235a441574304741d70a1756dd78bfb186a3ea59a500762df1338& 19:08 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237813310091563009/hello_pxl.png?ex=663d02fa&is=663bb17a&hm=e77020371e08b740f534a23c6a2b0d6079151ce7b204674345d21407d856bcf9& 19:44 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237822566069174342/DDNet-x86_64.apk?ex=663d0b99&is=663bba19&hm=149748ac8cb68cfc3b120ab0bba0db790c0d7b6fc81b542ebf2251827301d610& 19:46 < bridge> works without problems 19:48 < bridge> lmao have to use scrcpy to the emulator to use my keyboard 19:48 < bridge> so stupid 19:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237823510114471947/image.png?ex=663d0c7a&is=663bbafa&hm=5d51ce5b4b353f03103def16db7f011479cdcdec36061d346a481b996ad9f86f& 19:49 < bridge> renders fine.. fps are also okish 19:49 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237823629350404169/image.png?ex=663d0c96&is=663bbb16&hm=7c3a7ebde8f2f39039a954c74f98f40fff436677f26fa3764ae78774dc7e97e3& 19:49 < bridge> 300 fps for emulator, quite ok i guess 19:55 < bridge> Looks like you could use the Android Accelerometer gamecontroller for left and right controls :kek: 19:55 < bridge> left and right works but arrow keys, esc etc not 20:00 < bridge> I need to find some C++ portfolio thing to do. I want to do some library work, anyone have any libraries they wish they had in C++? 20:01 < bridge> Currently I'm thinking maybe a state machine generalization, maybe with coroutines 20:02 < bridge> Maybe something with more algo work would be nice too. I need lots of algorithms practice too but I couldn't come up with anything 20:03 < bridge> task scheduler, like these AI advertisements you see everywhere 20:03 < bridge> Or maybe I should do some golang portfolio projects. Japanese developers love go and a job in japan would be cool 20:04 < bridge> Task as in asynchronous programming? 20:05 < bridge> I do have a coroutine scheduler that I was messing around with, maybe I can clean that up and publish it 20:05 < bridge> like a coroutine-based scheduler - like task scheduling etc 20:06 < bridge> AI coroutine scheduler. Uses reinforcement learning to schedule tasks :thinkW: 20:06 < bridge> or write yabl (yet another benchmark library) - this should require quite a lot of algorithms 20:06 < bridge> or write yabl (yet another benchmark library) - this should require quite a lot of algorithms ig 20:10 < bridge> I doubt it beats the algorithms humans developed though 😄 20:11 < bridge> the future is weeb ais 20:12 < bridge> i read web ai's and thought you meant like online picture generators, until i realized what you meant... :weebsout: 20:12 < bridge> Mh training ai is just legwork. This is why I never dabbled in it 20:12 < bridge> i read web ai's and thought you meant like online picture generators, until i reread what you wrote... :weebsout: 20:12 < bridge> yeah 20:13 < bridge> You just feed data into a library and it trains models. The interesting work in that niche is in developing algorithms and libraries. I'm not smart enough for either 20:14 < bridge> something neat simd accelerated maybe ^^ 20:14 < bridge> the interesting work is also MLIR 20:14 < bridge> compilers for AI stuff 20:14 < bridge> Simd accelerated bans handling in teeworlds 😄 20:14 < bridge> icould make a teeworlds mlir dialect 20:14 < bridge> ok that makes 0 sense but its funny 20:14 < bridge> teeworlds variable int parsing with simd is something I already put some thought into but couldn't find a satisfying solution 20:14 < bridge> give it a single: ban all racist slurs 20:14 < bridge> 20:14 < bridge> and dude rips away 50% of the playerbase in an instance 20:15 < bridge> I actually have a simd accelerated ban check for ddnet. It didn't improve anything so I never pr'd it 😄 20:15 < bridge> ban is a rare thing xd 20:15 < bridge> though some bigger use-case is probably more interesting anyways ^^ 20:15 < bridge> wouldnt it be better SIMD packet parsing or smth 20:15 < bridge> or decoding* 20:15 < bridge> do.. you mind.. sharing.. if you have it? this is something blockworlds could use :kek: 20:15 < bridge> The ban table is large, looking up ips in it is getting slower and slower since it's linear 20:15 < bridge> i have avx512 but idk what to do 20:15 < bridge> I'm just brainstorming here :p 20:15 < bridge> i never did simd stuff 20:16 < bridge> I did some simd stuff for a c project in university 20:16 < bridge> where there was a competition with speed 20:16 < bridge> but in the end my simd parser was slower in practice 20:16 < bridge> Just put the ips in a btree instead. I got better performance out of that and simd lookup in the btree added no value 20:16 < bridge> @patiga read this https://en.algorithmica.org/hpc/ 20:16 < bridge> why? 20:16 < bridge> fair 20:17 < bridge> it explains why algorithms are great af 20:17 < bridge> `100x faster matrix multiplication (compared to “for-for-for”)` 20:17 < bridge> It's really hard to get this right yeah. Simd instructions are slow, so you need to fully utilize them for it to be worth it 20:18 < bridge> + you need to worry about error handling :c 20:18 < bridge> always expected Simd was developed for the sole purpose of enhancing speed :D 20:18 < bridge> PSHUFB is an amazing instruction for lookups 20:20 < bridge> (Not for longer than a byte though) 20:21 < bridge> hm yea that is neat :) 20:33 < bridge> i have many that u could port from c to rust 20:33 < bridge> if that is also an option 20:35 < bridge> a better data structure would already do lot 20:35 < bridge> the data structure sucks so hard 20:35 < bridge> what even is it, a normal linked list lmao 20:36 < bridge> It wasn't much of an issue with our older policies, but nowadays mods go hard with longer and longer bans 20:37 < bridge> i use https://crates.io/crates/iprange currently 20:37 < bridge> works quite good i think 20:37 < bridge> only did smaller testing 20:39 < bridge> uses a radix tree.. makes sense i guess 20:41 < bridge> Just putting the banned ips in an actual contiguous array actually helps a lot already. The simple linear search gets vectorized easily by the dumbest of compilers 20:42 < bridge> And it plays very well with prefetch 20:42 < bridge> However, our n kinda has surpassed the limits of linear searches, so a tree like structure is nice 20:46 < bridge> https://m.benui.ca/@ben/112396505994216742 20:56 < bridge> I have a friend that treats me like I'm insane because I don't like AI. Whenever I think about it more carefully, I notice the people who support this kind of thing never contribute to the common wealth of knowledge. They only know how to take, so for them this is a positive. It makes copying code from stackoverflow easier 20:57 < bridge> uff that is a bit naive tbh. 20:57 < bridge> 20:57 < bridge> Our goal is to automate stuff, and AI will be a required tool 20:57 < bridge> i like AI tech wise but moral wise ppl find the wrong thing to do always xd 20:57 < bridge> if u dont like OpenAI fine 20:58 < bridge> Our goal is to automate stuff for ourselves. Not for "Open"AI Inc. to automate it for a huge profit off the backs of our free labour 21:00 < bridge> By all means train your ai on your own proprietary codebases, hire people to write code for you to train your ai on. You don't just get to train it on millions of stackoverflow users contributions and sell it back to them 21:01 < bridge> fine, it sounded more like u generally like the idea of what AIs will do in future 21:02 < bridge> No that part is unavoidable. I just don't like the transfer of knowledge from the open to closed 21:03 < bridge> If it was an open model, training on open data for all of us, I wouldn't care that much 21:04 < bridge> Same reason I never really had an issue with what stable diffusion did 22:29 < bridge> http://2143.christmas/f/Z1nV.png 22:29 < bridge> i love this game 22:32 < bridge> as far as AI goes 22:33 < bridge> i think it's something that we should rely on our governments to regulate 22:33 < bridge> but in the interest of money it will never happen 22:34 < bridge> anyone wants to read some proper FUD? https://t.me/durov/274 22:37 < bridge> anyone wants to read some proper FUD? https://t.me/durov/274 22:37 < bridge> something keeps changing but i can't tell what 22:37 < bridge> who's deleting shit xd 22:37 < bridge> hmmm. it seems my message is getting autodeleted 22:37 < bridge> weird 22:38 < bridge> base64: YW55b25lIHdhbnRzIHRvIHJlYWQgc29tZSBwcm9wZXIgRlVEPyBodHRwczovL3QubWUvZHVyb3YvMjc0 22:41 < bridge> i bet t.me is filtered automatically 22:41 < bridge> because of such high scam likelihood 22:42 < bridge> Nothing with such a high level of significance ever gets regulated properly 22:42 < bridge> The lobbying forces are strong 22:42 < bridge> Democracy isn't real 22:42 < bridge> are lobbying forces something that brought us the GDPR? 22:42 < bridge> I would not think so 22:43 < bridge> t.me 22:43 < bridge> t.me/durov/274 22:43 < bridge> http://2143.christmas/f/dNCt.png 22:43 < bridge> goodbye 22:43 < bridge> https://t.me/durov/274 22:44 < bridge> 22:44 < bridge> haha yep 22:45 < bridge> anyone wants to read some proper FUD? hxxps://t.me/durov/274 22:45 < bridge> perfect. now I only need to find out why t.me links are blocked 22:46 < bridge> why not? 22:46 < bridge> 22:46 < bridge> US corps are clearly the world leaders, so why should EU corps not have an interest to give them less power? 22:47 < bridge> is that related to US vs EU in some way? 22:47 < bridge> i think yes 22:47 < bridge> both EU and US companies have to adhere to the GDPR when offering services to EU citizens 22:47 < bridge> if EU would have google and co, GDPR would probs not exist 22:47 < bridge> california passed laws similar to the GDPR IIRC 22:50 < bridge> or there is https://de.wikipedia.org/wiki/Lieferkettensorgfaltspflichtengesetz, which doesn't seem to be motivated by the kind of lobbying @peter0x44 referred to, either 22:54 < bridge> i mean putting together huge models without charging somehow would be p difficult 22:55 < bridge> unlesss there are open/free projects out there to pool compute for open models 22:55 < bridge> mh yeah. hard topic, u can always read it from two sides. if there is no lobby against smth then there might not be a high economical power for such stuff in first place or the law is does only benefit bigger corps anyway (e.g. Lieferkettengesetz might be harder for small corps). 22:55 < bridge> 22:55 < bridge> For example could you explain why the EU decided to shift the combustion engine to a later date then planned? 22:55 < bridge> the end of* 22:55 < bridge> Lieferkettengesetz does not apply to small companies, only 1000 employees and larger 22:55 < bridge> because of the german car industry 22:56 < bridge> the ICE thing is because of the german car industry 22:56 < bridge> and because of the fdp IIRC 23:03 < bridge> Well I don't know what's involved with that but there's the usual carbon credits and such like that (which are obviously problematic) 23:03 < bridge> 23:03 < bridge> In practice a fine is just a cost of doing business 23:04 < bridge> not related to carbon credits 23:05 < bridge> here's the english version: https://en.wikipedia.org/wiki/Supply_Chain_Act 23:06 < bridge> A fine of 2% is nothing 23:06 < bridge> That's not enforcement 23:06 < bridge> If it grows revenues by more, then it's worth it 23:07 < bridge> A threat of forced nationalization, or something that actually has teeth... 23:08 < bridge> 2% of revenue 23:08 < bridge> that's a lot 23:08 < bridge> If violating it can cause growth more than that, it's worth it 23:08 < bridge> It really isn't 23:09 < bridge> do you believe that this would cause companies today to do losses rather than wins, if a 2% fine was applied? 23:09 < bridge> do you believe that this would cause companies today to have losses rather than wins, if a 2% fine was applied? 23:10 < bridge> I don't know 23:10 < bridge> then you're oddly sure about that this isn't "having teeth" 23:10 < bridge> i guess u'd need to ask nestles secret stats for that :lol: 23:11 < bridge> 23:11 < bridge> is it worth hiding their shady activities in order to stay market leader 23:11 < bridge> In practice fines aren't enough when things go wrong 23:11 < bridge> [citation needed] 23:11 < bridge> If BP was "punished" properly for deepwater horizon it wouldn't exist today 23:11 < bridge> EU is defs an interesting experiment 23:11 < bridge> the only thing that could kill us is our aging society 23:11 < bridge> completely unrelated to the point 23:12 < bridge> 3M putting pfas in water 23:12 < bridge> completely unrelated 23:12 < bridge> It isn't 23:12 < bridge> you're talking about incidents that are bad, as an argument that completely unrelated laws are useless 23:12 < bridge> I didn't call them useless, they just aren't enough 23:14 < bridge> @peter0x44 i guess you are more refering to "big companies seem to be punished less when something unfair happens" 23:14 < bridge> 23:14 < bridge> which could always be true, independent of the type of law 23:33 < bridge> Here's the debug build for all architectures 23:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237880016126218320/DDNet.7z.001?ex=663d411a&is=663bef9a&hm=821231c7dc6e173ca289ddb1586c9b9498f367efd1180c8aa97966ab82255ce1& 23:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237880016562294954/DDNet.7z.002?ex=663d411a&is=663bef9a&hm=9109d857ae9b18f0fd8b6ef2154448ce7a6a35083bb86ba49985b3133a978ec4& 23:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237880016956690432/DDNet.7z.003?ex=663d411a&is=663bef9a&hm=7b4df9e7c1e701cd165ec25be8c214e3420f3e4c5c315629dd9ac62daa352648& 23:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1237880017350823987/DDNet.7z.004?ex=663d411a&is=663bef9a&hm=b8d0f70e6184d2b2be53e2b624052849087531ea41afd3e5d337c4c3f50d4a86& 23:46 < bridge> Also works on my phone :poggers: 23:48 < bridge> just imagine the hype, that after 9 versions android download is back 23:48 < bridge> It still needs UI touch input and ingame input in general though 23:49 < bridge> The weird relative mouse input hack we have for android is terrible to use 23:57 < bridge> yeah it's really about this xD 23:57 < bridge> we already had android builds a few versions ago 23:57 < bridge> but nobody cared. if that doesn't change, then this won't help in this case either 23:58 < bridge> tbh relative mouse mode sucks for UI anyway 23:58 < bridge> SDL supports touch events so the UI should be doable 23:59 < bridge> https://github.com/Jupeyy/ddnet/commit/3b1f72eb83beffff3c35287ab6f222b85187b984 23:59 < bridge> change my mind 23:59 < bridge> For ingame controls we need to think about something 23:59 < bridge> it uses relative for ingame 23:59 < bridge> and absolute for ui 23:59 < bridge> i improved on that and consequently use that for dd-pg 23:59 < bridge> sadly with SDL it made problems on i3 and other half finished WMs