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.
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. Architecture and Components
- Sixth — Parent project.
- Sixth Data — Data storage and computation engine.
- Sixth 3D — Real-time 3D engine for user interface and data
visualization.
- Sixth 3D Demos — Demonstration scenes showcasing the capabilities of the Sixth 3D engine.
4. Current Status
- The high-level vision and goals have been formulated.
- The core building blocks are actively under development.
- The system is far from complete — the scope is large and available time is limited.
5. 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