Updated documentation.
[sixth.git] / doc / index.org
index e3aef27..c526378 100644 (file)
 #+TITLE: Sixth - system for data storage, computation, exploration and interaction
 
------
-- [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]]
+* (document settings) :noexport:
+** use dark style for TWBS-HTML exporter
+#+HTML_HEAD: <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
+#+HTML_HEAD: <style type="text/css">
+#+HTML_HEAD:   footer {background-color: #111 !important;}
+#+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
+#+HTML_HEAD: </style>
 
-- This program is free software; you can redistribute it and/or modify it under
-  the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as
-  published by the Free Software Foundation.
+* 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/programs.jsp][other applications hosted at svjatoslav.eu]]
+- [[http://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
 
-* (document settings) :noexport:
-** use dark style for TWBS-HTML exporter
-#+HTML_HEAD: <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
-#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
-#+HTML_HEAD: <style type="text/css">
-#+HTML_HEAD:   footer {background-color: #111 !important;}
-#+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
-#+HTML_HEAD: </style>
+** 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:
-#+BEGIN_VERSE
-Makes lots of complex data intuitive to:
+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
 
-by extensively relying on:
-  - [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/index.html][realtime 3D graphics]] with immediate feedback loop
-  - [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][flexible and distributed computation and data storage]]
-#+END_VERSE
++ 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
 
-#+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 building blocks:
-  - [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][Data storage engine.]]
-
-  - [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/index.html][In software, pure Java realtime 3D rendering engine.]]
-    - [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][3D engine demos]]
++ 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://www2.svjatoslav.eu/gitbrowse/fifth/doc/index.html][Fifth]]
+    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.