Corey
03/21/2019, 3:09 AMKartik Agaram
Our team was energized by this result and we instantly wanted this capability for all of our existing systems.. But we also quickly ran into what would likely be the biggest chunk of work.. for a living system to work, the internal and external APIs need to be mostly the same.. living systems produce a tension between hackability and the danger of user breakage. For example, the user can change a card’s background color just as easily as executing a command that would discard every card onscreen or even put the system into a crashed state or infinite loop. What to allow, how to surface errors, and how to recover are deep and challenging questions we did not explore in the course of this experiment.The crucial property for hackability is making it easy to deduce the inputs and outputs of arbitrary fragments of code anywhere in a stack. That's basically what I've been chasing with https://github.com/akkartik/mu/blob/master/Readme.md. Building out these foundations is extremely time-consuming and work-intensive, but I really don't see any alternative to get to a 'real' system. One pattern I've noticed in multiple conversations with people here: having an idea to build something, not being happy with any of the available platforms but picking one anyway just to get started. E.g. see https://futureofcoding.slack.com/archives/C5T9GPWFL/p1552547395317600. My hope is that this hackable stack I'm growing from the bottom up will one day meet others growing various ideas from the top down. And that it will help us cross-pollinate ideas. Because it seems to me that anything created with current stacks suffers from the same problem as always: you build your thing with your ideas, others build their thing with their ideas, and it's very hard to inter-operate (https://futureofcoding.slack.com/archives/CC2JRGVLK/p1550557566019800?thread_ts=1550369313.016100&cid=CC2JRGVLK)
Peter van Hardenberg
03/21/2019, 6:16 AMPeter van Hardenberg
03/21/2019, 6:16 AMPeter van Hardenberg
03/21/2019, 6:17 AMKartik Agaram
szymon_k
03/21/2019, 9:10 AMszymon_k
03/21/2019, 9:10 AMshalabh
03/21/2019, 4:26 PMAll documents in Farm, both data and code, are Hypermerge documents. A Hypermerge document is identified by its URL, and anyone with the URL is able to make changes to it and should expect them to be synchronized everwhere in the world. All hypermerge documents are constructed out of their full history.https://github.com/inkandswitch/farm
shalabh
03/21/2019, 4:33 PMshalabh
03/21/2019, 5:09 PMszymon_k
03/21/2019, 5:27 PMshalabh
03/21/2019, 5:42 PMyairchu
03/21/2019, 5:58 PMshalabh
03/21/2019, 6:11 PMPeter van Hardenberg
03/21/2019, 6:22 PMPeter van Hardenberg
03/21/2019, 6:24 PMPeter van Hardenberg
03/21/2019, 6:24 PMPeter van Hardenberg
03/21/2019, 6:25 PMPeter van Hardenberg
03/21/2019, 6:28 PMshalabh
03/21/2019, 6:36 PMPeter van Hardenberg
03/21/2019, 6:36 PMshalabh
03/21/2019, 6:39 PMPeter van Hardenberg
03/21/2019, 6:46 PMshalabh
03/21/2019, 6:50 PMPeter van Hardenberg
03/21/2019, 6:51 PMPeter van Hardenberg
03/21/2019, 6:52 PMshalabh
03/21/2019, 7:03 PMPeter van Hardenberg
03/21/2019, 7:05 PMPeter van Hardenberg
03/21/2019, 7:06 PMPeter Abrahamsen
03/21/2019, 7:23 PMPeter Abrahamsen
03/21/2019, 7:33 PMPeter van Hardenberg
03/21/2019, 11:03 PMPeter Abrahamsen
03/21/2019, 11:20 PMPeter van Hardenberg
03/22/2019, 12:11 AMadamwiggins
03/22/2019, 5:55 PMadamwiggins
03/22/2019, 5:56 PMPeter Abrahamsen
03/22/2019, 11:19 PM