Sixth - system for data storage, computation, exploration and interaction
1 General
- This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- Program author:
- Svjatoslav Agejenko
- Homepage: https://svjatoslav.eu
- Email: mailto://svjatoslav@svjatoslav.eu
- Other software projects hosted at svjatoslav.eu
1.1 Source code
- Note - Sixth is currently empty parent/shell project. You can find working code under sub-projects.
- 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
2 Vision - A tool to amplify human ability
Idea is to design all encompassing, flexible and powerful virtual environment where I can live in and very efficiently do all my computing tasks enjoyably and with playful ease.
See extensible, programmable computing environment examples. In each case you can install or develop plugins/extensions for every purpose imaginable.
I would like to create better general purpose environment with the following properties:
- Makes lots of complex data intuitive to:
- explore, understand
- manipulate and compute on
- Extensively relying on:
- Realtime 3D graphics with immediate feedback loop.
“Virtual reality holds the key to the evolution of the human mind” Dr. Lawrence Angelo, The Lawnmower Man (1992)
- Flexible and distributed computation and data storage.
- Cross device:
- Easily switch and/or combine computers to work seamlessly on any tasks.
- User interface, data, software, running proceses and available computing power is not contained or limited by boundaries of any single device.
2.1 Extensible, programmable computing environment examples
- GNU Emacs - At the heart, Emacs is text editor on top of Lisp runtime. Data storage and computation can be done in Lisp. Emacs provides text buffers that can be used to build GUI.
- Eclipse IDE - In essence OSGi platform with a text editor. Computation done in java. Eclipse provides integration, runtime and GUI platform.
- IBM Notes/Domino - Custom database engine, software development platform, GUI editor, computation can be done in Java and LotusScript.
- SAP ABAP - Custom database engine, runtime, GUI platform, development environment and programming language.
3 Current status
- Formulated high-level vision / goal.
- In the process of implementing some of building blocks.
- System is nowhere near complete (given magnitude of effort required and my free time available). Contributions welcome ! :)
4 Architecture / components
- Sixth - Parent project.
- Sixth Data - Data storage and computation engine.
- Sixth 3D - 3D engine - for user interface and data visualization.
- Sixth 3D engine demos - Demonstration of Sixth 3D engine capabilities.
5 Computation ideas
- Program - stored instructions for execution by computer.
- Process - Currently running program.
- Process is self contained. Has a full copy of program code and
every dependent library.
- Memory used by processes is content addressed/deduplicated at low level in the system.
- This allows:
- Upgrading software installed in the system without breaking already running processes.
- Easier migration of running processes between physical computers.
- Possibility to suspend/resume arbitrary processes to permament storage.
- Possibility checkpoint/revert running process.
- Possibility to clone/branch running process.
- Process is self contained. Has a full copy of program code and
every dependent library.
6 Frequently Given Answers
- Why such name ?
- In short: it's just a number.
- Many years ago inspired by the ideas of Forth (programming language) I decided to create my own implementation Fifth (computing/programming environment).
- Then I realized I miss type safe object oriented capabilities. So I updated the name to Sixth and switched to Java.