Sixth — System for Data Storage, Computation, Exploration and Interaction
Table of Contents
1. Vision
A tool to amplify human ability
The goal is a bicycle for the mind — a powerful, extensible, hackable, general-purpose computing environment for working with knowledge.
The system is built around the following priorities:
- Knowledge-first. Data and insights should be easy to discover, understand, manipulate, transform and visualize.
Intuitive, visual, real-time, 3D-first interface.
"Virtual reality holds the key to the evolution of the human mind." — Dr. Lawrence Angelo, The Lawnmower Man (1992)
Why "Sixth"? Years ago, inspired by the ideas behind the Forth programming language, I created my own implementation called Fifth — a low-level computing and programming environment. Forth and Fifth felt too close to the metal, so this project is an attempt to build something higher-level in Java. The name follows naturally: Forth → Fifth → Sixth.
1.1. Extensible, Programmable Computing Environment — An Example
GNU Emacs is perhaps the best existing example of this philosophy. At its core, Emacs is a text editor built on top of a Lisp runtime. Data storage and computation can be expressed in Lisp, which is itself a programmable programming language — new paradigms and domain-specific languages can be added dynamically. Text buffers serve as building blocks for arbitrary user interfaces. The result is an environment that can be adapted and extended to fit virtually any problem domain.
1.2. Architecture and Components
- Sixth — Parent project (The one you are viewing right now. Only the
shell and the vision the moment)
- Sixth Data — Data storage and computation engine. (Very early stage, nothing to see yet)
- Sixth 3D — Real-time 3D engine for user interface and data
visualization. (Working and usable, fast evolving)
- Sixth 3D Demos — Demonstration scenes showcasing the capabilities of the Sixth 3D engine. (Many demos, in good shape)
The system is far from complete — the scope is large and available time is limited.
2. Ideas
2.1. Molecular dynamics integration
Integrate with GROMACS or a similar molecular dynamics simulator. The goal is to allow the user to place atoms and molecules in 3D space and watch them simulate in real time.
2.2. Emacs client integration
Allow Sixth to act as an Emacs client, connecting to a running Emacs instance. Text editors could then be spawned as objects in 3D space, each backed by the live Emacs process. This would make all existing Emacs plugins and functionality available inside the Sixth environment.
3. Source code
This program is free software: released under Creative Commons Zero (CC0) license
Program author:
- Svjatoslav Agejenko
- Homepage: https://svjatoslav.eu
- Email: mailto://svjatoslav@svjatoslav.eu
- See also: Other software projects hosted at svjatoslav.eu
Getting the source code:
- Download latest snapshot in TAR GZ format
- Browse Git repository online
Clone Git repository using command:
git clone https://www2.svjatoslav.eu/git/sixth.git