2. Creation Engine
An editable search engine, where results are dynamically generated and
depend on the point of view - the person using it.
Results can be expanded - “zoomed in” to uncover more details and allow
for changing them before saving the result back into the system.
Technology that enables building it is machine learning (dynamic detail generation)
and the upcoming content-addressable programming language Unison, which can
be combined with some blockchain ideas to form a shared memory space on the
Internet.
Use cases will include media creation, video games development as well as
exchange of data in general.
4. Iterative, hierarchical, top-down design process
1. Input understanding
2. Composition from existing patterns
3. Presentation
4. Expansion of details and customisation
5. Storage of changes
5. Reverse rendering
Turning images into 3D models
https://interestingengineering.com/nvidia-researches-created-ai-that-turns-2d-images-into-3d-models
Differentiable Rendering is Amazing!
https://www.youtube.com/watch?v=tGJ4tEwhgo8
Neural Point-Based Graphics (July 2019)
https://www.youtube.com/watch?v=7s3BYGok7wU
6. Memories
Memory is data representing a given understanding of an idea. It may be
individual or shared and contains preferences and choices related to it.
For example:
- The memory of our shared culture knows that a “tree” should be represented
e.g. as a somewhat realistic tree of typical species, in summer.
- But a memory of a fan of Minecraft could instead represent it as a block tree
from the game.
7. Hierarchy of memories
Memories form a hierarchy, as smaller, more private memories are linked to
larger, shared ones.
Shared memory
Personal memory
New memory
More widely shared memory
Shared memory
Personal memory
New memories are created on the edges and can over time conceptually move
upwards as they are improved and shared further.
8. Recovering memories
When someone accesses an existing memory, it is not constructed fully, but is
instead shown with limited detail, depending on current context of the inner
memory.
For example:
- Someone searching on the Internet for a “tree” would see just an image of a
generic tree
- Someone working on a open-world video game in 3D space could access a
model of a tree related to a weather of the landscape they are in at the
moment
9. Customising memories
A recovered memory can be expanded to make customisations to it.
1. Choosing an aspect/property of the memory
2. Expanding the details
3. Making changes
By expanding, we are recovering more of the memory and have a possibility to
change it by giving new input.
Every change is saved to the inner-most, current working memory.
11. Sharing memories
> A tree with one branch yellow
Shared memory
Personal memory
New memory
More widely shared memory
Conceptually, sharing is done by the new memory being “remembered” by more
people or systems, in more contexts.
12. Functions as memories
Functions are memories that can transform data over time.
In other words: they are an automated way of constructing new memories.
toUpperCase is a very simple function for transforming text.
A specialised neural network is a more complex function.
A neural network for choosing neural networks to process given data is yet
another function.
13. Functions have trust
Functions have values of trust associated with them, which describe confidence
that:
- The function will complete within expected time
- The function will return a result within expected boundaries/categories
Functions gain trust over time as they work as expected.
Each function may have multiple values of trust - evaluated by different systems
and stored in different parts of the shared memory.
15. Unison
Looks similar to Haskell
“Unison has no builds, no dependency conflicts, and renaming things is trivial. The
same core idea forms the basis for a runtime that robustly supports dynamic code
deployment, allowing a single Unison program to describe entire elastic distributed
systems.”
“Search engine in 15 lines of code”:
https://www.youtube.com/watch?v=f6yA3t0dO-k
https://www.unisonweb.org/
17. Function root in a smart contract
Smart contract
on a blockchain
An entry point to the content-addressable space can be stored on a blockchain,
in a known smart contract, changed only after it has been approved by the logic of the contract.
Content-addressable
space
Related: The Global App: It's a Future Thing
19. Stablecoins
Stablecoins are cryptocurrencies designed to minimize the volatility of the price of the stablecoin,
relative to some "stable" asset or basket of assets.
1 DAI = $1
What is a Stablecoin? Most Comprehensive Video Guide
https://makerdao.com/
20. Augmented Bonding Curves (ABCs)
“The Augmented Bonding Curve (ABC) aligns the incentives of a community to support an underlying
public good. It creates the seed funding that will be used to achieve the goal of the Commons, and acts as
the interface between the internal economy of the Commons and the outside world.“ - Commons Stack
Rewriting the Story of Human Collaboration
(Or, an Introduction to Token Bonding
& Curation Markets)
Deep Dive: Augmented Bonding Curves
21. Seeding functions
Content-addressable
space
1. Invest a seed amount into building a function
2. Tokens are “numbered” - those generated
earlier are algorithmically certain to be worth
more than later ones.
3. This is to bootstrap a network effect - get
people interested in a common cause
4. Earlier stakeholders are rewarded,
while new stakeholders join, as long as they
believe in the future value of the project
https://commonsstack.org/
23. Unison Runtime + Payments
AWS Google Cloud MS Azure
Functions
Apps
AI Algorithms
Game Engines
Worlds
Software Stack
24. Marketing Directions
Everyone - “the open and decentralised Internet”
Software developers - building functions in Unison and integrations with
existing systems
Blockchain developers - rewriting some blockchain clients in Unison
Machine learning engineers - attaching AI models as functions
Game developers, filmmakers - creating worlds and stories
25. Time estimates
Unison
M1: released around Nov 2019 https://github.com/unisonweb/unison/projects/1
Goal of this milestone: you can download Unison, write a library in Unison, test it, share it with others, who can use the published
library (and updates to it) in their own libraries. Includes a feature complete codebase editor and no catastrophic bugs that would
prevent you from using the language and codebase editor.
M2: now in progress https://github.com/unisonweb/unison/projects/2
Not much concrete info yet, but they say: "Over the next 6 months, with the foundations of the language and tooling now laid down, we
do plan to start rolling out real libraries for doing distributed programming in Unison, and that will be pretty exciting."
CommonsStack: likely released within the next few months
Overall: depending on the ability to find Haskell developers, the Unison runtime
could potentially be completed within 6 months
26. Similar concepts
“The Truth of Fact, the Truth of Feeling” by Ted Chang - a short story about a
shared memory for life-logging