#+TITLE: The Spritely Institute: New Foundations for Networked Communities
#+AUTHOR: Christine Lemmer-Webber & David Thompson
#+DATE: 2023-10-23 Mon
#+REVEAL_INIT_OPTIONS: width:1200, height:800, controlsLayout: 'edges'
# #+OPTIONS: reveal_center:t reveal_progress:t reveal_history:nil reveal_control:t
# #+OPTIONS: reveal_mathjax:t reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil
# #+OPTIONS: reveal_width:1200 reveal_height:800
#+OPTIONS: toc:nil num:nil reveal_title_slide:nil
#+REVEAL_MARGIN: 0.075
#+REVEAL_MIN_SCALE: 0.5
#+REVEAL_MAX_SCALE: 2.5
#+REVEAL_TRANS: cube
#+REVEAL_THEME: night
#+REVEAL_HLEVEL: 1
#+REVEAL_HEAD_PREAMBLE:
#+REVEAL_ROOT: ../static/reveal.js
* Spritely, Guile, Guix: a unified vision for user security
https://spritely.institute
* The Spritely Institute: a research institution
#+REVEAL_HTML:
** Research means collaboration
#+REVEAL_HTML:
* On "Networked Communities" at a high level
**
[[file:../static/ActivityPub-logo-large.png]]
**
#+REVEAL_HTML:
** COMMENT
[[file:../static/cyberspace-protocol-requirements.png]]
** COMMENT
#+REVEAL_HTML:
** COMMENT
#+REVEAL_HTML:
** COMMENT
#+REVEAL_HTML:
**
#+REVEAL_HTML:
* What we're going to accomplish
- User freedom
- Safety for everyone
- Networked programming like y'all have never seen
- Take over the web!
- Take over operating systems (together)!
* COMMENT Social vision: Spritely's bigger picture
- Social agency: MOAD2 demo
- Secure computing
- Networked and p2p by default
* Language vision: Scheme / Guile
#+REVEAL_HTML:
** Lisp is clay
* Goblins: distributed, cooperative, transactional programming
#+REVEAL_HTML:
** Distributed security you can understand
- If you don't have it, you can't use it
- It's just argument passing!
** Lambda: the Ultimate Security Model
#+REVEAL_HTML:
**
#+REVEAL_HTML:
**
#+REVEAL_HTML:
**
#+REVEAL_HTML:
** Easy local transactions
#+BEGIN_SRC scheme
(define (^mint _bcom)
(define-values (decr-seal decr-unseal _decr-sealed?)
(make-sealer-triplet 'mint))
(define (^purse _bcom initial-balance)
(define-cell balance
initial-balance)
(define (<=-balance? amount)
(<= amount ($ balance)))
(define/contract (decr amount)
(-> (and/c integer? (>=/c 0) <=-balance?)
any/c)
($ balance (- ($ balance) amount)))
(define/contract (deposit-method amount src)
(-> (and/c integer? (>=/c 0)) any/c any/c)
((decr-unseal ($ src 'get-decr)) amount)
($ balance (+ ($ balance) amount)))
(methods
[(get-balance) ($ balance)]
[(sprout) (spawn ^purse 0)]
[deposit deposit-method]
[(get-decr) (decr-seal decr)]))
(define/contract (fiat-make-purse initial-balance)
(-> (and/c integer? (>=/c 0)) any/c)
(spawn ^purse initial-balance))
(methods [new-purse fiat-make-purse]))
#+END_SRC
**
#+REVEAL_HTML:
** Time-travel Distributed Debugging
#+REVEAL_HTML:
**
#+REVEAL_HTML:
**
#+REVEAL_HTML:
** OCapN: The Object Capability Network
#+REVEAL_HTML:
* Hoot: putting Spritely's tech in the hands of users
#+REVEAL_HTML:
**
#+BEGIN_SRC scheme
(define (update from to)
(do ((y 0 (+ y 1)))
((= y grid-size))
(do ((x 0 (+ x 1)))
((= x grid-size))
(let* ((t (grid-ref from x y))
(t* (cond
((= t empty) empty)
((= t cu)
(if (<= 1 (neighbors from x y) 2) ehead cu))
((= t ehead) etail)
((= t etail) cu))))
(grid-set! to x y t*)))))
#+END_SRC
**
#+REVEAL_HTML:
**
#+REVEAL_HTML:
* Secure OS vision
#+REVEAL_HTML:
**
#+REVEAL_HTML:
**
*Guix build daemon + Goblins*
#+REVEAL_HTML:
**
#+REVEAL_HTML:
** Composable OS safety
#+BEGIN_SRC scheme
(let* ((network-service (make-network-service))
(tor-service (make-tor-service #:network network-service)))
...)
#+END_SRC
**
*Shepherd + Goblins*
#+REVEAL_HTML:
* Calls to action!
** Make something cool!
With Goblins! With Hoot!
** Help us build the Goblins + Guix dream!
#+REVEAL_HTML:
** COMMENT Secure UIs: a rich frontier
#+REVEAL_HTML:
** Join us as an institutional partner!
#+REVEAL_HTML:
** Donate!
See the donate button on https://spritely.institute
We are a 501(c)(3) nonprofit in the public interest!
** Say hello and get stickers!
They're REALLY COOL!
* Let's build it all together!
#+REVEAL_HTML:
https://community.spritely.institute
https://spritely.institute