Sixth - system for data storage, computation, exploration and interaction

1 General

1.1 Source code

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.

Examples of extendable environments where one can live in and do almost everything:

GNU Emacs
At the heart, Emacs is text editor on top of Lisp runtime.
Eclipse IDE
In essence OSGi platform with a text editor.

In both cases you can develop/install plugins for every purpose imaginable.

I would like to create general purpose environment with the following properties:

  • Makes lots of complex data intuitive to:
    • explore, understand
    • manipulate and compute on
  • Extensively relying on:

    “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 etc are not contained to any device.

3 Current status

4 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.

5 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.