Paul Tarvydas 2025-10-06 20:05:08 Konrad Hinsen 2025-10-07 11:26:36 I don't think that "Stockholm Syndrome" is a good label for what you describe. Computing hasn't become the victim of some evil outside force. It has become the victim of its success, like so much other technology. It evolves through incremental improvement, not through revolution, because incremental improvement yields immediate pay-off whereas revolutionary innovation would most probably just fail for lack of adoption.
xyzzy 2025-10-07 12:11:53 C++ which has co-routines, although 30 years late and thread-safe queues should be sufficient for Message Passing right ?
Paul Tarvydas 2025-10-07 16:04:59 There likely is a difference in how I think of computation. I think in a very hardware-centric way.
Incremental improvement is good, but has its down-sides, too, like the Mars Pathfinder fiasco, callback hell, Ptolemaic Cosmology, etc.
Previously, you said something that resonates with me. We have what we have. Period. Can we use it in some different manner? I think so. I think that the ingredients are all available: queues, closures, tagged messages, main-loop meme extended to be recursively defined (like, say, Lisp lists, or bash scripts that call other bash scripts), UNIX process and pipeline memes (actually, the pipeline meme runs so much faster in 2025 that shelling-out becomes a practical strategy for program development, in my mind (we /can/ use multiple languages if we want it (John Lennon))), etc. We don't need wild new hardware and we don't need to dump the code that we have. I think that it boils down to only a psychological issue, not a technical issue(s).
Konrad Hinsen
Paul Tarvydas 2025-10-07 16:32:37 In my mind, the model of Message Passing is two completely separate computers. Say, Arduino A running one thread and another thread on ESP32 B. Two thin uni-directional wires between them. No memory sharing. We needed to worry about thread safety and the politically correct verbiage for time-sharing (later rebranded as "multi-processing") back in 1960/1970/etc. We don't need to think that way any more. Thread safety, red/green threads, co-routines, 55,000,000 LOC operating systems are just inefficient ways to use computers. Apple made zillions of $'s by stuffing CPUs into printers (postscript printers) back in the day. An acquaintance told me about his horse-racing technology - he hung 30-ish computers off of each horse (in the stable), each one running micro-python essentially executing one main thread. Then, he asked me how to make it "better". I took his question to mean how could he complicate the design and told him not to change anything. The missing piece of technology didn't obviously exist at the time (a way to coordinate the computers in layered form instead of in an infinite canvas form (hence my train of thoughts on 0D/PBP)) xyzzy
Konrad Hinsen 2025-10-07 18:12:43 I can see how your architecture would work for some kinds of computations, roughly summarized by "data flow". But there are other kinds, roughly summarized as "updating state", where I don't see how it could be done if the state cannot be distributed efficiently.
Denny Vrandeฤiฤ 2025-10-07 11:44:52 I think I shared this before, but Ivan told me to share this again because he thinks it is fascinating: I am working on a project called Wikifunctions. Wikifunctions was built in order to support Abstract Wikipedia, as described in this paper introducing Abstract Wikipedia and Wikifunctions. It is a short paper (here's the PDF), but there is also a long version with far more details.
The goal of Wikifunctions is to allow for the creation of Abstract Wikipedia, to create natural language text from a language-independent notation anyone can edit directly, using functions from Wikifunctions. These functions are aimed to be writeable and maintainable also by non-programmers.
So far, Wikifunctions has collected a catalog of more than 3100 functions, in diverse areas such NLG, chemistry, maths, colors, etc.
๐ Architecture for a multilingual Wikipedia
Wikipedia's vision is a world in which everyone can share in the sum of all knowledge. In its first two decades, this vision has been very unevenly achieved. One of the largest hindrances is the sheer number of languages Wikipedia needs to cover in order to achieve that goal. We argue that we need a new approach to tackle this problem more effectively, a multilingual Wikipedia where content can be shared between language editions. This paper proposes an architecture for a system that fulfills this goal. It separates the goal in two parts: creating and maintaining content in an abstract notation within a project called Abstract Wikipedia, and creating an infrastructure called Wikilambda that can translate this notation to natural language. Both parts are fully owned and maintained by the community, as is the integration of the results in the existing Wikipedia editions. This architecture will make more encyclopedic content available to more people in their own language, and at the same time allow more people to contribute knowledge and reach more people with their contributions, no matter what their respective language backgrounds. Additionally, Wikilambda will unlock a new type of knowledge asset people can share in through the Wikimedia projects, functions, which will vastly expand what people can do with knowledge from Wikimedia, and provide a new venue to collaborate and to engage the creativity of contributors from all around the world. These two projects will considerably expand the capabilities of the Wikimedia platform to enable every single human being to freely share in the sum of all knowledge.
Arcade Wise 2025-10-08 15:40:41 You're working on Wikifunctionsโฝ That's so cool! I've been following y'all's work for a while.
Denny Vrandeฤiฤ 2025-10-09 07:59:45 Thanks! Yes, if you have any questions, or want to discuss the foundations, happy to do so!
Daniel Coutinho Ribeiro 2025-10-12 01:11:37 Jouke Waleson 2025-10-12 19:25:51 A) From the readme I don't understand the problem you're trying to solve.
B) If this is a cloud project, why the html/react syntax? It's not supposed to run in the browser right? I don't need an answer here, but it's a bit weird so I'd expect a rationale in the project description.
Daniel Coutinho Ribeiro 2025-10-12 19:28:31 Hi Jouke, thanks so much for the feedback! The problem I'm trying to solve is pretty much the problem Vercel tries to solve, increase devEX, alonside making more dynamic architecture, did you the example application on the readme? imagine infra that could adjust, or better yet, imagine having reactive workflows
think of it as "n8n" on steroids
Daniel Coutinho Ribeiro 2025-10-12 19:29:43 the html/react syntax its a tool so that we can map dependencies, xml syntax allow for that
Jouke Waleson 2025-10-12 19:30:52 and my point is mostly that you're not supposed to try and convince people here, but in the docs ๐
Daniel Coutinho Ribeiro 2025-10-12 19:31:24 it's hard because I'm having a hard time defining it, its kinda of a paradigm shift in my vision
Jouke Waleson 2025-10-12 19:32:02 and people are busy, so before I try the example, I want to see a compelling problem it solves that I can relate to.
Daniel Coutinho Ribeiro 2025-10-12 19:32:32 let me think, since you are here talking to me, which field do you work?
Daniel Coutinho Ribeiro 2025-10-12 19:32:44 maybe I can give a practical example to see if it makes sense to you
Daniel Coutinho Ribeiro 2025-10-12 19:35:14 so, for instance, in this example, imagine that you have a microservice that always need to run, but it sudden peaks of demand what of the blue and most of the time its very little access
Daniel Coutinho Ribeiro 2025-10-12 19:35:35 what if the infra itself could read the access patterns and adjust itself so the cost is lower?
Daniel Coutinho Ribeiro 2025-10-12 19:37:02 thats the kinda of problem that my framework allows solving in a easy XML-friendly way with reusable components and a ecossystem that could grow to resemble what today we have on the react side
Jouke Waleson 2025-10-12 19:38:24 how it works yes, why I would pick this over a k8s cluster that uses node pools with spot instances does not (yet)
Jouke Waleson 2025-10-12 19:40:13 kubernetes is the default at many organizations now, so if you think you have something that goes beyond what k8s can do, I'd at least explain in the docs how this is better ๐
Daniel Coutinho Ribeiro 2025-10-12 19:40:31 the main difference that K8s scaling in policy based, CReact scaling (or any other reactive behaviors) are state based
Daniel Coutinho Ribeiro 2025-10-12 19:40:51 so that allows for more flexibility mean while keeping a familiar syntax
Daniel Coutinho Ribeiro 2025-10-12 19:42:00 or even today where AI is on the forefront, this allows for a easier why to deploy an app (or even a "company") end to end, using only declarative modular syntax, very similar to react components
Daniel Coutinho Ribeiro 2025-10-12 19:45:08 the problem is that this kind of framework is kinda of a brand new category in my view, and I'm having hard problems getting the concept across, what exactly is and what it does
Jouke Waleson 2025-10-12 19:45:44 but in production systems, we care about simplicity and stability
Daniel Coutinho Ribeiro 2025-10-12 19:46:16 why do you think creact implies instability? what gives you that feel?
Jouke Waleson 2025-10-12 19:46:40 i don't understand where the scheduler runs, why it uses front-end syntax, what's happening under the hood, etc.
Jouke Waleson 2025-10-12 19:47:48 in the FoC community it's great, experiments and stretching the limits of what's possible are the name of the game
Daniel Coutinho Ribeiro 2025-10-12 19:48:10 imagine a company as a graph of nodes, these nodes are basically workflows (they execute a process and produce an output)
Daniel Coutinho Ribeiro 2025-10-12 19:48:41 but instead of HTML elements we have these units of action lets say
Daniel Coutinho Ribeiro 2025-10-12 19:49:18 imagine that then the next state of the graph is determined by the outputs of the previous
Daniel Coutinho Ribeiro 2025-10-12 19:50:00 what I do is generate this CloudDOM model from the nested XML syntax, inferring its nodes from its structure
Daniel Coutinho Ribeiro 2025-10-12 19:50:16 the "reactivity" comes when a node produces an output and that output doesn't change
Daniel Coutinho Ribeiro 2025-10-12 19:51:02 so we have a 2 way binding that allows for the component to know the output have changed and react accordingly, and similar the workflow the produces the output has a way to trigger the reaction
Daniel Coutinho Ribeiro 2025-10-12 19:54:07 there are a few key differences between the way reactivity works in React framework, compared to how it does on mine
Daniel Coutinho Ribeiro 2025-10-12 19:56:15 its very different from UI Reactivity, in UI you expect thousands of cycles in a brief time, reactivity in a CReact app is very contained
Daniel Coutinho Ribeiro 2025-10-12 19:56:50 not contained but lets say split, because in UI Programming you dont code the browser, so you dont have control on what makes it render
Jouke Waleson 2025-10-12 19:59:31 it's a form of reactivity in custom resources in your kubernetes cluster. Desired state is expressed on high level descriptions (typically custom objects / CRDs), and the operator's job is to make that a reality by inspecting and manipulating the lower level resources.
Daniel Coutinho Ribeiro 2025-10-12 20:00:06 thats exactly the kind of things CReact enables, but with the simplicity of React syntax and ecossystem support
Daniel Coutinho Ribeiro 2025-10-12 20:00:57 also it enables for recursive deployment, CReact in theory deploy itself
Daniel Coutinho Ribeiro 2025-10-12 20:01:09 which makes infra today a mere glance of what it could even be
Jouke Waleson 2025-10-12 20:04:48 Have to ๐ค soon, but if you are going into infra/cloud territary, you have to show in the readme how you differ from k8s and how this is better than k8s operators. Saying "operators that work with familiar React syntax" might be an interesting pitch.
Daniel Coutinho Ribeiro 2025-10-12 20:05:28 thats very helpful, do you have any reference for such operators?
Daniel Coutinho Ribeiro 2025-10-12 20:06:30 thank you for the suggestion! I will def look into this
Jouke Waleson 2025-10-12 20:06:57 i built one myself based on kopf and am using cnpg and a couple of others in production
Daniel Coutinho Ribeiro 2025-10-12 20:07:38 I encourage you to play around with CReact just for fun if you have the chance, its fully functional (even lots of bugs I'm sure but the POC is totally functional)
Jouke Waleson 2025-10-12 20:09:45 I'm afraid I have 0 time, was typing this while waiting for some CI runs and cloud deployments ๐ anyway, it's interesting, good luck ๐
Daniel Coutinho Ribeiro 2025-10-12 20:10:38 I totally understand, thank you so much for the attention
Daniel Coutinho Ribeiro 2025-10-12 20:10:59 if you ever get the chance, let me know how it it turns out