3. API affects
—What you can and can not do
—How does it perform
—How easy it is to make a mistake
2018-12-02 @flpvsk @growitconf 3
4. Why look at well-known projects?
—To understand how the systems we use work
—To learn techniques we can apply in our projects
—To improve our thinking processes
2018-12-02 @flpvsk @growitconf 4
5. 1: A pixel
is not
a pixel2018-12-02 @flpvsk @growitconf 5
18. Browser vendors' in the early 90s:
—WWW is for documents
—Each browser will decide how to best display
pages to their users
2018-12-02 @flpvsk @growitconf 18
20. Browser vendors' in the early 90s:
—WWW is for documents
—Each browser will decide how to display pages
—Seems like publishers want styling
2018-12-02 @flpvsk @growitconf 20
21. …the style of a document
couldn't be designed
by either the author
or the reader
on their own…
2018-12-02 @flpvsk @growitconf 21
22. …their wishes have to be
combined, or cascaded,
in some way.
2018-12-02 @flpvsk @growitconf 22
25. Flutter design principles
—Layered API
—Access to Layout and Paint phases
—Full control over what is drawn on the screen
2018-12-02 @flpvsk @growitconf 25
55. Concurrency basics in Rust
—New concept of Borrow Checker
2018-12-02 @flpvsk @growitconf 53
56. Concurrency basics in Rust
—New concept of Borrow Checker
—Thread safety enforced by the compiler
2018-12-02 @flpvsk @growitconf 53
57. Concurrency basics in Rust
—New concept of Borrow Checker
—Thread safety enforced by the compiler
—Custom primitives with Send and Sync traits
2018-12-02 @flpvsk @growitconf 53
60. Other examples
—RPC (free for all) vs
REST (unification) vs
GraphQL (flexibility on the client)
—Ethereum Solidity (ffa) vs
Bamboo (understanding state & transitions)
2018-12-02 @flpvsk @growitconf 56
78. Dat protocol
—Started as a way to exchange scientific data sets
—Growing as the protocol for p2p web
—Can be used to share TBs of dynamic data
2018-12-02 @flpvsk @growitconf 74
125. Systems that get it right
—CouchDB, Datomic
—bittorent, Dat, IPFS
—Blockchain-based projects
—Event-sourcing-based projects
2018-12-02 @flpvsk @growitconf 116