#+TITLE: Sixth - system for data storage, computation, exploration and interaction * (document settings) :noexport: ** use dark style for TWBS-HTML exporter #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: * General - This program is free software: you can redistribute it and/or modify it under the terms of the [[https://www.gnu.org/licenses/lgpl.html][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: http://svjatoslav.eu - Email: mailto://svjatoslav@svjatoslav.eu - [[http://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]] ** Source code + Note - Sixth is currently empty parent/shell project. You can find working code under [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][sub-projects]]. - [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]] - [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary][Browse Git repository online]] - Clone Git repository using command: : git clone http://www2.svjatoslav.eu/git/sixth.git * Vision - A tool to amplify human ability :PROPERTIES: :ID: 1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f :END: 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. [[id:c19c5a3b-dfb0-4f7f-961c-a387b925669f][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: - [[http://www3.svjatoslav.eu/projects/sixth-3d/][Realtime 3D graphics]] with immediate feedback loop. #+BEGIN_QUOTE “Virtual reality holds the key to the evolution of the human mind” Dr. Lawrence Angelo, The Lawnmower Man (1992) #+END_QUOTE + [[http://www3.svjatoslav.eu/projects/sixth-data/][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. ** Extensible, programmable computing environment examples :PROPERTIES: :ID: c19c5a3b-dfb0-4f7f-961c-a387b925669f :END: + [[https://www.johndcook.com/blog/2008/04/27/one-program-to-rule-them-all/][GNU Emacs]] - At the heart, Emacs is text editor on top of Lisp runtime. Data storage and computation can be done in [[https://www.defmacro.org/ramblings/lisp.html][Lisp]]. Emacs provides text buffers that can be used to build GUI. + [[https://www.eclipse.org/ide/][Eclipse IDE]] - In essence [[https://en.wikipedia.org/wiki/OSGi][OSGi]] platform with a text editor. Computation done in java. Eclipse provides integration, runtime and GUI platform. + [[https://en.wikipedia.org/wiki/IBM_Notes][IBM Notes/Domino]] - Custom database engine, software development platform, GUI editor, computation can be done in Java and LotusScript. + [[https://en.wikipedia.org/wiki/ABAP][SAP ABAP]] - Custom database engine, runtime, GUI platform, development environment and programming language. * Current status + Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]]. + In the process of implementing some of [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][building blocks]]. + System is nowhere near complete (given magnitude of effort required and my free time available). Contributions welcome ! :) * Architecture / components :PROPERTIES: :ID: 52dbbf4c-2ef4-42a6-8331-ad006b6a52ae :END: + [[http://www3.svjatoslav.eu/projects/sixth/][Sixth]] - Parent project. + [[http://www3.svjatoslav.eu/projects/sixth-data/][Sixth Data]] - Data storage and computation engine. + [[http://www3.svjatoslav.eu/projects/sixth-3d/][Sixth 3D]] - 3D engine - for user interface and data visualization. + [[http://www3.svjatoslav.eu/projects/sixth-3d-demos/][Sixth 3D engine demos]] - Demonstration of Sixth 3D engine capabilities. * 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. * Frequently Given Answers - Why such name ? - In short: it's just a number. - Many years ago inspired by the ideas of [[https://en.wikipedia.org/wiki/Forth_(programming_language)][Forth (programming language)]] I decided to create my own implementation [[http://www3.svjatoslav.eu/projects/fifth/][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.