Skip to content
Permalink
Showing with 66 additions and 0 deletions.
  1. +66 −0 notes/jonathan-edwards/05-25-19.md
@@ -0,0 +1,66 @@
---
title: JE 5/25/19
---

# JE 5/25/19

_Friday May 24, 2019_

I realized I haven't been spending enough time on research so this week I made sure to spend 20 hours on it. Truly half time. Very exciting.

As for my immutable world, both IPFS and Unison have interesting answers. IPFS has one real and one cheat. The real is that a name is just a public/private key pair and pushing to it is publishing something signed with the public key. The fake is just using DNS.

Unison doesn't focus on time-varying values. Everything is immutable. If you want to edit a thing, you can and it will walk you through the possibilities of updating some dependencies or not, and correcting for the changed type as well. There's no notion of libraries that can change over time. That would be built on top. http://unisonweb.org/2016-09-17/editing.html

I think the IPFS way works for me.

Thinking about IoT uses to be fully expressive with FRP. Such as put the image from my camera on this portion of my screen. Also haven't figured out how to do social applications with hard disk -- where *is* the data? Output devices are a bit tricky. Input devices are more straightforward. Not sure how to model the connection to the device. Nor powering the device.

https://doc.rust-lang.org/stable/cargo/guide/index.html

urbit - an operating function [https://urbit.org/primer/](https://urbit.org/primer/)

* JE: all programming languages assume start and stop, not always running
* JE: there are people that criticize the Turing Machine because of this. It's very philosophical. Hypercomputation
* JE: Dan Briklen's famous quote: an OS deals with a whole number of issues outside the PL. There shouldn't be one. Smalltalk is an OS. Same with LISP machines.
* Sun Microsystem: "The network is the computer"
* JE: the devices that have output and also inputs (like storage) is really hard
* JE: trying to make sense of an OS in FRP terms
* JE: stream-based IO had a magic
* JE: these are sometimes called non-functional aspects of computation
* JE: the functional stream-based things was abandoned in favor of monads, now being abandoned in favor of algebraic effects
* Steve: problem: I want to express my wishes over my machines, orchestrate them. smart home automation.
* JE: I am concerned that if you focus on stateless stream you miss a lot of hard problems. Statefulness is essential in so much that we do. So I want to see you build your own Twitter. Or a shopping list for you and your girlfriend.
* JE: hooking up streams is just boxes and wires. not a new invention.
* JE: state is a central problem. kills many attempts to functionalize things
* JE: need to be able to change the program on the fly on existing data (his "schema change" problem). Old LISP & Smalltalk systems didn't have principled approaches to this.
* JE: so you want to think of the OS as functions or FRP streams or something.
* JE: that is a problem, modeling the whole FRP, instead of just assuming we have a runner that inputs the mouse and time and outputs to the screen. we need to model the entire environment. FRP without genies or runners.
* JE: how would you know if you solved this? what is the correctness criteria?
* Steve: it's just if I like it, not a rubric
* JE: try putting it into words, even if it's not objective. I know it when I see it doesn't give you much guidance. another thing is use-cases, challenge problems
* JE: another way forward would be to criticize current approaches
* JE: LabView is signal processing. how does this fail in your mind? it's dataflow but it has stateful stuff as well
* Steve: ah I see now that I'm thinking very much about dataflow (facebook origami: inputs and outputs), unlike how Conal thinks of things
* JE: dataflow things are mostly first order. they also have a casuality thing so no backwards in time
* Steve: in dataflow systems, wires are instantaneous, but TODO
* Steve: some next steps:
* pseudo haskell
* chat with Paul
* JE: if I can't make progress in articularing problem, then loop around onto other things and come back when things are clearer
* Steve: can I start an OS company to compete with all the real OS companies?
* JE: there are so many ways to take ideas so don't worry about this now, such as wefounder (crowdfunding with equity) or github's new equity thing

**consider helping REBLS with publicity.** I'm leaning no here but find myself reluctant to fully say no given how little time it seems. I'm going to tell JE I want to say no, and double check with him one last time.

* JE: maybe you should think more about social stuff
* JE: Jonathan Blow is following up from his rant-y talk and trying to organize a conference about simplifying software. maybe you could help him organize this. TODO watch the talk and see what he's saying on social media
* JE: don't get upset at yourself if you don't have as much time or progress for research traveling next couple of months.
* JE: try and refine the OS thing is a good next step:
* criteria for success
* sample problems
* criticizing current solutions

* JE: success would be good. downsize the problem to something I can do in 3 months

* For next Friday quick meeting: OS next steps or smaller problem

0 comments on commit 7bb8e27

Please sign in to comment.
You can’t perform that action at this time.