00:55 < bridge> Windows = 1 api is the most ape brained concept 00:55 < bridge> Because they are presumably 10 different APIs that are used in different places 00:56 < bridge> one is WinRT the other is roapi 00:57 < bridge> roapi is the underlying system they both use, it’s also how COM’s CoWhateverInstance works 00:58 < bridge> roapi is the underlying system WinRT uses, it’s also how COM’s CoWhateverInstance works 00:59 < bridge> and COM doesn’t need Windows to run. it’s a more abstract model kinda like WinRT but customizable and not inherently windows oriented 01:00 < bridge> but if you’re googling “how do i do X when I already kinda have Y and Z is mostly done” then ofc you’ll be confused why there are different options for X, i guedd 01:00 < bridge> but if you’re googling “how do i do X when I already kinda have Y and Z is mostly done” then ofc you’ll be confused why there are different options for X, i guess 01:03 < bridge> yes but if i use wrl then i should stick with wrl functions 01:03 < bridge> and for some reason it didnt compile on mingw 01:03 < bridge> and just changing to roapi func works straight away 01:03 < bridge> even with wrl objects 01:30 < bridge> you mean the winrt way? i can’t provide insight w/o error msg, but roapi works already because it’s linked to by something you’re linking 01:30 < bridge> roapi = runtime object API 01:33 < bridge> winrt and com both require you to manually instantiate instances per thread but the behavior you use to do so is provided by roapi.h/runtimeobject.lib, may or may not be wrapped with extra specific logic per use 01:34 < bridge> winrt way didnt compile on deen machine 01:35 < bridge> so now its wrl 01:35 < bridge> with ComPtrs etc 01:35 < bridge> i think its roapi>wrl>winrt 01:35 < bridge> from lowest level 01:36 < bridge> wrl provides templates for winrt; winrt leverages roapi 01:36 < bridge> wrl 01:36 < bridge> winrt 01:36 < bridge> roapi 01:37 < bridge> i thank random microsoft projects on github 01:37 < bridge> no other way to know these all when every example on internet is different and uses smth else 01:37 < bridge> as opposed to cppwinrt, or C#/WinRT 01:37 < bridge> god forbid managed c++ 01:38 < bridge> you’re right i forgot all the bounties of info on msdn dont exist or are inexplicably impossible to use… 01:41 < bridge> sorry but there are both summaries and like 30-page guides for any notable Windows API/technology 01:41 < bridge> the info is out there 01:44 < bridge> but i’ll give you extra credit because mingw is really the worst for any of this 01:44 < bridge> and guides you find prob won’t work 02:01 < bridge> the ones for toast notifications 02:01 < bridge> on microsoft website are c# 02:01 < bridge> and stackoverflow says just use wintoast 02:01 < bridge> xd 02:02 < bridge> yea 02:02 < bridge> peak stackoverflow tbh 02:02 < bridge> you may not even need winrt for that btw if you’re willing to keep the GUIDs and symbols for the API in question in ddnet lol 02:02 < bridge> you could access it through COM directly 02:04 < bridge> sometimes there's a button you can click to switch to the cpp docs I think. Idk if this is helpful 02:08 < bridge> I know 02:09 < bridge> But for this the documentation is so shit 04:18 < bridge> Which flag determines the HUD on a server? 05:12 < bridge> i think it’s a client decision based on the game type 05:40 < bridge> Yes but what is the flag 05:40 < bridge> I think I have the correct game type tho 07:36 < ws-client> multiple flags iirc 07:37 < ws-client> GAMEINFOFLAG2_HUD_DDRACE for example 07:37 < ws-client> have a look here https://github.com/ddnet/ddnet/blob/079de0c5edf243506a92daa3894f6887f12a62a8/src/game/server/gamecontroller.cpp#L610-L631 08:41 < bridge> gumo ^.^ 09:00 < bridge> Wtf chiller closing an issue????? 09:03 < ChillerDragon> hm? @melon 09:19 < bridge> What do I need that in mysql to save the time of passing the map? ;D And I connected everything as written in the readme: 09:19 < bridge> 09:19 < bridge> ``` 09:19 < bridge> sv_use_sql 1 09:20 < bridge> add_sqlserver r teeworlds record teeworlds "PW2" "localhost" "3306" 09:20 < bridge> add_sqlserver w teeworlds record teeworlds "PW2" "localhost" "3306" 09:20 < bridge> ``` 09:20 < bridge> (everything connected perfectly) 09:20 < bridge> 09:20 < bridge> ``` 09:20 < bridge> server1-1 | 2025-07-08 07:15:25 I chat: *** Sd9is finished in: 9 minute(s) 1.46 second(s) 09:20 < bridge> server1-1 | 2025-07-08 07:15:25 I sql: SQLite statement: INSERT OR IGNORE INTO record_race_backup( Map, Name, Timestamp, Time, Server, cp1, cp2, cp3, cp4, cp5, cp6, cp7, cp8, cp9, cp10, cp11, cp12, cp13, cp14, cp15, cp16, cp17, cp18, cp19, cp20, cp21, cp22, cp23, cp24, cp25, GameId, DDNet7) VALUES (‘Arena’, ‘Sd9is’, DATETIME('2025-07-08 07: 15:25', ‘utc’), 541. 46, ‘UNK’, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 09:20 < bridge> server1-1 | 2025-07-08 07:15:25 I mysql: connection established 09:20 < bridge> server1-1 | 2025-07-08 07:15:25 I sql: SQLite statement: DELETE FROM record_race_backup WHERE GameId='721d9caf-8742-4ba4-b425-0401e2f2cdad' AND Name='Sd9is' AND Timestamp=DATETIME('2025-07-08 07:15:25', 'utc') 09:20 < bridge> ``` 09:20 < bridge> :justatest: 09:21 < bridge> why sqlite `sql: SQLite statement`:nouis: 09:24 < bridge> Oops, it was saved where I least expected it ;D 09:24 < bridge> :brownbear: 09:33 < bridge> I forgot you're a maintainer :justatest: 09:34 < bridge> :justatest: 09:34 < bridge> Do not upset the chiller! 09:37 < ws-client> @melon if you need prs merged consider sending to paypal.me/ChillerDragon 09:37 < bridge> Go Munich I give u 2 hoibe and a brezn 09:37 < ws-client> jk im not maintainer i got minimmal permissions i got from heinrich because i am the label machine 09:37 < bridge> Damn I only now figured out why I always thought chiller is German. For some reason my brain couldn't comprehend that chiller also is an English word :nouis: 09:37 < ws-client> i can assign labels and close/open issues/prs 09:37 < bridge> :poggers2: 09:38 < ws-client> @melon i am munich rn 09:38 < bridge> :o @finanzamt chiller spotted 09:38 < bridge> ??? wait so is chiller German after all 09:39 < ws-client> @filoqcus even if u use mysql it uses sqlite for backups look at the table name ``record_race_backup`` if the connection to mysql fails the rank can still be restored from the sqlite rank 09:39 < ws-client> that is also why on ddnet you sometimes hear it takes a few days until ranks arrive 09:39 < ws-client> that is because the connection to the db server fails and it takes a few business days before underpayed ddnet staff manually applys sqlite to mysql 09:39 < bridge> I already realized the mistake and deleted those messages ;D 09:39 < bridge> :owo: 09:39 < ws-client> you cant delete on me hrhr 09:39 < ws-client> irc never forgets 09:40 < bridge> 09:40 < bridge> Take that 09:40 < bridge> 09:41 < bridge> :nouis: 09:42 < bridge> hehehe 09:42 < bridge> Btw can u ping chiller somehow? 09:50 < bridge> ChillerDragon: ping 09:58 < bridge> Pong 10:08 < bridge> 8 minute ping, that's crazy 10:21 < bridge> Chiller lives on Merkur 10:21 < bridge> contrary to popular belief, chillerdragon, is in fact, a ping pong table 10:22 < bridge> wait didn't we lost the gradients yesterday 10:24 < bridge> It just requires the boosts to be up 10:24 < bridge> i love money 10:48 < bridge> <_ceycen_> is there a movement predictor for lags 10:48 < bridge> <_ceycen_> like antiping but for your own movement when u lag 10:48 < bridge> <_ceycen_> think about it 10:48 < bridge> <_ceycen_> why do you have to freeze when you lag 10:48 < bridge> <_ceycen_> its dum 10:48 < bridge> <_ceycen_> what if u just didnt 11:19 < bridge> @_ceycen_: this is not Minecraft. There are also no speed or flyhacks. The client just sends inputs and the server determines the position. Of course the client could locally act as if it has no lags and make up own positions but that would not reflect reality and once the connection is restored the server will still force the actual position on you. 11:20 < bridge> <_ceycen_> makes sense 11:20 < bridge> There is no benefit in having a fake movement during lag just to be reset to the actual position once the internet is back 11:33 < bridge> we'll lose them today I think 11:54 < bridge> @jupeyy_keks nvm, the benchmark had a bug in the `--no-upload` mode, it does indeed spend most of its time rendering 11:54 < bridge> but I do know some stuff which could help there :) 12:00 < bridge> But 1 Million sprites equals one million quads? 12:04 < bridge> 2 million triangles 12:09 < bridge> So 2 million triangles per second? Gpu bound? 12:09 < bridge> 12:09 < bridge> Sounds super bad tbh xD 12:10 < bridge> yea, will need to work on that 12:10 < bridge> Worse than teeros physics xd 12:10 < bridge> I did some blind optimizations since first implementing the whole thing, I'll try out now how much I can improve the whole thing 12:11 < bridge> I should've created the benchmark much earlier ^^ 12:12 < bridge> but first I'll modify the benchmark to compare the whole thing with my old sprite renderer 12:16 < bridge> I just wonder if the benchnark is flawed. Like maybe it isn't gpu bound or smth. 12:16 < bridge> 12:16 < bridge> I can almost not imagine smth that is so intense on the gpu 12:18 < bridge> you are free to check out the benchmark 12:19 < bridge> I suppose submitting the command encoder also puts a little more strain on the resource tracker of wgpu, but I'd hope its negligible 12:20 < bridge> I should reduce the draw call to a single sprite to check for that 12:20 < bridge> but first I'll finish the compat benchmark with the old sprite rendering method 12:22 < bridge> Remind me in 2 weeks 12:23 < bridge> ah right :p 12:23 < bridge> !remindme 2 week 12:27 < bridge> just remembered I already had a cli parameter for that. Result: single sprites don't reveal any cpu overhead with submitting the draw call 14:20 < bridge> why does the job backend has m_pFirst and m_pLastJob ? 14:21 < bridge> ah to make inserting faster ig 15:39 < bridge> ``` 15:40 < bridge> [build] 1 | #include 15:40 < bridge> [build] | ^~~~~~~~~~~~~~~ 15:40 < bridge> [build] compilation terminated. 15:40 < bridge> ``` 15:40 < bridge> 15:40 < bridge> does anyone has an idea what package I am missing on ubuntu? 15:40 < bridge> gmock 15:41 < bridge> already installed 15:41 < bridge> gtest? 15:42 < bridge> configuring says `[cmake] -- * GTest found` 15:43 < bridge> build target is `testrunner` 15:44 < bridge> same with `run_tests` as target 15:45 < bridge> idk 15:45 < bridge> windows better 15:45 < bridge> okay some tests run, I get an error in one test file: 15:45 < bridge> ``` 15:45 < bridge> [build] /home/marvin/funspace/ddnet/src/test/score.cpp:1:10: fatal error: gmock/gmock.h: Datei oder Verzeichnis nicht gefunden 15:46 < bridge> [build] 1 | #include 15:46 < bridge> [build] | ^~~~~~~~~~~~~~~ 15:46 < bridge> ``` 15:46 < bridge> okay some tests run, I get an error in one test file: 15:46 < bridge> ``` 15:46 < bridge> [build] ~~: fatal error: gmock/gmock.h: Datei oder Verzeichnis nicht gefunden 15:46 < bridge> [build] 1 | #include 15:46 < bridge> [build] | ^~~~~~~~~~~~~~~ 15:46 < bridge> ``` 15:46 < bridge> okay some tests run, I get an error in one test file: 15:46 < bridge> ``` 15:46 < bridge> [build] ddnet/src/test/score.cpp:1:10: fatal error: gmock/gmock.h: Datei oder Verzeichnis nicht gefunden 15:46 < bridge> [build] 1 | #include 15:46 < bridge> [build] | ^~~~~~~~~~~~~~~ 15:46 < bridge> ``` 15:47 < bridge> Ask llm 15:47 < bridge> well yes it's the only one including this file 15:47 < bridge> AI says 15:47 < bridge> sudo apt update 15:47 < bridge> sudo apt install -y libgtest-dev libgmock-dev 15:48 < bridge> AI was right, readme is missing libgmock-dev 17:54 < bridge> can i not use absolute paths with `exec`? 18:07 < bridge> chillerdragon: the hidden treasure 18:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392175326913626142/image.png?ex=686e93cf&is=686d424f&hm=d038dabba4e48b1e1902da9887f4e1df2073d3a18fc7bd2625a43190ed1462fc& 18:08 < bridge> wow its so much better than ddnet 18:08 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392175429930192976/image.png?ex=686e93e7&is=686d4267&hm=f60f60445555c626cb9e9605111b852723fc6303eb2bfb2e32d77a5776b0757b& 18:20 < bridge> noice 18:20 < bridge> i have launched teewars 1.0 18:20 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392178619215773736/image.png?ex=686e96e0&is=686d4560&hm=007cf1af64c585502b7dee746983e7312cec94e4c1c10378653af05294eaf709& 18:31 < bridge> lmao 18:32 < bridge> When compat layer 18:36 < bridge> great project idea 18:36 < bridge> though most likely not possible 18:37 < bridge> im surprised matricks is actually on this server 18:37 < bridge> im reading his conversations xd 18:41 < bridge> Yes him joining was big event 18:41 < bridge> We even played some zcatch all of us while chatting in vc about teeworlds/ddnet stuff 18:41 < bridge> I think someone might even have the whole event recorded 😄 18:42 < bridge> I need that 18:42 < bridge> I don’t know his voice 0.0 18:42 < bridge> Also I don’t know lerato voice 18:49 < bridge> sounds awesome 18:49 < bridge> i wish i could have joined the teeworlds community like 20 years ago xD 18:54 < bridge> chillerdragon: when did u start playing tw? 19:28 < bridge> any way to fix `mingw32-make.exe[3]: *** No rule to make target 'debug/libddnet_engine_shared.a', needed by 'DDNet.exe'. Stop.` on mingw except setting vs17 2022 as generator? 19:37 < bridge> You need the `i686-pc-windows-gnu` rustup target to build with GCC 19:37 < bridge> You can override the target being used for each build folder with `rustup override` 19:37 < bridge> Not x64 19:37 < bridge> ? 19:38 < bridge> Yes, true, `x86_64-pc-windows-gnu` for x64 19:42 < bridge> i wish this could be detected by cmake 19:42 < bridge> 19:42 < bridge> the error is.. telling you absolutely nothing :kek: 19:42 < bridge> there is even an issue about it, heinrich made it for me 19:42 < bridge> will try x86_64-pc-windows-gnu 19:42 < bridge> idk what that is for now but will try 19:43 < bridge> msvc works straight out of the box 19:43 < bridge> gnu toolchain vs msvc toolchain 19:43 < bridge> windows rustup defaults to it, thats why 19:43 < bridge> and mingw has like 3 workarounds :tear: 19:45 < bridge> i like msys2/ucrt64 more than msvc 19:45 < bridge> 19:45 < bridge> ~3GB vs ~8GB and i feel more confident in msys2's shell :kek: (also Ewan was really helpful and helped me set it up with ease) 19:46 < bridge> tho Visual Studio is really goated, but its also really heavy so i dont like using it - i open neovim 30 times a day, startup time is everything! 19:49 < bridge> just never close it 🙂 19:49 < bridge> i tried teeros workflow, no way :kekw: 19:49 < bridge> 19:49 < bridge> (he uses neovim as his shell, he lives in that thing) 19:50 < bridge> `ZZ` my beloved 20:12 < bridge> ```rustup target add x86_64-pc-windows-gnu 20:12 < bridge> rustup override set x86_64-pc-windows-gnu``` 20:12 < bridge> 20:12 < bridge> ```info: component 'rust-std' for target 'x86_64-pc-windows-gnu' is up to date 20:12 < bridge> error: toolchain 'x86_64-pc-windows-gnu' is not installed``` 20:13 < bridge> `rustup toolchain install stable-x86_64-pc-windows-gnu` 20:16 < bridge> ```info: syncing channel updates for 'stable-x86_64-pc-windows-gnu' 20:16 < bridge> info: latest update on 2025-06-26, rust version 1.88.0 (6b00bc388 2025-06-23) 20:16 < bridge> info: downloading component 'cargo' 20:16 < bridge> info: downloading component 'rust-mingw' 20:16 < bridge> info: downloading component 'rust-std' 20:16 < bridge> info: downloading component 'rustc' 20:16 < bridge> info: installing component 'cargo' 20:17 < bridge> info: installing component 'rust-mingw' 20:17 < bridge> info: installing component 'rust-std' 20:17 < bridge> info: installing component 'rustc' 20:17 < bridge> 20:17 < bridge> stable-x86_64-pc-windows-gnu installed - rustc 1.88.0 (6b00bc388 2025-06-23) 20:17 < bridge> 20:17 < bridge> info: component 'rust-std' for target 'x86_64-pc-windows-gnu' is up to date 20:17 < bridge> error: toolchain 'x86_64-pc-windows-gnu' is not installed``` 20:18 < bridge> The toolchain name seems to be `stable-x86_64-pc-windows-gnu` 20:19 < bridge> `rustup show` should show the toolchains and targets you currently have installed and active in the current folder 20:23 < bridge> if kebs was actually trying to solve these errors he could figure them out in minutes 20:24 < bridge> no i actually am 20:24 < bridge> just rust sucks 20:24 < bridge> and target is called x86_64-pc-windows-gnu but toolchain has stable- in front 20:24 < bridge> rust sucks because i have to tell it the toolchain i want for download 20:25 < bridge> true 20:25 < bridge> it should just read my mind 20:25 < bridge> on msvc i just open project and code dont have to worry about all the rust errors 20:26 < bridge> thats just because of the default value when you install rustup on windows, nothing to do with msvc :p 20:26 < bridge> u ever hear about —help 20:27 < bridge> it’s actually crazy 20:27 < bridge> :kek: 20:28 < bridge> Technically when using mingw to compile ddnet, you are also supposed to make rust use the mingw ld iirc 20:32 < bridge> this one’s elusive but all the ones after are just RTFM 20:32 < bridge> that’s just the rust part of the build silently failing and the error manifests by no .a at time of linking 20:33 < bridge> i don’t know if my PR to fix the rust build on multi config generators was merged 20:33 < bridge> im setting up mingw github action so i dont have to test by hand 20:33 < bridge> but if not, that’s prob what you’re running into 20:41 < ws-client> @kollpotato i forgot my start year something like 12+ years ago i think 20:48 < bridge> omg so old u must have seen dinosaur tees 20:49 < bridge> this could be a region specific sale but i just bought a 9100 pro ssd for $110 off 20:49 < bridge> 20:50 < bridge> 20:50 < bridge> 20:50 < bridge> first sale on a pcie gen 5 ssd i’ve seen at all iirc, it’s a good drive and a good sale 20:50 < bridge> i was talking about gen5 ssds with someone else here maybe gorp 20:50 < bridge> how much did u pay 20:51 < bridge> its like $200 for me 20:52 < bridge> 198.92 20:52 < bridge> after stuff 20:52 < bridge> better than $300 for sure 20:52 < bridge> better than $300 pre-tax for sure 20:53 < bridge> 2TB w/o heatsink (the specific one linked) is on the best sale 20:54 < bridge> is there rly a big difference between like $120 2tbs and a $190 one 20:54 < bridge> ur seeing gen4 ssds prob 20:54 < bridge> i do wanna build a lil windows pc soon 20:55 < bridge> im gonna have like 7 computers before i graduate lmao 21:00 < bridge> 21:00 < bridge> $166.79 (no sale), gen 4, 2TB, 1050MBps read 1000MBps write 21:00 < bridge> 21:00 < bridge> 21:00 < bridge> $109.99 ($129.99), gen 4, 2TB, 900MBps read, write unspecified (gulp) 21:01 < bridge> gen 5, 2TB, 1850MBps/1675 21:01 < bridge> so, ~2x as fast 21:02 < bridge> wd black sn8100 is on a similar sale with slightly better speeds but more expensive + less % off 21:02 < bridge> 21:03 < bridge> i have to resist the urge to buy computer stuff all the time. i’ll have to find a new home for one of my drives now anyway 21:03 < bridge> i’m good with my 3 rn.. 21:07 < bridge> yeah ill have 4 soon 21:07 < bridge> one desktop for each common "os" and my laptop 21:08 < bridge> id say worth then 21:09 < bridge> i'm so close to setting up a proper NAS, but i also dont really exceed 3TB storage because i cleanup after myself fairly regularly 21:09 < bridge> 21:10 < bridge> i still want it tho 21:10 < bridge> for like videos and backups and shii 21:13 < bridge> i feel that 21:13 < bridge> i would just get a normal computer tbh 21:13 < bridge> that runs low power and quiet in your closet 21:13 < bridge> after trying hella syncing and file sharing methods i have decided that most self hosted ways is just a hassle 21:13 < bridge> but its still fun 21:13 < bridge> can host files and actual things 21:13 < bridge> depends on you 21:14 < bridge> seems kinda expensive 21:15 < bridge> depends, i could theoretically sync them all up with my raspberry ._: 21:15 < bridge> you probably need several drives 21:15 < bridge> for redundancy 21:16 < bridge> and then you actually need to replace drives when they fail 21:16 < bridge> i'd slap in like 2-3 5TB HDD's 21:16 < bridge> a NAS for me is long time storage 21:16 < bridge> and if your house burns down the data is gone anyways 21:16 < bridge> and what if two drives die at the same time? the data is gone in that case too 21:17 < bridge> maybe it's better to just pay for backblaze or something lol 21:17 < bridge> i dont want to put my personal files on some sort of cloud :p 21:17 < bridge> encryption exists 21:18 < bridge> doesnt really matter, i dont want remote access to be a thing on my personal files 21:18 < bridge> also my wife needs a quick way to delete all of those videos when i die from caffeine overdose 21:18 < bridge> i don't think it's a big deal with encryption 21:19 < bridge> me after my typical coffee, monster, plus 5hr energy and 2x adhd medicine yesterday 21:19 < bridge> 5hr energy is a tad degen 21:19 < bridge> when i skip a day from waking up too late or whatever i just keep it for lata 21:19 < bridge> yea 21:19 < bridge> it was in the fridge 21:19 < bridge> what can i say 21:19 < bridge> caffeine isn’t safe around me 21:20 < bridge> backups are so inconvenient 21:20 < bridge> it's crazy how hard it is to permanently store some data 21:21 < bridge> well, i rather not get a backup drive for my backup drive for my backup drive for my drive just to make sure the data stays intact ._. 21:22 < bridge> i know ppl who keep them at the post office 21:22 < bridge> seems safe 21:22 < bridge> and a drive doesnt just rm -rf your data, often times its recoverable even if the drive dies 21:22 < bridge> as long as you recover it the right way the first time 21:22 < bridge> well it's probably not cheap tho 21:22 < bridge> I’ve definitely lost data fucking around and finding out 21:22 < bridge> "oh yeah.. that partition HAS to be the right one" 21:23 < bridge> *1.2TB of games gone...* 21:23 < bridge> 21:23 < bridge> FUUUUUUU 21:23 < bridge> it’s just that the more you use any drive in a compromised state the faster it shits the bed 21:23 < bridge> btw how to securely store stuff like private keys? 21:23 < bridge> brain 21:23 < bridge> well, i am probably the only person crazy enough to do that lol 21:23 < bridge> i have them on github 21:23 < bridge> https://github.com/getsops/sops 21:24 < bridge> or rather, sops-nix 21:24 < bridge> write it on paper ez 21:24 < bridge> iq 21:25 < bridge> what if someone steals the paper? 21:25 < bridge> and surely there can't be only one copy 21:25 < bridge> so that's kinda the issue 21:25 < bridge> i have a usb stick that i could use 21:25 < bridge> but it can't be the only copy anyways 21:25 < bridge> so what can i do lol 21:25 < bridge> write 382 papers, hide them individually across the globe 21:26 < bridge> malware could potentially steal stufff from my PC to 21:26 < bridge> malware could potentially steal stufff from my PC too 21:26 < bridge> pilon are you going schizo rn 21:26 < bridge> so maybe tailsos is necessary for super secret stuff 21:26 < bridge> ive been using zed past few days cuz i felt vscode doing undesirable things to my battery 21:26 < bridge> since i realized you can add multiple workspaces like vscode, it’s perfect 21:27 < bridge> there is literally no solution 21:27 < bridge> turned off all ai stuff 21:27 < bridge> very good focus editor 21:28 < bridge> i love zed, its fast, it gets the job done, and it works 21:28 < bridge> i havent checked in a while, did they manage a way to accept other LSP's apart from their provided ones? - that was a problem on nix 21:28 < bridge> there’s a pretty good home manager integration now 21:28 < bridge> :o 21:29 < bridge> just maps nix declarations to json settings, but that’s big when you consider things like lib.getExe pkgs.lsp 21:29 < bridge> btw i wonder how code is represented in memory 21:29 < bridge> wdym 21:29 < bridge> or editable text in general 21:30 < bridge> your code isnt editable text 21:30 < bridge> native stuff is machine code stored in the code section of your executable 21:30 < bridge> but i am talking about the code editor 21:30 < bridge> huh 21:30 < bridge> i think you need to create it yourself (probably with rust) 21:30 < bridge> for editing 21:30 < bridge> rope data type 21:30 < bridge> zed uses tree sitter 21:30 < bridge> but its supposed to be easy 21:31 < bridge> editing text seems so easy 21:31 < bridge> but actually 21:31 < bridge> until its not 21:31 < bridge> idk how i would implement it lol 21:32 < bridge> https://en.wikipedia.org/wiki/Rope_(data_structure) 21:32 < bridge> its less efficient for small files right 21:32 < bridge> under 1kb 21:33 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392226995353686227/IMG_8418.webp?ex=686ec3ee&is=686d726e&hm=90ac221bca8389c311790cd45e70c8dfb48548b176d3db9df125780970ee5b5f& 21:35 < bridge> okay 21:35 < bridge> i think index in O(log n) kinda sucks 21:35 < bridge> u need to access characters often in something like a text editor 21:35 < bridge> hard to do better 21:35 < bridge> yea 21:35 < bridge> there are pros and cons for everything 21:36 < bridge> O(log n) is actually really good i think 21:37 < bridge> n log n would be bad 21:38 < bridge> if you dont exceed millions of characters or have a TS/LSP buffer attached it doesnt really matter 21:39 < bridge> but if you use rope 21:39 < bridge> you then need all the other stuff to work with it too 21:39 < bridge> so syntax highlight 21:39 < bridge> there are a few ways to do that 21:41 < bridge> i mean you can just have a function `index()` 21:41 < bridge> and i assume that's enough? 22:00 < bridge> What do you guys think about Crust? https://github.com/tsoding/b 22:01 < bridge> Is there a programming language for every letter of the alphabet yet? 22:01 < bridge> perhaps 22:03 < bridge> for the english alphabet yes 22:03 < bridge> Okay so i wonder what the M programming language looks like 22:04 < bridge> Did you ask chatgpt? 22:04 < bridge> no 22:04 < bridge> or u meant one letter in the name 22:05 < bridge> Yes. One letter programming languages 22:06 < bridge> There is probably a list on wikipedia 22:06 < bridge> https://en.wikipedia.org/wiki/List_of_programming_languages 22:06 < bridge> There's no H and I 22:06 < bridge> i can fork b language and rename it to every letter possible 22:06 < bridge> ez 22:06 < bridge> Righttt 22:07 < bridge> There is literally the entire alphabet, just H and I missing 22:07 < bridge> Let's create the H programming language then 22:07 < bridge> @milkeeycat rename your language to H for HaskellButItsActuallyRust 22:07 < bridge> H for Helicopter 22:08 < bridge> Btw how is your type system implemented? 22:08 < bridge> I would be a sick programming language 22:08 < bridge> yes you would nouis 22:08 < bridge> Yes you would.. 22:08 < bridge> What 22:08 < bridge> imaginary syntax 22:08 < bridge> complex functions type shit 22:09 < bridge> I think a programming language where you write stuff vertically could be interesting 22:09 < bridge> So I still have a shot 22:09 < bridge> ```java 22:09 < bridge> Const static void func main(I &*i_lang) { }``` 22:09 < bridge> ```js 22:09 < bridge> Const static void func main(I &*i_lang) { }``` 22:09 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392236249401659534/image.png?ex=686ecc8c&is=686d7b0c&hm=b13cb66085ec8af955b4d161913d050431f86ff25068f447f8ea8b857770ae83& 22:09 < bridge> ```go 22:09 < bridge> Const static void func main(I &*i_lang) { }``` 22:10 < bridge> dreamberd is the best period 22:10 < bridge> I saw that, good old const const const 22:10 < bridge> maybe true maybe false 22:10 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392236438724018306/image.png?ex=686eccb9&is=686d7b39&hm=5b0b761883361fc412725bc599458623b9a0ebc8a99031a8eb54fa13fcad42a5& 22:10 < bridge> truly better than rust 22:10 < bridge> that's actually peak feature 22:11 < bridge> H lang heisenberg lang where using a variable slightly changes it 22:11 < bridge> If someone makes I it has to be a concatenative language 22:13 < bridge> What about a language which tries to allow for as much different syntax and features as possible 22:13 < bridge> So you can use the `function` keyword 22:13 < bridge> Or func 22:14 < bridge> Or fn 22:14 < bridge> Or def 22:14 < bridge> Or procedure 22:14 < bridge> in c/c++ u can make a keyword alias with a macro 22:14 < bridge> so unlimited 22:14 < bridge> {}, do end, indentation 22:15 < bridge> Funcdef_public_const(const int *const pInt) 22:15 < bridge> allow to specify first index for arrays 22:16 < bridge> most weird langs are array based ones or smth 22:16 < bridge> APL 22:16 < bridge> Or something that simply combines all languages 22:16 < bridge> brainfuck is array based 22:16 < bridge> https://tryapl.org/ 22:16 < bridge> `(~R∊R∘.×R)/R←1↓⍳R` 22:16 < bridge> Apl is weird fr 22:16 < bridge> So like you can write python and then c in one file lol 22:16 < bridge> `life ← {⊃1 ⍵ ∨.∧ 3 4 = +/ +⌿ ¯1 0 1 ∘.⊖ ¯1 0 1 ⌽¨ ⊂⍵}` game of life 22:17 < bridge> it’s only booleans tho. if you want to use it for another variable you have to tag it somehow which is equally as useful as using a normal two-state bool 22:17 < bridge> Or maybe a language where characters can have colors 22:17 < bridge> U⍵U 22:18 < bridge> So for example you would color identifiers green 22:18 < bridge> Then you could use whitespaces in names 22:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392238534936629299/image.png?ex=686ecead&is=686d7d2d&hm=0c89777ecc3b6efc248b6095a883142c797a47e97bb5aabc47c9ad2502364bfd& 22:18 < bridge> maybe can just use another bit 22:19 < bridge> so it will be more memory efficient 22:19 < bridge> well i dont know 22:19 < bridge> the compiler of dreamberd is chatgpt 22:20 < bridge> maybe it can just use another bit 22:21 < bridge> What would be cool for real tho is code generator which generates literally junk code which is meant to look cool 22:22 < bridge> Something like hollywood 22:22 < bridge> Me when I try to look cool in public do I open up a Huffman program written in haskell on my phone 22:23 < bridge> I type ping google.com into termux 22:43 < bridge> I just tail one of the server logs 22:44 < bridge> Tbf just my usual setup looks cool whatever I do. Almost everything I do is on the terminal. Just connecting to wifi looks cool to the uninitiated 22:55 < ws-client> *lerato said while typing into his soy dev electron app* 22:56 < ws-client> when bring back irc swag 23:11 < bridge> for backup, you could consider secret sharing (e.g. shamir's secret sharing). if you have a few peopl irl who you trust, (e.g. 5), you can make it so that any 3 of them can recover the secret together, no less. (you can ofc choose arbitrary numbers) 23:12 < bridge> what if you just want a binary value? 23:12 < bridge> applies 2 as a function to + and 2 23:13 < bridge> https://www.youtube.com/watch?v=RcVA8Nj6HEo 23:15 < bridge> compile it and see for yourself :D 23:17 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392253271015690340/image.png?ex=686edc66&is=686d8ae6&hm=23ac89b1e9ed234cad1ec591bf42e629be35c847ce2e94969e9765b71ae11326& 23:17 < bridge> uhh 23:17 < bridge> sure 23:17 < bridge> i was interested, i know the github is higher in the results 23:17 < bridge> 23:18 < bridge> wait what 23:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392253471767400448/image.png?ex=686edc96&is=686d8b16&hm=1641dfeae4b3e2137ef8cf7465e02f6e52f77bc003efd152c1387557d1f8bcd8& 23:18 < bridge> huh? 23:18 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1392253589191262369/image.png?ex=686edcb2&is=686d8b32&hm=03173049791b79c0c6a11531d9e661341f1da85ea80d7b0d60cb68d069902045& 23:20 < ws-client> @Jupstar ✪ gotta admit this is cool! 23:20 < ws-client> https://tube.zillyhuhn.com/videos/users/chiller/fng_fast_fire.mp4