3 ms·
Reactive Relational Algebra
- erichocean 2y agoIf you enjoy FRP-related stuff, Missionary[0] (in Clojure) is doing some really great work. Most people discover it through Electric Clojure.[1] The Missionary author has some really good talks he's done up on YouTube about it. [0] https://github.com/leonoel/missionary https://github.com/leonoel/missionary [1] https://github.com/hyperfiddle/electric https://github.com/hyperfiddle/electric
- iamwil 2y agoWhat are the YouTube talks? Did you have a specific one in mind?
- erichocean 2y agoI'd start with this one: https://www.youtube.com/watch?v=xtTCdT6e9-0 https://www.youtube.com/watch?v=xtTCdT6e9-0
- narcraft 2y agoAnd someone built a spreadsheet with Electric Clojure https://github.com/lumberdev/tesserae https://github.com/lumberdev/tesserae
- refset 2y agoAlso in Clojure, and reactive, and relational: https://github.com/wotbrew/relic https://github.com/wotbrew/relic > Functional relational programming for Clojure(Script).
- geokon 2y agoLast I tried to look on Github I couldn't actually find any projects that use Missionary. Compared it to something like Javelin - it's all very baroque. That said, it does seems to solve a much larger problem space particularly when it comes to error state handling (and propagation) I think this space also overlaps with rules engines and it's all still in flux - in an exciting way :))
- bob1029 2y agoWhy are the resulting views in the future by exactly 1 time step?
- keyboardcaper 2y agoLike big O notation probably? So some constant time that does not depend on the size of the tables.
- itishappy 2y agoThere's exactly one async operation between them.
- louthy 2y agoThe events happen 1 in the future. It doesn’t matter if it’s 50ms or 500ms, what matters are the events and the state changes. These /are/ time. So, one event leading to a state change is time passing by 1. They’re known as Lamport Timestamps [0] and are leveraged in Vector Clocks [1] [0] https://en.m.wikipedia.org/wiki/Lamport_timestamp https://en.m.wikipedia.org/wiki/Lamport_timestamp [1] https://en.m.wikipedia.org/wiki/Vector_clock https://en.m.wikipedia.org/wiki/Vector_clock
- shae 2y agoHave you read up on differential data flow? Might be what you want?
- netpaladinx 2y agoProbably not. Data flow is declartive in data transformations and "differential" refers to be incremental. But what the link tries to model seems to relate to asynchronous transformations. Not on the same level.
- mr_gibbins 2y agoThis is RBAR by any other name.
- bbor 2y agoLOVE this. If anyone knows similar blogs that run through engineering decisions in real time, please share! Way more useful than a polished long post built for SEO and hackernews domination. Substantively, I don’t have much to say other than building math into the core of innovative programs should be a more common practice than it is. Not necessarily as a part of the code, but rather the design, documentation, and sometimes even the user copy. Math has stood the test of time (200y +/- 10,000y) for good reason!
- xkcd1963 2y agoHTTP requests, SQL queries is not async, for that matter not even sync.
- alxmng 2y agoCheck out the paper "Dedalus: Datalog in Time and Space". It formalizes a Datalog to include time, specifically to handle async behavior. It explores exactly what you seem to be doing here.
- roller 2y agoPeter Alvaro gave a great presentation on Dedalus at Strange Loop 2015. https://www.youtube.com/watch?v=R2Aa4PivG0g https://www.youtube.com/watch?v=R2Aa4PivG0g
- keyboardcaper 2y agoThe author seems to miss that relational algebra was developed for the needs of the databases of the time, i.e. in an effort to optimize reads off spinning iron. Any effort for async is destroyed by blocking fs syscalls.
- klysm 2y agoRelational algebra has nothing to do with disks.
- keyboardcaper 2y agoYes, it does.
- hexo 2y agolol, no.
- deleted 2y ago[deleted]
- mannykannot 2y agoThe Wikipedia entry on relational algebra does not even mention disks. Given this (together with what I recall from Codd's seminal papers on the concept), I am not inclined to believe it has anything to do with disks specifically, just on your say-so. If you have something more to say in support of your position, I will give it all due consideration.
- sriram_malhar 2y agoRelational algebra has nothing to do with spinning disks or even for the needs of the databases of the time. Check out E.F. Codd's paper in CACM from June 1970. https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf It starts with "Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation)". It goes on to say, "(The relational model) provides a means of describing data with its natural structure only - that is, without superimposing any additional structure for machine representation purposes".
- 101010010001 2y agoThe blog has random dots as a background. Now I see them on every screen.
- boomskats 2y agodocument.body.insertAdjacentHTML('afterbegin', '<style>body::before {background-image: none;}</style>');
- zyxin 2y agoSame thing happened to me! Did you manage to fix it?
- auggierose 2y agoreader mode is your friend.
- kragen 2y agoturns out those are an svg supplied in the css as a data: url full of stuff like <circle xmlns="http://www.w3.org/2000/svg http://www.w3.org/2000/svg" cx="0.12034208719122994" cy="5.6339410595659976" r="0.0067620488345083545"/>
- dognaptr 2y agoWhat kind of jackass modifies the mouse cursor when you visit his website?
- dognaptr 2y agoHis homepage is 10,000 times worse: https://taylor.town/ https://taylor.town/