1 #+TITLE: Sixth - system for data storage, computation, exploration and interaction
3 * (document settings) :noexport:
4 ** use dark style for TWBS-HTML exporter
5 #+HTML_HEAD: <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
6 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
7 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
8 #+HTML_HEAD: <style type="text/css">
9 #+HTML_HEAD: footer {background-color: #111 !important;}
10 #+HTML_HEAD: pre {background-color: #111; color: #ccc;}
14 - This program is free software: you can redistribute it and/or modify
15 it under the terms of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] as
16 published by the Free Software Foundation, either version 3 of the
17 License, or (at your option) any later version.
21 - Homepage: https://svjatoslav.eu
22 - Email: mailto://svjatoslav@svjatoslav.eu
24 - [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
27 + Note - Sixth is currently empty parent/shell project. You can find
28 working code under [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][sub-projects]].
30 - [[https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]]
32 - [[https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary][Browse Git repository online]]
34 - Clone Git repository using command:
35 : git clone https://www2.svjatoslav.eu/git/sixth.git
36 * Vision - A tool to amplify human ability
38 :ID: 1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f
40 Goal is, so called bicycle for the mind.
42 A tool, that provides powerful, easy to use computing environment for
43 solving wide range of problems.
45 [[id:c19c5a3b-dfb0-4f7f-961c-a387b925669f][See extensible, programmable computing environment examples]]. In each
46 case you can install or develop plugins/extensions for every purpose
49 I would like to create better general purpose environment with the
52 + Makes data and insights easy to discover, understand and
55 + Things are visual, realtime with immediate feedback.
57 + Extensively utilizes [[https://www3.svjatoslav.eu/projects/sixth-3d/][realtime 3D graphics]] and capabilities of human
61 “Virtual reality holds the key to the evolution of the human mind”
62 Dr. Lawrence Angelo, The Lawnmower Man (1992)
66 + Behind the scenes, computations are done primarily in[[https://www3.svjatoslav.eu/projects/sixth-data/][ on versioned
67 data in distributed, scalable, frexible computation engine]].
70 + Easily switch and/or combine computers to work seamlessly on any
73 + User interface, data, software, running proceses and available
74 computing power is not contained or limited by boundaries of any
77 ** Extensible, programmable computing environment examples
79 :ID: c19c5a3b-dfb0-4f7f-961c-a387b925669f
81 + [[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
82 runtime. Data storage and computation can be done in [[https://www.defmacro.org/ramblings/lisp.html][Lisp]]. Domain
83 specific languages to fit particular problem could be developed as
84 needed and Emacs extended to support those languages. Emacs provides
85 text buffers that can be used to build user interfaces.
87 + [[https://www.eclipse.org/ide/][Eclipse IDE]] - In essence [[https://en.wikipedia.org/wiki/OSGi][OSGi]] platform with a text
88 editor. Computation done in java. Eclipse provides integration,
89 runtime and GUI platform.
91 + [[https://en.wikipedia.org/wiki/IBM_Notes][IBM Notes/Domino]] - Custom database engine, software development
92 platform, GUI editor, computation can be done in Java and
95 + [[https://en.wikipedia.org/wiki/ABAP][SAP ABAP]] - Custom database engine, runtime, GUI platform,
96 development environment and programming language.
98 + Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]].
100 + In the process of implementing some of [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][building blocks]].
102 + System is nowhere near complete (given magnitude of effort required
103 and my free time available). Contributions welcome ! :)
104 * Architecture / components
106 :ID: 52dbbf4c-2ef4-42a6-8331-ad006b6a52ae
108 + [[https://www3.svjatoslav.eu/projects/sixth/][Sixth]] - Parent project.
109 + [[https://www3.svjatoslav.eu/projects/sixth-data/][Sixth Data]] - Data storage and computation engine.
110 + [[https://www3.svjatoslav.eu/projects/sixth-3d/][Sixth 3D]] - 3D engine - for user interface and data visualization.
111 + [[https://www3.svjatoslav.eu/projects/sixth-3d-demos/][Sixth 3D engine demos]] - Demonstration of Sixth 3D engine capabilities.
113 + Program - stored instructions for execution by computer.
115 + Process - Currently running program.
116 + Process is self contained. Has a full copy of program code and
117 every dependent library.
119 + Memory used by processes is content addressed/deduplicated at
120 low level in the system.
123 + Upgrading software installed in the system without breaking
124 already running processes.
126 + Easier migration of running processes between physical
129 + Possibility to suspend/resume arbitrary processes to permament
132 + Possibility checkpoint/revert running process.
134 + Possibility to clone/branch running process.
136 * Frequently Given Answers
138 - In short: it's just a number.
139 - Many years ago inspired by the ideas of [[https://en.wikipedia.org/wiki/Forth_(programming_language)][Forth (programming
140 language)]] I decided to create my own implementation [[https://www3.svjatoslav.eu/projects/fifth/][Fifth]]
141 (computing/programming environment).
142 - Then I realized I miss type safe object oriented capabilities. So
143 I updated the name to Sixth and switched to Java.