01:21 < bridge> @zwelf2 I quoted you in my protocol docs. Let me know if thats not okay. https://chillerdragon.github.io/teeworlds-protocol/07/snap_items.html#obj_character_core 01:27 < ws-client> This guy just forked the biggest garbage repo I had https://github.com/berkcelc So i wondered why. Now I see it. He is building a github portfolio with forks lmao. Looks like a active githubber at first glance but i am not sure if he ever published even a single commit. 01:28 < ws-client> Oh yes 2 commits and 183 forks xxxxxxxxxD 01:29 < ws-client> I need to learn from this guy to boost my stats 01:52 < bridge> turkish moment 03:11 < bridge> can someone explain why the code checks if IsSeqInBackroom? It doesnt seems to make sense to me 03:11 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211857999640006747/image.png?ex=65efb9b6&is=65dd44b6&hm=27878426c7fde2a5b7671de19ce838c532b7be1fc36fb62a4bd4e40758fc0fa4& 03:11 < bridge> the future ack is calculated with `% NET_MAX_SEQUENCE` 03:15 < bridge> so the reset of the ack number is already predicted no? 03:15 < bridge> so the reset of the ack number is already predicted, no? 03:57 < ws-client> oh im so looking forward to reading your ack docs :3 03:57 < ws-client> might fix chat messages being printed twice in my client hehe 03:57 < bridge> is DD opensource? 03:58 < bridge> like can any joe contribute to the code? 03:59 < ws-client> yes @ratsouphd ddnet is open source and very community driven 04:00 < bridge> cool is there a link to the github i would like to read the docs and maybe contribute 04:00 < ws-client> https://github.com/ddnet/ddnet 04:00 < bridge> It is opensource, I'm about to graduate from software engineering at my respective university so I will no doubt contribute. 04:01 < bridge> thx 04:01 < ws-client> where are two ppl coming from wanting to contribute at the same time? woo 04:02 < bridge> im new to the game and just want to give back to the community 04:02 < bridge> Haha well I won't be contributing until atleast 6 months down the line, I'm graduating in May then taking a very extended vacation to travel after suffering for the past 5 years 04:03 < ws-client> cool 04:08 < bridge> man u will see the snaps doc, I'm rewrintg it right now. I just a snap handler on teeframe and its working 100% 04:10 < bridge> now I have the power of snaps :kek: 04:13 < bridge> man u will see the snaps doc, I'm rewriting it right now. I just implemented a snap handler on teeframe and its working 100% 06:40 < bridge> there it is mate: 06:40 < bridge> 06:40 < bridge> https://protocol-docs.teeframe.com/fundamentals.html#sequence-number 06:40 < bridge> 06:41 < bridge> https://protocol-docs.teeframe.com/packets/default-packets.html 06:41 < bridge> https://protocol-docs.teeframe.com/packets/chunks-concept.html 06:41 < bridge> https://protocol-docs.teeframe.com/packets/snaps-concept.html 07:35 < bridge> https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/press-release-technical-report/ 07:35 < bridge> @learath2 THE UNITED STATES OF AMERICA!!!!! 07:35 < bridge> 🇺🇸 🇺🇸 🇺🇸 🇺🇸 07:40 < bridge> good morning btw 07:43 < bridge> Government mandated rust rewrite 07:43 < bridge> GMRIIR 07:43 < bridge> GovRIIR 08:27 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211937527133511700/image.png?ex=65f003c7&is=65dd8ec7&hm=014e2317196bca05da21414bd11d2650f9a1b0078f7d63e33b829cbad23c591c& 08:39 < bridge> can yall check #bugs 08:41 < bridge> its 8:41 bro 08:48 < bridge> Learath always wanted to contribute to NSA 😬 08:48 < bridge> when mathematical safe in rust 08:48 < bridge> :gigachad: 08:48 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211942956693454848/image.png?ex=65f008d5&is=65dd93d5&hm=f75d3a6e81050f77416f881a29f51bebf02192d99239169bd7ea2b35e4aca4d0& 08:48 < bridge> its safe 08:50 < bridge> I guess you could argue a memory bug is a logic bug. But having no memory bugs then means having less logic bugs. But obviously not zero 09:12 < bridge> Fair 09:12 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211948963196833812/IMG_20240227_101203.jpg?ex=65f00e6d&is=65dd996d&hm=66764586b5faa2c2ce6c38757a64c39414d69c5ec57d093da4a618ac53fe50c5& 09:15 < bridge> that's really weird. I'd usually say all of them print the same. since you say they don't, maybe 84, 42, 42? 09:17 < bridge> ah, not the reason I thought 11:15 < bridge> I'm surprised it doesn't crash in debug mode tho 11:15 < bridge> Are there no debug checks enabled 11:17 < bridge> 🤷‍♂️ 11:37 < bridge> @fokkonaut bw servers have more than 1 tw server hosted in different places, they share the same rules. teesports has more that only 1 modified ddnetpp server (that i would say joined teesports eventually) like fng servers (refng by k0rae). idk why you don't get the community status though but bw and teesports host more than one server 11:37 < bridge> than* 11:37 < bridge> true, BW made a RUS server 11:39 < bridge> My servers don't even show in master server at all anymore 11:40 < bridge> are there error messages in the log? 11:40 < bridge> I wonder if the attacker switched to dosing them with spoofed IP of my server xd 11:41 < bridge> I haven't really looked into it yet. But I checked my iptable rules 11:55 < bridge> i agree with the "needed requirements" since it's not clear to anyone as of today, but to put it into perspective: 11:55 < bridge> 11:55 < bridge> having a single server in the community filter seem's... weird - maybe support a custom badge and an approved stamp for single server's ? so you can atleast get rid of the KoG tab ._. 11:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211989890967797791/image.png?ex=65f0348b&is=65ddbf8b&hm=4613b4738b87f6c94bf3f127faf76d08a961b09b5c5bedc7d80e10dd7f38b026& 11:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211989891324579870/image.png?ex=65f0348b&is=65ddbf8b&hm=e6c3c084268bcecda5ff745e1f1bf2f6960ca14b55d8ca7cece0db6bfd206baf& 11:55 < bridge> i agree with the "needed requirements" since it's not clear to anyone as of today, but to put it into perspective: 11:55 < bridge> 11:55 < bridge> having a single server in the community filter seem's... weird - maybe support a custom badge and an approved stamp for single server's ? so you can atleast get rid of the KoG tab ._. - but i agree with you fully there, dont get me wrong :P 11:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211989890967797791/image.png?ex=65f0348b&is=65ddbf8b&hm=4613b4738b87f6c94bf3f127faf76d08a961b09b5c5bedc7d80e10dd7f38b026& 11:56 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211989891324579870/image.png?ex=65f0348b&is=65ddbf8b&hm=e6c3c084268bcecda5ff745e1f1bf2f6960ca14b55d8ca7cece0db6bfd206baf& 11:56 < bridge> I know that BW and TeeSports have multiple servers, hence I said "de facto 1 server" 11:56 < bridge> wdym get rid of kog tab? kog tab isnt there if not favorited 11:57 < bridge> Last time I checked only 1 server of each community was actually active 11:58 < bridge> oh im sorry i somehow overread the "de facto" - sry 11:58 < bridge> teesports are quite popular though 11:58 < bridge> i agree with the "needed requirements" since it's not clear to anyone as of today, but to put it into perspective: 11:58 < bridge> 11:58 < bridge> having a single server in the community filter seem's... weird - maybe support a custom badge and an approved stamp for single server's ? so you can atleast get rid of the KoG tab ._. - but i agree with you fully there, dont get me wrong :P 11:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1211989890967797791/image.png?ex=65f0348b&is=65ddbf8b&hm=4613b4738b87f6c94bf3f127faf76d08a961b09b5c5bedc7d80e10dd7f38b026& 11:58 < bridge> np 11:58 < bridge> i agree with the "needed requirements" since it's not clear to anyone as of today, but to put it into perspective: 11:58 < bridge> 11:58 < bridge> having a single server in the community filter seem's... weird - maybe support a custom badge and an approved stamp for single server's ? so you can atleast get rid of the KoG tab ._. - but i agree with you fully there, dont get me wrong :P 11:58 < bridge> i agree with the "needed requirements" since it's not clear to anyone as of today 11:58 < bridge> 11:58 < bridge> having a single server in the community filter seem's... weird - maybe support a custom badge and an approved stamp for single server's ? so you can atleast get rid of the KoG tab ._. - but i agree with you fully there, dont get me wrong :P 11:58 < bridge> russian fng gets filled 20/32 and players are switching to them instead 11:59 < bridge> i also agree with this: 11:59 < bridge> 11:59 < bridge> ``` 11:59 < bridge> Other than that: I have no problem hosting multiple servers or different gamemodes, but I'm not sure if doing the same as other communities and spamming the list with useless servers is the way to go, but if that's the only possibility to gain community status I'll do so. 11:59 < bridge> ``` 11:59 < bridge> 11:59 < bridge> forcing you to open new server's that just sit there as placeholder's shouldnt be a way to get a community tag 11:59 < bridge> (bw opened them for future plans tho) 12:12 < bridge> @reitw https://netflixtechblog.com/announcing-bpftop-streamlining-ebpf-performance-optimization-6a727c1ae2e5 12:15 < bridge> I can only speculate since I consciously distanced myself from this set of decisions because... well you see. 12:15 < bridge> 12:15 < bridge> One of the primary reasons the community feature was made was to group large networks so they don't overwhelm the list. So with the lack of any concrete rules, I'd guess it's indeed the fact that having one server in a group is just weird 12:17 < bridge> add another way to filter |communities|gamemodes| 12:18 < bridge> block,fng,city,gores,ddrace,zcatch,ctf 12:18 < bridge> Initial thought for this feature was definitely KoG hosting BW and my server 12:18 < bridge> only problem is someone needs to do the work to sort all that XD 12:19 < bridge> And the original concept was to make "any" server verifiable to prevent them being copied and spoofed 12:20 < bridge> Neither were really the point tbf. But I'm not in the mood to argue 12:20 < bridge> Well, that was the origin 12:20 < bridge> You can check Ryozuki's initial issue if you are curious what the original request was. It was Ryozukis obsession with kog getting unfair treatment to begin with 12:21 < bridge> But anyways, it doesn't matter if we can agree and decide on any other way to make this issue resolvable 12:21 < bridge> Then me and a couple others suggested grouping large networks in another way so independent servers can be visible in the list too 12:21 < bridge> For now I'm gonna stick with KoG 12:30 < bridge> 😬 12:30 < bridge> and i won 12:30 < bridge> well the current situation doesnt give kog preference 12:30 < bridge> :Celebrate: 12:30 < bridge> 13:03 < bridge> oh wow cool ! 13:37 < bridge> does the client use the system wide libraries or his own? 13:44 < bridge> does the client use the system wide libraries or its own? 14:06 < bridge> Mixed 14:06 < bridge> The website mostly uses system libs 14:06 < bridge> Steam own + steam runtime + system 14:07 < bridge> Self build: system 14:17 < bridge> woah cool 16:39 < bridge> can ayone show a function which gets called when u press spec key :pepeW: (q by default) 16:46 < bridge> on server or client side? 16:46 < bridge> Client 16:47 < bridge> it's roughly `say /pause` 16:48 < bridge> You can use F1 to show what your key is bound to: `bind q` should tell you which command it executes 16:48 < bridge> But it is probably what Heinrich said 16:56 < bridge> ok, what does /pause do ;-; 16:57 < bridge> It calls the `CGameContext::ConTogglePause` function on the server. 16:59 < bridge> Oh, that's probably why i couldn't find anything in client code 16:59 < bridge> Pog 16:59 < bridge> Oh, that's why i couldn't find anything in client code 18:06 < bridge> some json files in stats archives broken 18:06 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1212083305466564638/image.png?ex=65f08b8b&is=65de168b&hm=0693ae46037c0ed6258607b2334c011fb016add4a714fa126c251f68e05e7ec2& 18:06 < bridge> 2023-09-17 18:08 < bridge> maybe stats collector tools was restarted, next json is empty `{"servers":[]}` 18:08 < bridge> I can confirm that it looks broken 18:08 < bridge> the replacement is supposed to happen atomically, if it is not, that's a bug 18:08 < bridge> it shouldn't be impacted by restarts 18:09 < bridge> If I see any more broken ones, I’ll let you know 18:10 < bridge> https://github.com/ddnet/ddnet/blob/758664c29d0ce486a23c6cbb4e51c609354a1fd0/src/mastersrv/src/main.rs#L642 18:10 < bridge> thanks! 18:10 < bridge> thanks! 18:17 < bridge> the next couple of jsons are missing 18:17 < bridge> maybe it was a problem with the disk being full 18:23 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1212087743862153356/image.png?ex=65f08fad&is=65de1aad&hm=d524050a3e9898397f9b78a80024b051e4dca38c5deefc8f98aa7cb243a06541& 18:30 < bridge> Gift 50$ - [steamcommunity.com/gift/50](https://u.to/8ShmIA ) 18:31 < bridge> @Discord Mod 18:31 < bridge> every channel 🥹 18:54 < bridge> https://ciechanow.ski/airfoil/ 18:54 < bridge> the best physics blog has a new post! 19:43 < bridge> Omg, bunch of good visualizations really! 20:28 < bridge> wussup 20:33 < bridge> https://forgejo.org/ 20:34 < bridge> i think ill start using this 20:34 < bridge> for git.edgarluque.com 20:34 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1212120553109065798/image.png?ex=65f0ae3b&is=65de393b&hm=d6d2e84442e3acfd4152c458aec493df0d1e14838dbd141fd723fd1399f884c4& 20:34 < bridge> sad it uses MIT 20:34 < bridge> AGPL would be so pog 20:35 < bridge> you can also use it under the AGPL license 20:36 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1212120985214648451/image.png?ex=65f0aea2&is=65de39a2&hm=0ecf868ab57a6ec7397004cc5233353a7654c7a41a41e570938ce87bf16c63be& 20:36 < bridge> (but others can also use it under the MIT license, so maybe you're complaining about that) 20:36 < bridge> can i do modifications under agpl? 20:36 < bridge> yes, AFAIK 20:36 < bridge> partly this yes 20:37 < bridge> although the original author will always be able to use it however they like (at least in germany) 20:37 < bridge> so I guess you can't get that kind of restriction from the author, not even with AGPL 20:40 < bridge> yeah 20:40 < bridge> well the author is not the objective 20:40 < bridge> its the free software users 20:40 < bridge> bad opinion 20:40 < bridge> agpl is not dev centric, its user centric 20:41 < bridge> urs yes 20:41 < bridge> stallman opinion 20:41 < bridge> *very radical 20:41 < bridge> pedo opinion 20:41 < bridge> stallman has nothing to do 20:41 < bridge> 😬 20:41 < bridge> stallman has nothing to do with this 20:41 < bridge> @jupeyy_keks @ryozuki please don't call each other's opinions bad 20:42 < bridge> and especially not pedo 20:42 < bridge> i can survive his critique 20:42 < bridge> he is my brother 20:42 < bridge> that's okay, do it in DMs then 20:42 < bridge> didn't torvalds refuse to be gnu since stallman radicalized by his own speeches xd 20:42 < bridge> as long as u use rust 20:42 < bridge> 😬 20:42 < bridge> eh idk 20:43 < bridge> people can be rly good and have opinions that dont align and doesnt mean they are correct 20:43 < bridge> otherwise we would all believe jeff bezos opiniosn are the best 20:43 < bridge> cuz he is billionare 20:43 < bridge> but well gpl2 is not a bad license, use agpl if possible 20:44 < bridge> i wonder if greydon hoare uses rust 20:45 < bridge> @jupeyy_keks if i made the most perfomant vulkan driver agpl would u use it 20:46 < bridge> ofc 20:46 < bridge> mm idk if it would require u to do agpl too 20:46 < bridge> i hope yes but i think not 20:46 < bridge> probably not 20:47 < bridge> you're exposing a standard API 20:47 < bridge> could u make a OS with all under agpl 20:47 < bridge> or a license that enforces such a free software license ffor all software used? 20:47 < bridge> and developed 20:48 < bridge> probably not. wine exists 20:48 < bridge> @heinrich5991 are u goign to eurorust 20:48 < bridge> https://eurorust.eu/ 20:50 < bridge> haven't planned anything that far yet 20:50 < bridge> are you going? is something interesting about this conference? 20:51 < bridge> idk 20:51 < bridge> but core devs go 20:52 < bridge> all non permissive licenses are dev unfriendly 20:52 < bridge> 20:52 < bridge> all licenses are 20:52 < bridge> u'd need to make sure to not fuck up 20:52 < bridge> 180€ ticket lol 20:52 < bridge> @heinrich5991 how much does ccc cost 20:54 < bridge> https://events.ccc.de/en/2023/11/19/37c3-tickets-presale/ 20:54 < bridge> apparently 175€ this year 20:54 < bridge> apparently 175€ last year 20:55 < bridge> hmm i see 20:56 < bridge> uff, so expensive. more expensive than a football match :lol: 20:56 < bridge> and u can watch it for free in the internet 20:56 < bridge> also more days than a football match :p 20:57 < bridge> but also more boring xd 21:04 < bridge> 380 euros for https://cppconf.ru 21:04 < bridge> :justatest: 21:07 < bridge> I've seen C++ conferences for 1000€ ^^ 21:07 < bridge> you gotta have a corporate sponsor for that, I think 21:09 < bridge> corporate ticket rises up to 600 euros kekw 21:10 < bridge> its quite a lot anyway if you are just an individual 21:10 < bridge> in sense that the stage used for kinda strange performance 21:11 < bridge> and also advertising open source projects driven by companies xd 21:16 < bridge> just to get free sigsegvs 21:22 < bridge> Going to kubecon 21:22 < bridge> There's some rust-related topics 21:24 < bridge> why are you going? 🙂 21:26 < bridge> I'm currently learning k8s since some time + there's some goals that we want to achieve at work, some topics that will be discussed at the kubecon will help us for that 21:27 < bridge> And also cuz there's the Cilium + eBPF day 21:27 < bridge> ah 🙂 21:30 < bridge> oy vey 21:48 < bridge> PRESS ENTER 21:49 < bridge> my brain isnt made for this 21:50 < bridge> @scrumplex 🥺🥺🥺 21:50 < bridge> 21:50 < bridge> ``` 21:50 < bridge> Access to image at 'https://skins.scrumplex.net/skin/glowfox.png' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 21:50 < bridge> ``` 21:50 < bridge> I've been thinking about some sort of backend infrastructure that connects all of ddnet together but I'm having a bit of a hard time settling on a design. 21:50 < bridge> My initial design: 21:50 < bridge> - Network Entities are members of the network that provide or request Services 21:50 < bridge> - Services are either streaming or non-streaming. Streaming services are provided on a pubsub scheme, they are things like logs, bans, game-state, hardware-state. Non-streaming services are like RPC calls, things like rcon commands 21:50 < bridge> - Brokers provide a gateway into the network, entities register their services on brokers, brokers connected to eachother route streams and requests through the network 21:50 < bridge> why is the origin 'null'? ^^ 21:50 < bridge> oh 21:50 < bridge> Lemme allow any origin then 21:51 < bridge> Now after looking at this structure for an hour or so, I've noticed that maybe there is something that already implements this as this sounds so much like the internet itself to begin with 21:52 < bridge> the pubsub stuff should keep state 21:52 < bridge> otherwise you'll get out of sync if you miss a ban 21:52 < bridge> image.src = skin url 21:52 < bridge> 21:52 < bridge> on local index.html 21:52 < bridge> It provides a separate non-streaming endpoint that you can use to synchronize yourself, and every update comes with the new bulk hash 21:53 < bridge> ah, local 21:53 < bridge> works, but why isn't it part of the protocol? 21:54 < bridge> The messaging solution I was considering does not have builtin support for this. (0mq) 21:54 < bridge> I see 21:56 < bridge> try again ^^ 21:57 < bridge> :poggers2::heartw: 22:00 < bridge> But there are lots of problems ranging from mild to difficult with this kind of setup: 22:00 < bridge> - Something like DHCP is needed to give addresses to entities 22:00 < bridge> - Something like DNS is needed to sanely address network entities 22:00 < bridge> - Something like BGP or atleast some static routing tables are needed so brokers can route stuff around 22:00 < bridge> why can't we simply™ connect to the local server at a given port 22:01 < bridge> and the local server simply™ connects to a hardcoded masterserver 22:01 < bridge> If we keep the flow of data unidirectional that works 22:02 < bridge> Actually maybe I can make it work like that, I just need to split the generic broker concept and have a "Central Broker" and "Local Broker" 22:03 < bridge> even bidirectionally, it could work, no? 22:04 < bridge> It works only if we enforce the hub and spoke hierarchy 22:05 < bridge> spoke? 22:07 < bridge> dis 22:07 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1212143982923227136/Hub-and-Spoke-Distribution-Model.png?ex=65f0c40e&is=65de4f0e&hm=af0dcb30049a21479d85955903f6c551b59fb874cab8235039fe506bcd6c94d3& 22:08 < bridge> point-to-point looks brittle for our servers 22:08 < bridge> hard enough to ensure connectivity to the main server 22:08 < bridge> There would be some benefit to having multiple routes to the main server, like the chinese servers regularly lose connection to the main server but they are usually reachable through the one server we have outside mainland china 22:09 < bridge> ah 22:09 < bridge> Anyway, I'll just have to think much much more on this, I want something simple, yet powerful 😄 22:09 < bridge> maybe we can do a voice call at some point, if you'd like 22:10 < bridge> Might be a nice idea actually, after I get my thoughts a little more concrete we should talk them over 22:10 < bridge> Like peering or something? 22:13 < bridge> Well peering is two autonomous systems exchanging traffic. My initial thinking was something similar to that indeed 22:13 < bridge> this sounds like u want elixir/otp 22:15 < bridge> I imagined brokers as routers, but instead of packets they route very high level stuff. To solve what the next hop should be you need some sort of routing algorithm 22:15 < bridge> I'll check it out 22:16 < bridge> i have to try this https://www.phoenixframework.org/ 22:16 < bridge> i only heard good word of this 22:16 < bridge> my company uses elixir for any distributed stuff that isnt cpu bound 22:16 < bridge> elixir/erlang/otp 22:16 < bridge> for cpu we use rust 22:17 < bridge> @ryozuki what part does elixir/erlang/otp implement? 22:17 < bridge> elixir and erlang are kinda compatible since they both use the BEAM 22:17 < bridge> otp is like a std library available in the BEAM for concurrency 22:17 < bridge> whatsapp uses this 22:17 < bridge> > OTP stands for Open Telecom Platform. It is based on Erlang and contains a huge set of libraries from BEAM that follow system design principles. In the core of OTP, we have processes which make Elixir very efficient. Let’s have a look at the processes. 22:18 < bridge> But what parts of my issue do you think it solves? 22:18 < bridge> hm like having lot of services 22:18 < bridge> idk 22:18 < bridge> xd 22:18 < bridge> https://fly.io/phoenix-files/elixir-and-rust-is-a-good-mix/ 22:18 < bridge> https://github.com/rusterlium/rustler 22:19 < bridge> Hm, but what is it's advantage over, say Rust or C++? 22:19 < bridge> I can send packets with Rust, I can receive them with Rust. There is reliable transport, there is unreliable transport. 22:20 < bridge> there is server crashes, there is internet issues, etc 22:20 < bridge> otp deals with that 22:20 < bridge> elixir and erlang both are based around an actor system 22:20 < bridge> they make it incredibly easy 22:20 < bridge> Does erlang e.g. have a concept of processes being remote? 22:20 < bridge> async rust isnt easy 22:20 < bridge> @learath2 yes 22:20 < bridge> the erlang beam machine can work across servers 22:21 < bridge> But in what way? As in cooperative processing? Or can I say message servers across it? 22:21 < bridge> https://www.erlang.org/doc/reference_manual/distributed.html 22:21 < bridge> > A distributed Erlang system consists of a number of Erlang runtime systems communicating with each other. Each such runtime system is called a node. Message passing between processes at different nodes, as well as links and monitors, are transparent when pids are used. Registered names, however, are local to each node. This means that the node must be specified as well when sending messages, and so on, using registered names. 22:21 < bridge> > 22:21 < bridge> > The distribution mechanism is implemented using TCP/IP sockets. How to implement an alternative carrier is described in the ERTS User's Guide. 22:21 < bridge> This sounds rather interesting 22:22 < bridge> have you used elixir? if not, it might be a bit hard for to help Learath2 who hasn't used it yet 22:22 < bridge> i havent used it much 22:22 < bridge> but its on my priority list 22:22 < bridge> its rly interesting 22:22 < bridge> and its industry proven 22:22 < bridge> that doesn't mean we can gauge what it's useful for 22:23 < bridge> true xD 22:23 < bridge> It does look like it has some semblance to being useful to what I'm thinking about 22:23 < bridge> i just wanted to mention the first thing i thought when reading his comment was elixir and otp 22:23 < bridge> btw 22:23 < bridge> there is a rusty language that works on BEAM 22:23 < bridge> https://gleam.run/ 22:24 < bridge> and thanks to BEAM u have access to OTP too https://github.com/gleam-lang/otp 22:24 < bridge> @learath2 a big pro of BEAM is its fault tolerant 22:24 < bridge> its meant to even survive server crashes 22:24 < bridge> provided u have more than 1 ofc 22:25 < bridge> https://medium.com/@vamsimokari/erlang-let-it-crash-philosophy-53486d2a6da 22:25 < bridge> > Reliable Software doesn’t crash : 22:25 < bridge> > 22:25 < bridge> > Hardware has errors 22:25 < bridge> > The network can be unreliable 22:25 < bridge> > Programmers make mistakes! 22:25 < bridge> > The software has bugs( in very rare cases software has bugs as well ) 22:25 < bridge> > 22:25 < bridge> > Perceptions vs Reality 22:25 < bridge> > 22:25 < bridge> > Instead of denying reality, we Acknowledge that software has bugs, the system may fail 22:25 < bridge> > 22:25 < bridge> > Instead of having uncontrolled failures, Erlang turns failures, exceptions and crashes into tools that we can use and control. 22:25 < bridge> > Process in Erlang : 22:25 < bridge> > 22:25 < bridge> > The basic building block in Erlang is the process. A process is fully isolated and shares nothing i.e you can’t access to its memory location directly( Actor Model ) 22:26 < bridge> > If a process dies, it won’t propagate the failure to other processes. 22:26 < bridge> > An Erlang process is very lightweight and we can spawn 1000 ‘s of them easily. 22:26 < bridge> > 22:26 < bridge> > Messages: 22:26 < bridge> > 22:26 < bridge> > Message passing is the only way how processes can communicate with each other 22:26 < bridge> > As I already mentioned, message passing in Erlang is a non-blocking operation. 22:26 < bridge> > 22:26 < bridge> > This means communication is always asynchronous .you send a message and go back to your normal activity. When needed, you can check if you got a reply back in your mailbox. 22:26 < bridge> > 22:26 < bridge> > If you send a message and then die, the receiver will still get your message 22:26 < bridge> rly interesting language 22:26 < bridge> This is quite intriguing, it seems it truly is "distributed", I wonder how they handle synchronization of shared memory and stuff 22:27 < bridge> https://www.erlang.org/doc/man/supervisor.html 22:27 < bridge> it also provides lot of observavility 22:27 < bridge> i.e u can see all the processes and their memory 22:27 < bridge> i saw a gui my company had and was smth else 22:27 < bridge> https://www.erlang.org/doc/man/observer 22:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1212149202491015279/39091211-55554414-4622-11e8-8b28-bd3b5c7e17a6.png?ex=65f0c8ea&is=65de53ea&hm=42ee6877e585b942b48c6b4bb76e0a67c43a1eff3ecc4b822ae8203647e9cb04& 22:28 < bridge> this one is a cli tool xd 22:28 < bridge> What does "total memory" even mean in the context of a distributed "machine" 😄 22:28 < bridge> 22:40 < bridge> It seems something like Apache Qpid implements something very close to this 23:29 < bridge> https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/memory-safety-statements-of-support/ 23:30 < bridge> :greenthing: