You are viewing archived messages.
Go here to search the history.

Paul Tarvydas 2025-10-06 20:05:08

๐Ÿ“ The Marketing of C

2025-10-05

๐Ÿ“ Hardware Stockholm Syndrome

2025-10-05

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!

Mariano Guerra 2025-10-10 14:45:26
Daniel Coutinho Ribeiro 2025-10-12 01:11:37

can i get your thoughts on my project:

github.com/creact-labs/creact

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:28:44

with JSX syntax

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:29:49

doesn't k8s do most of this already?

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:02

got it

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

Jouke Waleson 2025-10-12 19:33:04

cto typically

Jouke Waleson 2025-10-12 19:33:46

in web tech companies

Daniel Coutinho Ribeiro 2025-10-12 19:33:55

do you know spot instances?

Jouke Waleson 2025-10-12 19:34:02

1

Daniel Coutinho Ribeiro 2025-10-12 19:34:05

cheaper vm's based on demand

Daniel Coutinho Ribeiro 2025-10-12 19:34:15

are you familiar with this concept?

Jouke Waleson 2025-10-12 19:34:24

1 = yes, 0 = no ๐Ÿ˜‰

Daniel Coutinho Ribeiro 2025-10-12 19:34:31

1

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

Daniel Coutinho Ribeiro 2025-10-12 19:37:07

does that make sense?

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:40:59

imagine the verticals owning everything?

Daniel Coutinho Ribeiro 2025-10-12 19:41:10

that's possible withing the framework mindset

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:42:47

is it making sense so far?

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:29

i can understand that

Jouke Waleson 2025-10-12 19:45:44

but in production systems, we care about simplicity and stability

Jouke Waleson 2025-10-12 19:46:12

so this is scary ๐Ÿ˜‚

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:46:53

and everything new is scary

Daniel Coutinho Ribeiro 2025-10-12 19:46:55

i will try to explain it working systems now

Daniel Coutinho Ribeiro 2025-10-12 19:47:00

in simple concepts

Daniel Coutinho Ribeiro 2025-10-12 19:47:03

pardon my english

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:20

I call this graph of nodes the CloudDOM

Daniel Coutinho Ribeiro 2025-10-12 19:48:28

doing a analogy with the HTML DOM model

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:49:25

thats an fair assumption to make

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:51:06

is this making sense?

Jouke Waleson 2025-10-12 19:52:53

yes I am familiar with reactivity

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

Jouke Waleson 2025-10-12 19:54:58

I'm using Vue, which is also a bit different

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

Daniel Coutinho Ribeiro 2025-10-12 19:56:58

on CReact you code both ends

Jouke Waleson 2025-10-12 19:57:08

have you ever built a kubernetes operator?

Daniel Coutinho Ribeiro 2025-10-12 19:57:22

what defines it?

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?

Jouke Waleson 2025-10-12 20:06:10

just ask chatgpt, it can explain better than i can

Daniel Coutinho Ribeiro 2025-10-12 20:06:30

thank you for the suggestion! I will def look into this

Daniel Coutinho Ribeiro 2025-10-12 20:06:40

this is great feedback

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)

Daniel Coutinho Ribeiro 2025-10-12 20:07:44

with friendly cli

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