10 • Fibers episode artwork

EPISODE · May 23, 2021 · 14 MIN

10 • Fibers

from Hest

Last episode, we looked at how the edges-conveying-points execution model leads to problems of synchronization. If you change some small part of your program so that it takes a little longer for data to traverse than it did before, then data leaving that small part will be behind schedule (so to speak) for wherever it needs to go next. Local changes cause non-local effects. This problems exists because, at the moment, a function (node / point) will execute the moment data arrives at it — so for a function to take two arguments, there needs to be two data points that arrive at that function simultaneously. Another issue comes when an in-development Hest program, which might be running at some much-slowed down speed, needs to pull in data from the outside world. Data from the outside world arrives at whatever speed it arrives at, slow-mo be damned. For both issues, I'm feeling the need to add sync primitives, queuing/buffering, and other mechanisms for temporal coordination. But I don't like the way these solutions feel, so I'm trying to find other things that feel different. This episode looks at one such different-feeling approach: get away from the idea of points travelling along edges! Instead, treat the edges like "fibers" (a la fiber optics), which assume the value of data conveyed to them and instantly convey that data onward. The data, no longer chopped into discrete points, no longer needs to be coordinated so strictly. Functions that are fed solely by these "fiber"-like edges will always have the most recent value available to them on every inbound edge, so they can produce a new output value the instant any single inbound value changes. No need to coordinate multiple pieces of data to arrive at a function simultaneously. Also — hi! I'm writing a much longer description than normal because my explanations within the episode are a little… weak. That's the deal. This podcast is just me thinking out loud, no plan, no script. It's doodles in the notebook. In the moment that I record, I am just talking extemporaneously, which is surprisingly hard. I have very little grasp on how much context I've already shared on previous episodes, or even how well I'm outlining the body of each new idea. I expect this disorganization is only going to get more pronounced as I get away from super high-level, welcome-to-Hest basics and dive more into the ideas I'm still unsure about and problems I don't really comprehend. We'll have to see! So in the future, if I feel I've done a mediocre job in the show, be sure to check the show notes for another crack.

Episode metadata supplied by the publisher feed · Published May 23, 2021

NOW PLAYING

10 • Fibers

0:00 14:07

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

Frequently Asked Questions

How long is this episode of Hest?

This episode is 14 minutes long.

When was this Hest episode published?

This episode was published on May 23, 2021.

What is this episode about?

Last episode, we looked at how the edges-conveying-points execution model leads to problems of synchronization. If you change some small part of your program so that it takes a little longer for data to traverse than it did before, then...

Can I download this Hest episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!