News

What is The Slipstream?

Birds fly in a V formation because the eddies of the front birds pull the others along. The eddies are called a slipstream. Imagine an AI-powered human slipstream on the internet. With robotic DIY and a few hours of work a month, we, and everyone, could live a life of abundance.

Background

A number of us are working on a project to create “The Slipstream.” The project is the brain-child of Bruce Long, who took computer science and philosophy; his master's thesis was a sketch of a computable ethics theory. The philosophy eventually became math, and the math is becoming code. For computers to make ethics calculations, they need to know about what situation is in question. Bruce has developed a modeling language called Proteus for modeling systems and situations. Proteus can model extremely complex systems like countries and their legal systems and how they interplay with other countries. It can also model chemical systems, biological systems, and so on. On a personal level, it can model your favorite music or your friends.

It turns out that having a system that can maintain a model of the world and update it from arbitrary input streams can be used as an AGI. Here is one example: Give it a basic model of the world, send input streams from video and audio from the head of a robot, and direct output streams to the robot ‘muscles’ and perhaps speech synthesis. Add some more sensors as needed. If the models are good enough and the motor control sufficient, the robot could clean house, repair cars, etc.

The Puzzle

In the early 2000s (after 9/11), when the ideas were mostly philosophy, with a little math and some experimental code, the puzzle was, given the realization that the project would eventually produce a powerful AGI, what to do with it? How can it be safe? Hard to hack? Can we avoid Skynet? No one wants to run ethics calculations on their own behavior. Corporations and governments would love the AGI, but the ideal is for ordinary people to use it. So the plan became to build an app so powerful, easy, and useful that everyone would want it on all their devices. And it should be available for Apple, Google, Microsoft, and so on to add to their devices as a UI instead of merely an app when they are ready. Later it can be made into a stand-alone operating system.

The Slipstream App

Whether it is an app or the UI of your device, the Slipstream program uses models of you and your situation to take care of you. Do you want to edit a document? Models of the document structure and of your preferred GUI will make it possible… without an app. Do you want to play a Slipstream game? Contact a friend? Find a safe party? Share a video; with or without youTube? Get accurate news? Your slipstream keeps track of which sources of information have been wrong in the past, whether that is sensors on your watch or a major news outlet. Because it has models of the world and how causal structures work, it can “peer review” incoming information such as news reports. The underlying ethics calculations ensure that it values human life and autonomy as well as other conscious creatures.

The Slipstream of People

The app is a peer to peer system that can access loads of information as well as the slipstreams of your trusted friends or people you meet or want to work with. The Slipstream proper is made of people connecting to each other to make life better. Imagine you want to start a project. Perhaps to design new clothes. Or perhaps to go to Mars or to cure cancer. The Slipstream can coordinate projects that have overlapping needs. What if you have 20 minutes and you decide to help with the cancer projects. You may find out that a few blocks away, someone working to model a cellular process needs to eat. And if you prepared something to eat, a person driving by could deliver it. So, humanity’s most challenging problems can be auto peer-reviewed and divided up into ten-thousand tiny tasks for our participation. And now, you are a part of the projects to cure cancer, so what do you need? Groceries? Clothes? Rent money? Let The Slipstream help.

The Architecture of the Slipstream

There are four parts of the slipstream system: Repositories of models, Distributions of the software system, the Proteus engine, and the Slipstream Core. Together, they make a scalable, reliable, distributed, decentralized infrastructure that can coordinate humans to power the planet.

Repositories of models

Repositories of proteus models are a set of files or links to databases that store knowledge. These are distributed and dynamically updated repositories of information. There are several types of “repo.””. Device repos track a single device of yours. They authorize “user repos” which store and protect your personal information. User repos are replicated on all your devices and are encrypted and backed up on your trusted friend’s devices. Lose your devices? User models will let you authenticate to your friend’s devices, and you’ll have all your stuff back. There are also repos for organizations. User repos authorize your slipstream to access “planet” repos on your behalf. Planet repos store our collective knowledge: how things work, what is happening in the world, which laws in a legal system are unethical. Think of them like a computerized, peer-reviewed Wikipedia.

Distributions of software

Like the Linux operating system, anyone can package together some slipstream software, a collection of repos, and some rules for validating information and release it. Having multiple distributions of the system ensures that there is no single point of failure and helps to make sure information is trustworthy. Since anyone can put together a “distro,” there will be distros for flat-earthers and for every other view. Distros check themselves and other distros for consistency and for how much the models compress the data. One might be able to make a consistent flat earth model, but it is unlikely to compress the data. Any problems can be very public.

Distros can set rules for what new knowledge can be added to the Planet Repos. In that sense, it's like a distributed, “peer” reviewed Wikipedia. Anyone can add to humanity’s knowledge as long as they meet the standards.

The Proteus Engine

The Proteus engine is software that processes models and data to do things. Proteus represents the world, not as matter moving but as information flowing. Since information is just “states” under a different unit (256 states = 1 byte information), that models the world as states. Information flowing over time is just causal chains of state changes. It’s a very powerful way of thinking about the world, and it’s the reason the system can do ethics calculations.

Interestingly, using an information flow based modeling language makes it easy to model all the complexities of natural language. Tell the system something in your language, and it will “normalize” it into Proteus for storage. When someone else queries for that information, the underlying Proteus code will be “normalized” into their language.

The Slipstream Core

The Slipstream Core is the software that sets up the Proteus engine, authenticates the user, and manages the various repositories. It sets up streams from your keyboard, microphone, keyboard, camera, and your device's sensors into the Proteus Engine. It also sets up output streams to your screens, speakers, etc. Models tell the engine how to interpret the streams and how to output the resulting information to a screen or speakers. The core is what will understand you when you say, “That sentence you just read to me, delete this word.” while you point to a word on a screen. Or “I want to help cure cancer.” The core also connects to the outside world through your friend network or other peer-to-peer structures. And it connects to IPFS to store your files.

CodeDog

Just as the UNIX operating system and the C language were designed hand-in-hand, the Slipstream comes with a really cool programming language that embodies the Slipstream ethos. It’s called CodeDog. CodeDog makes complete apps. It compiles to Java to create an Android app, Swift to make apps for Apple devices, and C++ for everything else. It’s very flexible and automates many decisions the developer would typically have to make, such as which libraries to link, which data structures to use, and so on. You can use it to make your own apps! And when you do, you will also be helping make the Slipstream. If you want to be Slipstreamy right away, there is lots to do! We can add new languages and platforms to CodeDog (and thus to your own CodeDog apps and to the Slipstream). It would be cool to have it make apps for Chromebooks, for example. You can also add new optimized data structures and security features. CodeDog can build very efficient C++ or other code and could thus be used to create an operating system or AAA game. It even has an example game!

Join The Slipstream!

Sure, helping with code will speed things up! But join even if you can’t code! You’ll find something to do! Go to www.theSlipstream.com and click on “Developer Starting Page.”

https://github.com/BruceDLong/CodeDog

https://github.com/BruceDLong/Proteus

Guarding our knowledge with proteus

Some knowledge problems

Some Knowledge Problems of the 21st Century so far:

  • People or corporations or governments know things about us we do not want them to know.

  • Powerful Trolls inject false news into our collective knowledge making it hard to handle global problems.

  • “Group-think”, when a group deceives itself to avoid conflict, can cause dysfunction in our important institutions.

  • Journals and new sources keep the information we need behind paywalls.

  • Reporters can be biased, click-baity or just terrible at their job and it’s hard to tell when.

You can think of more.

Overcoming these problems is complicated by the factors of a planet with billions of people with different cultures, needs and conceptual frameworks.

It’s not working

It’s not working to store our knowledge in thousands of isolated journals, databases, news reports and text books. Imagine trying to access all that? How many languages would you need to know? You would have to be a computer scientist and a statistician too. And nothing trustworthy is tracking and filtering out false information. Even putting it all online and indexing it with Google won’t work. There is too much. And who controls Google? Apparently China. So Google isn’t helping with the powerful trolls.

A giant knowledge-base won’t work

A giant knowledge-base won’t work for so many reasons. Who forces people to store their discoveries there? Such a knowledge base would be a prime target for powerful entities who have an interest in controlling what we know. Perhaps the worst aspect of storing our knowledge in a giant knowledge-base is that knowledge is stored in terms of a conceptual framework. Who gets to decide the framework used? We could use the framework of the dominant culture but what about those of us who don’t understand Mandarin Chinese? Or who don’t agree with that framework?

A really successful method of ensuring no one entity controls something has been iteratively improved by the Open Source community to ensure that the Linux operating system remains Free of negative influence but full of positive influence. Anyone who wants to can get the Linux operating system and modify anything they want to improve and then release their new version to the public. Many times a powerful person has tried to exert influence on Linux in a way that some people don’t like. Someone just forks the Operating System and makes a new “distro” designed the way they want it.

We need a system where anyone can put together a knowledge base and make it available. No doubt we will have knowledge bases from a wide variety of frameworks. There will be frameworks where the world is only 6000 years old and evolution never happened. Frameworks where there are an array of interesting genders for humans. Frameworks where only the highest level of rigour applied to verified evidence can get a fact accepted into the model. And there will be frameworks in between where if you tell it your favorite song it will believe you even without a formal peer-reviewed study. Anyone can subject any set of models to analysis and it will be quite clear if any models have contradictions, internally or with evidential data. These three things: 1. Anyone can gather knowledge into a distro using their preferred language or concepts. 2. Anyone can subject those models to analysis using their own computers — a sort of automated “peer” review. And 3. everyone can choose which of these distros they want to use. Many distros will automatically accept knowledge from other distros as long as it meets the requirements specified. Lastly, among the knowledge stored will be information about which sources have been reliable in the past.

To store these distos

To store these distos we need at least one computer language that meets the following requirements:

  • It can model any system from atoms to biological systems and medicine to democracies and psychology. We need to be able to model all the legal systems on the planet.

  • Can model the syntax and meaning of other languages in order to be compatible with them. For example, a model of the database language SQL together with a model of the data stored in a database should allow the knowledge the data represents to be accessible as if it had been modelled in the new language itself.

  • The language should be complete enough that alternative such languages can be modelled. This way there needn’t be only a single language that everyone has to agree on.

We are creating such a language called Proteus that we propose as the first such language to start the system off. Proteus is powerful enough to model any system and any language, including natural languages. Thus, eventually we can all access our collective discoveries in our own language and in our own conceptual framework.

You are invited to help us in creating this ecosystem and soon, to create models of the things that interest you.

https://github.com/BruceDLong/Proteus

Codedog: a programming Language for The Slipstream

If you are a developer in charge of some code or an app, you know an enormous amount of time is spent getting your app to work on a variety of platforms and coping with changing APIs and new features in the platforms you do support. In fact, the problem is so bad that if you write an app then never modify it again, it will soon stop working or be obsolete or incompatible with new releases of operating systems. Once you write an app you have to forever be updating it just to keep up with new API’s — even if you never add more features. And you have to do that for each platform you support!

Think about why that won’t work for the Slipstream. The Slipstream is about using tools that let people add their work together so that a thousand small contributions can be a thousand times more than one person could do alone. But the way software is created today doesn’t allow contributions to add. At best the increase is logarithmic. That means it will take more and more new contributions just to maintain the current level; let alone make progress. Not going to work for the Slipstream!

To solve this problem we had a re-think of the way software is created and maintained. One of our conclusions has to do with the fact that compilers (like C++ compilers) have no information about any other piece of the puzzle that developers have to put together. They don’t know anything about what libraries will be used, what platforms will need to be supported, what kind of user-interactions will be needed, and so on. All of these details are left up to the programmer. So if programmers are to support three platforms, they need to know about the libraries, the app style, the ‘gotchas’, and all the details of making an actual app work for all three platform. There are a LOT of these details and they change all the time.

CodeDog is designed from the ground up to produce apps. Not just the executable part of an app but the entire app; ready for deployment and optimally tailored for each platform needed. We realized that the information needed to make an entire app needs to be integrated into the language itself and not a separate step. If it’s separate, the developer will have to learn how to use it, with each language, with each library and platform and with each new advance. But if the information is integrated all these things can be automated — even if details change in the future.

Here is how it works. Think of all the decisions developers will have to make to get an app working on a platform. They will have to choose which libraries to use and learn how to use each one — for each platform. They need to decide which data-structures to use; list? deque? ArrayList? vector? They all do about the same thing but there are pros and cons to each one. And a hundred more decisions. With CodeDog we asked, what information is needed in order to make an optimal decision in cases like these? We designed a way to integrate general information into the code so that the system will have the information needed to make a decision.

So in CodeDog you can code multiple ways to solve a problem and register the pros and cons and requirements of each one. CodeDog already comes (or will come as more are completed) with a plethora of these “multiple ways to solve a problem”: How to make a sound with SDL. How to do it on a Mac. An Android. How to get a string from the user on GTK or Mac’s Aqua or Java Swing. Which list-like classes have fast insert or fast search? Which will work with Swift vs C++ or Java? Which are superfast on one chipset but not another?

CodeDog can compile code to what ever language you specify. For example, C++, Swift or Java. So you genuinely get an app tailored to each platform. The result can be written in Java for Android (or C++), C++ for Linux, Visual C++ for Windows, Swift for Apple devices, and so on. But the best part comes in the future. When new data-structures or new APIs or even entirely new platforms come out, the Slipstream can collectively update the CodeDog system. Rebuild your apps and they will automatically get new styles, improved data structures, new feature support and use new security techniques. If an entirely new type of device comes out next year, soon your app will work on it as well as if it were a native app. Because it will be!

https://github.com/BruceDLong/CodeDog

Stay updated

Sign up with your email address to receive news and updates.