https://www.youtube.com/watch?v=ROor6_NGIWU
At 7:20 programming languages stop before considering systems
At 10:00 the language of the system is for programs to talk to programs
At 13:30 he talks about the protocol and format of message passing, and outlines all of the winners, like JSON. He says that it is notable that things like CORBA are not there. It's all about data. The winners are all about data.
At 14:30 JSON is not extensible, but protocol buffers are.
At 1610 have Rose schemas are in band. They are in a prelude.
At 1645 if you're schemas are out of band you can't have generic processors or intermediaries.
talk-the-language-of-the-system#in-band-out-of-band-schemas1At 17:10 in-band and out-of-band schemas talk-the-language-of-the-system#in-band-out-of-band-schemas1
At 17:40 even when you choose the language of the program you have to choose language of the system separately
At 19:10 on the systems we definitely have values on the data format on the wire
At 20:30 talks about giving a name to the value
At 22:40 talks about globally qualified namespace, like how Java has com.foo.bar.
At around 24 he says the names in the program are verbs, like in clojure they are function names. Whereas in systems they are not verbs, but rather the name of the storage device or something like that.
At 1:02 40 these services are basically like objects. Triggering effects by using graphs of state for objects.
At 29:05 the notion of flow is important to keep in the system sorted.
talk-the-language-of-the-system#slide-avoiding-objects
At 29ish slide: "Avoiding Objects"
Transform (values)
Move (values)
Route (values)
Record/Remember (values)
Keep Seperate
flow vs. places
talk-the-language-of-the-system#slide-avoiding-objects
At 29:20 Flow Versus Pl. orientation.
At 30:15 remember is not incompatible with X in the same way that update is.
At 31:50 in systems when passing very very large messages, sometimes you don't want to pass it on the wire, but rather you pass the name of the value and you use some other store to pull it from, like he shared repository of information
At 35:35 he has a slide of the epochal time model.
At 36:30 Datomic on Riak (or on S3)
talk-the-language-of-the-system#s3-no-transactional-semantics1At 36:34 Riak and S3 do not have the consistency or transitional semantics or was it a transactional semantics? talk-the-language-of-the-system#s3-no-transactional-semantics1
At 3738 UU ID is a good name. The name like Fred is not a good name because people will start to care about it. You should not care about the name of a value
At 3828 you have a small amount of refs. He also calls them Adams.
At 3840 the identity names are the globally unique, Very important names. The value names are Carol off, conflict free names that anyone can create without coordination.
At 3910 he recommends reading Joe Armstrong's paper over and over again
At 3940 he makes a distinction between programs, which tend to succeed or fail completely, and systems, which are failing all the time.
At 3955 "a large system is in a state of partial failure almost continuously"
At 4030 the types of failures you see in systems Drive new considerations and how to handle them. He goes into a nice list that would be good for the system checklist.
At 4105 once your program becomes part of the system, the failure modes become part of your program and you have to deal with them directly they go right for your room.
At 4140 we write systems that presume the best. This could be a good boy for the context propagation talk.
At 43 hairline is a holistic approach. It does not have a bubble, and a non-bubble.
At 44 in airline each of the processes can be thought of as being a separate service. The services communicate with each other through messaging, and that messaging is just the data on the wire.
At 4710 while talking about simple system services he talks about zookeeper and how when used for coordination and used very simply it is fantastic because of its durability.
At 4910 he talks more about Raths to immutable data. He uses S3 as an example of shared memory that can be safe to use as long as you use rest two point into the beautiful data that has been stored on it. The tricky thing is in the transitioning of the rafts. That's where he says something like zookeeper is so important.
At 5105 there is no interface on top of things like S3. If a comparator wants to create something like at three, they basically have to copy the entire has three protocol.
At 5215 superimposing abstraction.
At 54 has an overview slide of how programs are better than systems and someways and the takeaways. This includes flow orientation and the use of values.
At 56:20 systems send data over wire. Programs could learn from that
At 58:05 when only interface you define is human-facing, that is bad. Think SQL
At 59:40 a service introduction as gateway to using clojure in org
At 1:02:00 design to be composed