summaryrefslogtreecommitdiff
path: root/src/content/en/slide/2020/11
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/en/slide/2020/11')
-rw-r--r--src/content/en/slide/2020/11/14/local-first-hype.adoc306
1 files changed, 129 insertions, 177 deletions
diff --git a/src/content/en/slide/2020/11/14/local-first-hype.adoc b/src/content/en/slide/2020/11/14/local-first-hype.adoc
index bb27074..fd83115 100644
--- a/src/content/en/slide/2020/11/14/local-first-hype.adoc
+++ b/src/content/en/slide/2020/11/14/local-first-hype.adoc
@@ -1,252 +1,204 @@
-= On "local-first": beyond the CRDT silver bullet
+# On "local-first"
-# On local-first
-
-Beyond the CRDT silver bullet
-
----
-
-# Part 1
-
-Exposition
+@Beyond the CRDT silver bullet
---
-
-## "cloud apps" vs "old-fashioned apps"
+## Part 1
+# Exposition
---
-
## Target
-
+...
- documents
- files
- personal data repositories
-
-Not: banking services, e-commerce, social networking, ride-sharing, *etc*.
+..
+Not: banking services, e-commerce, social networking, ride-sharing, etc.
---
-
-## 7 Ideals for local-first software
+...
+# 7 ideals for local-first software
---
-
-### 1 - No Spinners: Your Work at Your Fingertips
+...
+# 1 - no spinners: your work at your fingertips
---
-
-### 2 - Your Work Is Not Trapped on One Device
+...
+# 2 - your work is not trapped on one device
---
-
-### 3 - The Network Is Optional
+...
+# 3 - the network is optional
---
-
-### 4 - Seamless Collaboration with Your Colleagues
+...
+# 4 - seamless collaboration with your colleagues
---
-
-### 5 - The Long Now
+...
+# 5 - the long now
---
-
-### 6 - Security and Privacy by Default
+...
+# 6 - security and privacy by default
---
-
-### 7 - You Retain Ultimate Ownership and Control
+...
+# 7 - you retain ultimate ownership and control
---
-
-## Towards a Better Future
-
-CRDTs (Conflict-free Replicated Data Types) as a Foundational Technology
+## Towards a better future
+....
+@ CRDTs (Conflict-free Replicated Data Types) as a Foundational Technology
---
-
-### Use case
-
-```
-# in node A and node B
-s = "Hello, World"
-
-# in node A
-s = "Hello, Alice"
-
-# in node B
-s = "Hello, Bob"
-```
+## Use case
+.
+ # in node A and node B
+ s = "Hello, World"
+
+ # in node A
+ s = "Hello, Alice"
+
+ # in node B
+ s = "Hello, Bob"
How to reconcile those?
-- `Hello, ABloibce`
-- `Hello, AliceBob`
-- `Hello, BobAlice`
-- `Hello, Alice`
-- `Hello, Bob`
+- Hello, ABloibce
+- Hello, AliceBob
+- Hello, BobAlice
+- Hello, Alice
+\...
---
-
-Existing CRDTs differ:
+# Existing CRDTs differ
- performance
- storage
- compression
- metadata overhead
---
-
-Hint towards the "automerge" CRDT
+...
+# Hint towards the "automerge" CRDT
---
-
-*show comparison table, page 9*
+......
+@@show comparison table, page 9
---
-
-# Part 2
-
-Critique
+## Part 2
+# Critique
---
-
-### Software license
-
-> In our opinion, maintaining control and ownership of data does not mean that
-> the software must necessarily be open source.
+## Software license
+...
+@@"In our opinion, maintaining control and ownership of data does not mean that the software must necessarily be open source."
---
+## Example 1 - intentional restriction
+.
+ #!/bin/sh
+ TODAY="$(date +%s)"
+ LICENSE_EXPIRATION="$(date -d 2020-10-27 +%s)"
+ if [ "$TODAY" -ge "$LICENSE_EXPIRATION" ]; then
+ echo 'License expired!'
+ exit 1
+ fi
+ echo $((2 + 2))
+.
+ # today
+ $ ./useful-adder.sh
+ 4
-#### Example 1 - intentional restriction
-
-```bash
-#!/bin/sh
-
-TODAY=$(date +%s)
-LICENSE_EXPIRATION=$(date -d 2020-10-27 +%s)
-
-if [ $TODAY -ge $LICENSE_EXPIRATION ]; then
- echo 'License expired!'
- exit 1
-fi
-
-echo $((2 + 2))
-```
-
-```bash
-# today
-$ ./useful-adder.sh
-4
-# tomorrow
-$ ./useful-adder.sh
-License expired!
-```
-
+ # tomorrow
+ $ ./useful-adder.sh
+ License expired!
---
+## Example 2 - unintentional restriction
+.
+ # today
+ $ useful-program
+ # ... useful output ...
+
+ # tomorrow, with more data
+ $ useful-program
+ ERROR: Panic! Stack overflow!
-#### Example 2 - unintentional restriction
-
-```bash
-# today
-$ useful-program
-# ...useful output...
-
-# tomorrow, with more data
-$ useful-program
-ERROR: Panic! Stack overflow!
-```
---
-
-### local-first **requires** free software
+..
+# local-first *requires* free software
Otherwise "The Long Now" (ideal nº5) is lost
---
-
-### Denial of existing solutions
-
-> In principle it is possible to collaborate without a repository service,
-> e.g. by sending patch files by email, but the majority of Git users rely
-> on GitHub.
-
-Solution: either GitHub+CRDTs or `git` **`send-email`**
+## Denial of existing solutions
+..
+@@"In principle it is possible to collaborate without a repository service, e.g. by sending patch files by email, but the majority of Git users rely on GitHub."
+.
+Solution: either GitHub+CRDTs or git send-email
---
-
-### Plain text formats
-
-> Git is highly optimized for code and similar line-based text file
-
-It even pulls software to the plain text direction, e.g.:
+## Plain-text formats
+.
+@@"Git is highly optimized for code and similar line-based text file"
+.
+It even pulls software to the plain text directtion, e.g.:
- delivery-templates
-- `common-core.protocols.config`
-
+- common-core.protocols.config
+.
Why not exploit that more?
---
-
-### Ditching of web applications
-
-> The architecture of web apps remains fundamentally server-centric
-
-Disagree. Contrast [PouchDB][pouchdb] with Android [Instant Apps][instant-apps]
-
-[pouchdb]: https://pouchdb.com/
-[instant-apps]: https://developer.android.com/topic/google-play-instant
-
-???
-
-Talk on dynamic content
+## Ditching of web applications
+..
+@@"The architecture of web apps remains fundamentally server-centric
+.
+% FIXME: links
+Disagree. Contrast PouchDB with Android Instant Apps
---
-
-### Costs are underrated
-
+## Costs are underrated
+.
- storage
- backups
- maintenance
-
+.
Example: blog vs vlog
---
-
-### Real-time collaboration a bit overrated
-
-It is only possible on the presence of reliable, medium-quality network
-connection
-
-> X also works when inside an elevator, subway or plane!
-
-<!-- 🤦‍ -->
+## Real-time collaboration a bit overrated
+.
+It is only possible on the presence of reliable, medium-quality network connection
+..
+@@"X also works when inside an elevator, subway or plane!"
---
-
-### On CRDTs and developer experience
-
-> For an app developer, how does the use of a CRDT-based data layer compare to
-> existing storage layers like a SQL database, a filesystem, or CoreData? Is a
-> distributed system harder to write software for?
-
-Yes.
-
-See "[A Note on Distributed Computing][note-dist-comp]"
-
-[note-dist-comp]: https://web.archive.org/web/20130116163535/http://labs.oracle.com/techrep/1994/smli_tr-94-29.pdf
+## On CRDTs and developer experience
+.
+@@"For an app developer, how does the use of a CRDT-based data layer compare to existing storage layers like a SQL database, a filesystem, or CoreData? Is a distributed system harder to write software for?
+.
+@YES.
+.
+% FIXME: link
+See "A Note on Distributed Computing"
---
-
## Conclusion
-
+.
Why this is a "paper I love": it took offline-first and ran with it.
-
-But a pinch of CRDT won't make the world local-first.
-
-The tricky part is the end of the sentence: "**in spite of the Cloud**".
-
----
-
-## Thank you!
-
-References:
-
-1. "[Local-First Software: You Own Your Data, in spite of the Cloud](https://martin.kleppmann.com/papers/local-first.pdf)", by M. Kleppmann, A. Wiggins, P. Van Hardenberg and M. F. McGranaghan
-1. [The Morning Paper](https://blog.acolyer.org/2019/11/20/local-first-software/) article
-1. "[A Note on Distributed Computing](https://web.archive.org/web/20130116163535/http://labs.oracle.com/techrep/1994/smli_tr-94-29.pdf)", by J. Waldo, G. Wyant, A. Wollrath and S Kendall
+.
+But a pinch of CRDT won't make the world local-first.
+.
+The tricky part is the end of the sentence: "in spite of the Cloud".
+
+---
+## References
+.
+% FIXME: links
+1. "Local-First Software: You Own Your Data, in spite of the Cloud", by M. Kleppmann, A. Wiggins, P. Van Hardenberg and M. F. McGranaghan
+2. The Morning Paper article
+3. "A Note on Distributed Compiting", by J. Waldo, G. Wyant, A. Wollrath and S. Kendall
+4. these slides: euandre.org/slide/
+5. prose version of this presentation
+6. view source