The Mess We’re (Still) In 🌈🧘 Unbounded Parallelism, True Names, & Keeping CALM 🎱✨

The Mess We’re (Still) In

The Mess We’re (Still) In A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable β€” Leslie Lamport

The Mess We’re (Still) In

The Mess We’re (Still) In

The Mess We’re (Still) In

The Mess We’re (Still) In Meanwhile…

The Mess We’re (Still) In Meanwhile… …who? 🀨

The Mess We’re (Still) In

The Mess We’re (Still) In

The Mess We’re (Still) In Keep Calm and Dig In πŸ•³β›

The Mess We’re (Still) In Keep Calm and Dig In πŸ•³β›

The Mess We’re (Still) In Keep Calm and Dig In πŸ•³β›

The Mess We’re (Still) In

The Mess We’re (Still) In

The Mess We’re (Still) In

The Mess We’re (Still) In

@FissionCodes Brooklyn Zelenka Quinn Wilton @expede @wilton_quinn

@FissionCodes Brooklyn Zelenka Quinn Wilton @expede @wilton_quinn β€’ CTO at Fission β€’ Applied Researcher at Fission β€’ Distributed auth, data, compute, and discovery β€’ Building a planetary scale database for local-first apps β€’ Author of Witchcraft, Algae, Exceptional, &c β€’ Contributed to Lumen, Gleam, Burrito, Witchcraft, &c

@FissionCodes Brooklyn Zelenka Quinn Wilton @expede @wilton_quinn β€’ CTO at Fission β€’ Applied Researcher at Fission β€’ Distributed auth, data, compute, and discovery β€’ Building a planetary scale database for local-first apps β€’ Author of Witchcraft, Algae, Exceptional, &c β€’ Contributed to Lumen, Gleam, Burrito, Witchcraft, &c

So Many Problems πŸͺ¨πŸͺ 🌌

Problems πŸͺ¨πŸͺπŸŒŒ High Level

Problems πŸͺ¨πŸͺπŸŒŒ High Level

  1. Massive State Space

Problems πŸͺ¨πŸͺπŸŒŒ High Level

  1. Massive State Space 2. Place Oriented Programming

Problems πŸͺ¨πŸͺπŸŒŒ High Level

  1. Massive State Space 2. Place Oriented Programming 3. Dependencies, Limited APIs, Inconsistency

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 (2 ) β‰ˆ 10 48

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 48 (2 ) β‰ˆ 10 🌍

atoms on Earth

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 48 (2 ) β‰ˆ 10 🌍

atoms on Earth

Six 32-bit Numbers 32 6 (2 ) β‰ˆ 10 57

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 48 (2 ) β‰ˆ 10 Six 32-bit Numbers 32 6 57 (2 ) β‰ˆ 10 🌍 🌞 πŸͺ 🌍 πŸŒ’

atoms on Earth

atoms in solar system

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 48 (2 ) β‰ˆ 10 Six 32-bit Numbers 32 6 57 (2 ) β‰ˆ 10 🌍 🌞 πŸͺ 🌍 πŸŒ’

atoms on Earth

atoms in solar system

Single Receiver (2 32+1 6 ) Γ— 6! β‰ˆ 10 62

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 48 (2 ) β‰ˆ 10 Six 32-bit Numbers 32 6 57 (2 ) β‰ˆ 10 Single Receiver 32+1 6 (2 ) Γ— 6! β‰ˆ 10 🌍 🌞 🌌 πŸͺ 🌍 πŸŒ’

atoms on Earth

atoms in solar system

62

atoms in Milky Way

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 48 (2 ) β‰ˆ 10 Six 32-bit Numbers 32 6 57 (2 ) β‰ˆ 10 32+1 6 (2 🌍 🌞 🌌 🌍 πŸŒ’

atoms in solar system

62 ) Γ— 6! β‰ˆ 10 πŸͺ

atoms on Earth

Two Receivers Single Receiver

atoms in Milky Way

((2 32+1 6 2 ) Γ— 6!) β‰ˆ 10 124

Problems πŸͺ¨πŸͺπŸŒŒ State Space is Big Five 32-bit Numbers 32 5 48 (2 ) β‰ˆ 10 Six 32-bit Numbers 32 6 57 (2 ) β‰ˆ 10 Two Receivers Single Receiver 32+1 6 (2 ) Γ— 6! β‰ˆ 10 62 32+1 6 ((2 2 124 ) Γ— 6!) β‰ˆ 10 🌍 🌞 🌌 🀯 πŸͺ 🌍 πŸŒ’

atoms on Earth

atoms in solar system

atoms in Milky Way

More than observable universe

Problems πŸͺ¨πŸͺπŸŒŒ

Problems πŸͺ¨πŸͺπŸŒŒ Distributed systems introduce significant nondeterminism to our programs. Sources of non-determinism include unsynchronized parallelism, unreliable components, and networks with unpredictable delays. As a result, a distributed program can exhibit a large space of possible behaviors on a given input. β€” Hellerstein & Alvaro, Keeping CALM: When Distributed Consistency is Easy

Problems πŸͺ¨πŸͺπŸŒŒ The Great 73-Hour Roblox Outage of 2021 https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/ https://www.theverge.com/2021/10/30/22754107/roblox-down-outage-chipotle-server-issues-status

Problems πŸͺ¨πŸͺπŸŒŒ The Great 73-Hour Roblox Outage of 2021 https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/ https://www.theverge.com/2021/10/30/22754107/roblox-down-outage-chipotle-server-issues-status

Problems πŸͺ¨πŸͺπŸŒŒ The Great 73-Hour Roblox Outage of 2021 https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/ https://www.theverge.com/2021/10/30/22754107/roblox-down-outage-chipotle-server-issues-status

Problems πŸͺ¨πŸͺπŸŒŒ The Great 73-Hour Roblox Outage of 2021 πŸ‘€ https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/ https://www.theverge.com/2021/10/30/22754107/roblox-down-outage-chipotle-server-issues-status

Problems πŸͺ¨πŸͺπŸŒŒ The Great 73-Hour Roblox Outage of 2021 🧨 πŸ‘€ https://blog.roblox.com/2022/01/roblox-return-to-service-10-28-10-31-2021/ https://www.theverge.com/2021/10/30/22754107/roblox-down-outage-chipotle-server-issues-status

Problems πŸͺ¨πŸͺπŸŒŒ And Yet…

Problems πŸͺ¨πŸͺπŸŒŒ And Yet… These metastable failures have caused widespread outages at large internet companies, lasting from minutes to hours. Paradoxically, the root cause of these failures is often features that improve the efficiency or reliability of the system. – Bronson et al, Metastable Failures in Distributed Systems

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ πŸ›‘ βš–

Problems πŸͺ¨πŸͺπŸŒŒ Metastable Mechanism ⚑ πŸ›‘ β€’ Retries / let it crash β€’ Work amplification βš– β€’ General thrash 🫑

Problems πŸͺ¨πŸͺπŸŒŒ Places Fight Light πŸ’«πŸ€Ί

Problems πŸͺ¨πŸͺπŸŒŒ Places Fight Light πŸ’«πŸ€Ί

Problems πŸͺ¨πŸͺπŸŒŒ Places Fight Light πŸ’«πŸ€Ί The limitation of local knowledge is the fundamental fact about the setting in which we work, and it is a very powerful limitation – Nancy Lynch, A Hundred Impossibility Proofs for Distributed Computing

Problems πŸͺ¨πŸͺπŸŒŒ Places Fight Light πŸ’«πŸ€Ί Sending a β€œDirect” Message

Problems πŸͺ¨πŸͺπŸŒŒ Places Fight Light πŸ’«πŸ€Ί Sending a β€œDirect” Message

Problems πŸͺ¨πŸͺπŸŒŒ Places Fight Light πŸ’«πŸ€Ί Sending a β€œDirect” Message

Problems πŸͺ¨πŸͺπŸŒŒ Places Fight Light πŸ’«πŸ€Ί Sending a β€œDirect” Message 7.2x β³πŸ”‹πŸ›’πŸͺ 

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Dependencies & Integration Bob’s Photo Gallery πŸ–Ό β›” πŸ”’ πŸ‘©πŸŽ€ Alice’s Music Player 🎢 πŸ”’ πŸ§‘πŸŽ€ Carol’s Videogame πŸ‘Ύ πŸ”’

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Dependencies & Integration

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Dependencies & Integration πŸ’Ώ πŸ’Ύ πŸ“€

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Dependencies & Integration Bob’s Photo Gallery πŸ–Ό πŸ’Ώ πŸ’Ύ πŸ“€

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Dependencies & Integration Bob’s Photo Gallery πŸ–Ό πŸ’Ώ πŸ’Ύ πŸ“€ Carol’s Videogame πŸ‘Ύ

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Dependencies & Integration Bob’s Photo Gallery πŸ–Ό πŸ’Ώ πŸ’Ύ Alice’s Music Player 🎢 πŸ“€ Carol’s Videogame πŸ‘Ύ

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Inconsistency

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Inconsistency β€’ Even with FOSS!

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 Inconsistency β€’ Even with FOSS! β€’ Annual migration to the latest hipster HTTP client β€’ HTTPotion β†’ HTTPoison β†’ Hackney β†’ Tesla β†’ Finch β†’ Req

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰

Problems πŸͺ¨πŸͺπŸŒŒ Data Behind Walls 🏰 If people in a few hundred years from now want to see what their ancestors wrote, what will they find, a mess of badly formatted crap?! β€” Joe Armstrong, Why Markdown Sucks

Cause & E ect ff Mental Framework πŸ—πŸ§ 

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ

Mental Framework πŸ—πŸ§  Causal Islands πŸ–πŸ β€œCausal Subjectivity”

Mental Framework πŸ—πŸ§ 

Mental Framework πŸ—πŸ§  What is the family of problems that can be consistently computed in a distributed fashion without coordination, and what problems lie outside that family? β€”Hellerstein & Alvaro, Keeping CALM: When Distributed Consistency is Easy

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š tβ†’ 🎨

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Mental Framework πŸ—πŸ§  Gossiping Out of Order πŸ™Š 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑 ❎

Mental Framework πŸ—πŸ§  Monotone Functions

Mental Framework πŸ—πŸ§  Monotone Functions 🍎 πŸ‹ 🍊

Mental Framework πŸ—πŸ§  Monotone Functions 🍎 πŸ‹ 🍊 🍎 πŸ‘ πŸ‹ πŸ’ 🍊 πŸ“ 🍌 🍍

Mental Framework πŸ—πŸ§  Monotone Functions 🍎 πŸ‘ 🍎 πŸ‹ 🍊 βŠ† πŸ‹ πŸ’ 🍊 πŸ“ 🍌 🍍

Mental Framework πŸ—πŸ§  Monotone Functions get(:red) 🍎 πŸ‘ 🍎 πŸ‹ 🍊 🍎 βŠ† πŸ‹ πŸ’ 🍊 πŸ“ 🍌 🍍

Mental Framework πŸ—πŸ§  Monotone Functions get(:red) 🍎 πŸ‘ 🍎 πŸ‹ 🍊 get(:red) βŠ† πŸ‹ πŸ’ 🍊 πŸ“ 🍌 🍍 🍎 🍎 πŸ’ πŸ“

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

It’s All About that Data πŸ“Š PNCounter

Grappling With Reality Towards a Solution βš—βœ¨

Towards a Solution βš—βœ¨ Evolving Toolbox Serverless Networked Data Cloud Commons Networks Local-First Blockchain O ffl P2P ine

Towards a Solution βš—βœ¨ Evolving Toolbox Serverless Networked Data Radical shifts how we think about auth, locality of reference, ownership, and reliability Cloud Commons Networks Local-First Blockchain O ffl P2P ine

Towards a Solution βš—βœ¨ Mutable Pointers send(:example@42.123.45.6, :ping) %{node_id => %{path => content}} β€’ Single-source server/client β€’ DNS: hostname β†’ IP address β€’ PIDs: number β†’ address β€’ Focused: physical network ff β€’ Referential opacity (same PID, di erent data)

Towards a Solution βš—βœ¨ Mutable Pointers send(:example@42.123.45.6, :ping) %{node_id => %{path => content}} β€’ Single-source server/client β€’ DNS: hostname β†’ IP address β€’ PIDs: number β†’ address P H Y S I C A L L O C AT I O N πŸ—Ί β€’ Focused: physical network ff β€’ Referential opacity (same PID, di erent data)

Towards a Solution βš—βœ¨ Mutable Pointers send(:example@42.123.45.6, :ping) %{node_id => %{path => content}} β€’ Single-source server/client β€’ DNS: hostname β†’ IP address β€’ PIDs: number β†’ address V I R T UA L A D D R E S S πŸ“¬ P H Y S I C A L L O C AT I O N πŸ—Ί β€’ Focused: physical network ff β€’ Referential opacity (same PID, di erent data)

Towards a Solution βš—βœ¨ Consistent Keys %{hash(content) => content} β€’ Above virtual address β€’ Focused: data itself β€’ Same for everyone & everywhere β€’ Perfect for caching β€’ Immutable data++ β€’ Consistent pointers β†’ consistent data V I R T UA L A D D R E S S πŸ“¬ P H Y S I C A L L O C AT I O N πŸ—Ί

Towards a Solution βš—βœ¨ Consistent Keys %{hash(content) => content} β€’ Above virtual address β€’ Focused: data itself β€’ Same for everyone & everywhere β€’ Perfect for caching β€’ Immutable data++ β€’ Consistent pointers β†’ consistent data CONTENT ID β˜ƒ V I R T UA L A D D R E S S πŸ“¬ P H Y S I C A L L O C AT I O N πŸ—Ί

Towards a Solution βš—βœ¨ Hash-Based Relationships

Towards a Solution βš—βœ¨ Hash-Based Relationships { } CID ~ Data PID Qm123456…: { data: nil, links: [ {name: β€œcompany”, hash: Qmabc…} {name: β€œindustry”, hash: Qmzyx…} ] }

Towards a Solution βš—βœ¨ Hash-Based Relationships { } { Qm123456…: { data: nil, links: [ {name: β€œcompany”, hash: Qmabc…} {name: β€œindustry”, hash: Qmzyx…} ] } CID ~ Data PID Qmabcdef…: { data: β€œFission”, links: [ {name: β€œcity”, hash: Qm1gb…}, {name: β€œabout”, hash: Qm0eN…} ] } }

Towards a Solution βš—βœ¨ Hash-Based Relationships { } { Qm123456…: { data: nil, links: [ {name: β€œcompany”, hash: Qmabc…} {name: β€œindustry”, hash: Qmzyx…} ] } CID ~ Data PID Qmabcdef…: { data: β€œFission”, links: [ {name: β€œcity”, hash: Qm1gb…}, {name: β€œabout”, hash: Qm0eN…} ] } } Qm123456…/company/about/ceo β‡’ β€œBoris Mann”

Towards a Solution βš—βœ¨ Content IDs Are Easy

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy πŸ–Ό 99.99999%

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy πŸ–Ό 99.99999% πŸ–Ό 99.0% πŸ–Ό 99.99% πŸ–Ό 99.999%

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy πŸ–Ό 99.99999% πŸ–Ό 99.0% πŸ–Ό 99.99% πŸ–Ό 99.999%

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy πŸ–Ό 99.99999% πŸ‘©πŸŽ€ πŸ–Ό 99.0% πŸ–Ό 99.99% πŸ–Ό 99.999%

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy πŸ–Ό 99.99999% πŸ‘©πŸŽ€ πŸ–Ό 99.0% πŸ–Ό 99.99% πŸ–Ό 99.999% πŸ‘©πŸŽ€ πŸ§‘πŸŽ€

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy πŸ–Ό 99.99999% πŸ‘©πŸŽ€ πŸ–Ό 99.0% πŸ–Ό 99.99% πŸ–Ό 99.999% πŸ‘©πŸŽ€ πŸ§‘πŸŽ€

Towards a Solution βš—βœ¨ Decoupling, Abundance, Redundancy πŸ–Ό 99.99999% πŸ‘©πŸŽ€ πŸ–Ό 99.0% πŸ–Ό 99.99% πŸ–Ό 99.999% 11-nines πŸ‘©πŸŽ€ πŸ§‘πŸŽ€

Towards a Solution βš—βœ¨ Reliability from Unreliable Components

Towards a Solution βš—βœ¨ Reliability from Unreliable Components 1 2 3 4 5 6 7 8 9 10

Towards a Solution βš—βœ¨ Downtime per Year (linear scale) Reliability from Unreliable Components 1 2 3 4 5 6 #Independent Machines 7 8 9 10

Towards a Solution βš—βœ¨ Downtime per Year (linear scale) Reliability from Unreliable Components 87 hours 1 2 3 4 5 6 #Independent Machines 7 8 9 10

Towards a Solution βš—βœ¨ Downtime per Year (linear scale) Reliability from Unreliable Components 87 hours 52 mins 1 2 3 4 5 6 #Independent Machines 7 8 9 10

Towards a Solution βš—βœ¨ Downtime per Year (linear scale) Reliability from Unreliable Components 87 hours 52 mins 32 sec 1 2 3 4 5 6 #Independent Machines 7 8 9 10

Towards a Solution βš—βœ¨ Downtime per Year (log scale) Reliability from Unreliable Components 87 hours 103s 1s 10-6s 316 fs 10-12s 1 2 3 4 5 6 #Independent Machines 7 8 9 10

Towards a Solution βš—βœ¨ Downtime per Year (log scale) Reliability from Unreliable Components 87 hours 103s 1s 10-6s 316 fs 10-12s 1 2 3 4 5 6 #Independent Machines 7 8 9 10

Towards a Solution βš—βœ¨ Downtime per Year (log scale) Reliability from Unreliable Components 87 hours 2O 103s rde rs M agn itud e/ 1s Ma chi n e 10-6s 316 fs 10-12s 1 2 3 4 5 6 #Independent Machines 7 8 9 10

Towards a Solution βš—βœ¨ Why Sync Whole Tables?

Towards a Solution βš—βœ¨ Why Sync Whole Tables? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

β€” OCT-2020

Towards a Solution βš—βœ¨ Why Sync Whole Tables? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

β€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Towards a Solution βš—βœ¨ Why Sync Whole Tables? Who’s clock? Meaningful or coincidence? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

β€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Towards a Solution βš—βœ¨ Why Sync Whole Tables? Who’s clock? Meaningful or coincidence? πŸ”’? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

β€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Towards a Solution βš—βœ¨ Why Sync Whole Tables? Who’s clock? Meaningful or coincidence? πŸ”’? πŸͺ΅? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

β€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Towards a Solution βš—βœ¨ Why Sync Whole Tables? Who’s clock? Meaningful or coincidence? πŸ”’? πŸͺ΅? 😀? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

β€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Towards a Solution βš—βœ¨ Relationships XYZ Name: @expede From JAN-2000 πŸ”’ Work: Fission From AUG-2019 KEB πŸ”’ Red Switches Switches: Blue From JAN-2020 From FEB-2020 Wireless

Towards a Solution βš—βœ¨ Relationships XYZ Name: @expede From JAN-2000 πŸ”’ Work: Fission From AUG-2019 KEB πŸ”’ Red Switches Switches: Blue From JAN-2020 From FEB-2020 Wireless

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020 🏒

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020 πŸ‘©πŸš€πŸ“± 🏒

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 πŸ‘¨πŸ³πŸ’» KEB Owner:XYZ From JAN-2020 🏒 KEB Switches: Blue From FEB-2020 πŸ‘©πŸš€πŸ“±

Towards a Solution βš—βœ¨ A Sequel to SQL: Nonlinear DBs βž‘β¬… XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always πŸ”’ XYZ Work: Fission From AUG-2019 πŸ”’ KEB Switches: Red From JAN-2020 πŸ‘¨πŸ³πŸ’» KEB Owner:XYZ From JAN-2020 🏒 KEB Switches: Blue From FEB-2020 πŸ‘©πŸš€πŸ“±

Towards a Solution βš—βœ¨

Towards a Solution βš—βœ¨ With over 1.5 million publications per year and more than 50 million total peer-reviewed articles, the rate and volume of novel discoveries has surpassed our ability to fully utilize and understand what is known – William E. Byrd et al, mediKanren: a System for Biomedical Reasoning

Towards a Solution βš—βœ¨ Standardized Knowledge Graphs

Towards a Solution βš—βœ¨ Data Integration

Towards a Solution βš—βœ¨ Data Integration

Towards a Solution βš—βœ¨ Data Integration

Towards a Solution βš—βœ¨ Data Integration

Towards a Solution βš—βœ¨ Data Integration

Towards a Solution βš—βœ¨ Data Integration

Towards a Solution βš—βœ¨ Data Integration

Towards a Solution βš—βœ¨ Data Integration A β€˜high-speed Dr. House’ for medical breakthroughs – University of Alabama News, on mediKanren

Your Turn Call to Action 🦸

Call to Action 🦸

Call to Action 🦸 We have a system that applies cutting edge CS research to tackle day-to-day problems in the applications we all write. Phoenix Presence - has no single point of failure - has no single source of truth -[…] - self heals ~ Chris McCord, β€œWhat Makes Phoenix Presence Special”

Call to Action 🦸 Next Steps

Call to Action 🦸 Next Steps 1. Embrace the distributed nature of the network πŸ«‚

Call to Action 🦸 Next Steps 1. Embrace the distributed nature of the network πŸ«‚ 2. Put data into interoperable forms

Call to Action 🦸 Next Steps 1. Embrace the distributed nature of the network πŸ«‚ 2. Put data into interoperable forms 3. Better living through replication

πŸŽ‰ Thank You, A CoruΓ±a πŸ‡ͺπŸ‡Έ https://fission.codes {brooklyn,quinn}@fission.codes github.com/expede | github.com/quinnwilton @expede | @wilton_quinn