Updated vision.
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Wed, 29 Jan 2020 19:24:44 +0000 (21:24 +0200)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Wed, 29 Jan 2020 19:24:44 +0000 (21:24 +0200)
doc/index.html
doc/index.org

index 5531fcd..8fdaced 100644 (file)
@@ -2,7 +2,7 @@
 <html lang="en">
 <head>
 <title>Sixth - system for data storage, computation, exploration and interaction</title>
-<!-- 2019-08-17 Sat 14:26 -->
+<!-- 2020-01-29 K 21:23 -->
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="generator" content="Org-mode">
@@ -255,31 +255,26 @@ Goal is, so called bicycle for the mind.
 </p>
 
 <p>
-A tool, that provides powerful, easy to use computing environment for
-solving wide range of problems.
+A tool, that provides powerful, extensible, adaptable, hackable, easy
+to use, general purpose environment for working with knowledge.
 </p>
 
 <p>
-<a href="#sec-2-1">See extensible, programmable computing environment examples</a>. In each
-case you can install or develop plugins/extensions for every purpose
-imaginable.
+<a href="#sec-2-1">See extensible, programmable computing environment examples</a>.
 </p>
 
 <p>
 I would like to create better general purpose environment with the
-following properties:
+following priorities:
 </p>
 
 <ul class="org-ul">
-<li>Makes data and insights easy to discover, understand and
-manipulate/transform.
+<li>Makes data and insights easy to discover, understand, manipulate,
+transform and visualize.
 </li>
 
-<li>Things are visual, realtime with immediate feedback.
-</li>
-
-<li>Extensively utilizes <a href="https://www3.svjatoslav.eu/projects/sixth-3d/">realtime 3D graphics</a> and capabilities of human
-visual perception.
+<li>Workflow and user interface is intuitive, visual, realtime,
+3D-first.
 
 <blockquote>
 <p>
@@ -288,23 +283,29 @@ Dr. Lawrence Angelo, The Lawnmower Man (1992)
 </p>
 </blockquote>
 </li>
-</ul>
 
+<li>Computations are done primarily in <a href="https://www3.svjatoslav.eu/projects/sixth-data/">on versioned data in distributed,
+scalable, arbitrary dimensional hypercube based geometrical
+computation engine</a>.
+</li>
 
-<ul class="org-ul">
-<li>Behind the scenes, computations are done primarily in<a href="https://www3.svjatoslav.eu/projects/sixth-data/"> on versioned
-data in distributed, scalable, frexible computation engine</a>.
+<li>Free and open.
 </li>
 
+<li>Network first:
+<ul class="org-ul">
 <li>Cross device:
 <ul class="org-ul">
-<li>Easily switch and/or combine computers to work seamlessly on any
-tasks.
+<li>Easily switch devices and still access same data, workspaces and
+visualizations.
+</li>
+<li>Easily access and combine storage and computing resources of
+other connected devices.
+</li>
+</ul>
 </li>
 
-<li>User interface, data, software, running proceses and available
-computing power is not contained or limited by boundaries of any
-single device.
+<li>Ability to collaborate (multi user).
 </li>
 </ul>
 </li>
@@ -316,24 +317,36 @@ single device.
 <div class="outline-text-3" id="text-2-1">
 <ul class="org-ul">
 <li><a href="https://www.johndcook.com/blog/2008/04/27/one-program-to-rule-them-all/">GNU Emacs</a> - At the heart, Emacs is text editor on top of Lisp
-runtime. Data storage and computation can be done in <a href="https://www.defmacro.org/ramblings/lisp.html">Lisp</a>. Domain
-specific languages to fit particular problem could be developed as
-needed and Emacs extended to support those languages. Emacs provides
-text buffers that can be used to build user interfaces.
+runtime. Data storage and computation can be done in <a href="https://www.defmacro.org/ramblings/lisp.html">Lisp</a>. Lisp is
+on itself programmable programming language where new paradigms can
+be added dynamically. Domain specific languages to fit particular
+problem could be developed as needed and Emacs extended to support
+those languages. Emacs provides text buffers that can be used to
+build user interfaces. So you can customize Emacs and Lisp to fit
+any problem domain.
 </li>
 
 <li><a href="https://www.eclipse.org/ide/">Eclipse IDE</a> - In essence <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> platform with a text
 editor. Computation done in java. Eclipse provides integration,
-runtime and GUI platform.
+runtime and GUI platform. One can develop Eclipse plugins to add
+necessary logic and visual parts to fit any problem. (IntelliJ and
+NetBeans have similar properties)
 </li>
 
 <li><a href="https://en.wikipedia.org/wiki/IBM_Notes">IBM Notes/Domino</a> - Custom database engine, software development
 platform, GUI editor, computation can be done in Java and
-LotusScript.
+LotusScript. You can build distributed business applications on it
+as a platform.
 </li>
 
 <li><a href="https://en.wikipedia.org/wiki/ABAP">SAP ABAP</a> - Custom database engine, runtime, GUI platform,
-development environment and programming language.
+development environment and programming language. Is being used as a
+platform to build business applications with any logic and UI.
+</li>
+
+<li><a href="https://en.wikipedia.org/wiki/Microsoft_Access">Microsoft Access</a> - Database management system that combines
+relational database engine with a graphical user interface and
+software-development tools.
 </li>
 </ul>
 </div>
@@ -350,7 +363,8 @@ development environment and programming language.
 </li>
 
 <li>System is nowhere near complete (given magnitude of effort required
-and my free time available). Contributions welcome ! :)
+and almost non-existent free time available). Contributions are
+welcome !
 </li>
 </ul>
 </div>
@@ -374,56 +388,11 @@ and my free time available). Contributions welcome ! :)
 </ul>
 </div>
 </div>
+
 <div id="outline-container-sec-5" class="outline-2">
-<h2 id="sec-5"><span class="section-number-2">5</span> Computation ideas</h2>
+<h2 id="sec-5"><span class="section-number-2">5</span> Frequently Given Answers</h2>
 <div class="outline-text-2" id="text-5">
 <ul class="org-ul">
-<li>Program - stored instructions for execution by computer.
-</li>
-
-<li>Process - Currently running program.
-<ul class="org-ul">
-<li>Process is self contained. Has a full copy of program code and
-every dependent library.
-
-<ul class="org-ul">
-<li>Memory used by processes is content addressed/deduplicated at
-low level in the system.
-</li>
-
-<li>This allows:
-<ul class="org-ul">
-<li>Upgrading software installed in the system without breaking
-already running processes.
-</li>
-
-<li>Easier migration of running processes between physical
-computers.
-</li>
-
-<li>Possibility to suspend/resume arbitrary processes to permament
-storage.
-</li>
-
-<li>Possibility checkpoint/revert running process.
-</li>
-
-<li>Possibility to clone/branch running process.
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-
-<div id="outline-container-sec-6" class="outline-2">
-<h2 id="sec-6"><span class="section-number-2">6</span> Frequently Given Answers</h2>
-<div class="outline-text-2" id="text-6">
-<ul class="org-ul">
 <li>Why such name ?
 <ul class="org-ul">
 <li>In short: it's just a number.
@@ -432,8 +401,8 @@ storage.
 language)</a> I decided to create my own implementation <a href="https://www3.svjatoslav.eu/projects/fifth/">Fifth</a>
 (computing/programming environment).
 </li>
-<li>Then I realized I miss type safe object oriented capabilities. So
-I updated the name to Sixth and switched to Java.
+<li>Forth/Fifth felt a bit too low-level language. So current
+project/approach is an attempt using Java.
 </li>
 </ul>
 </li>
@@ -455,15 +424,14 @@ I updated the name to Sixth and switched to Java.
 </li>
 <li><a href="#sec-3">3. Current status</a></li>
 <li><a href="#sec-4">4. Architecture / components</a></li>
-<li><a href="#sec-5">5. Computation ideas</a></li>
-<li><a href="#sec-6">6. Frequently Given Answers</a></li>
+<li><a href="#sec-5">5. Frequently Given Answers</a></li>
 </ul>
 </div>
 </nav>
 </div></div></div>
 <footer id="postamble" class="">
 <div><p class="author">Author: Svjatoslav Agejenko</p>
-<p class="date">Created: 2019-08-17 Sat 14:26</p>
+<p class="date">Created: 2020-01-29 K 21:23</p>
 <p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 26.1 (<a href="http://orgmode.org">Org-mode</a> 9.1.9)</p>
 </div>
 </footer>
index 8f0e2d2..6ad774c 100644 (file)
   :END:
 Goal is, so called bicycle for the mind.
 
-A tool, that provides powerful, easy to use computing environment for
-solving wide range of problems.
+A tool, that provides powerful, extensible, adaptable, hackable, easy
+to use, general purpose environment for working with knowledge.
 
-[[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.
+[[id:c19c5a3b-dfb0-4f7f-961c-a387b925669f][See extensible, programmable computing environment examples]].
 
 I would like to create better general purpose environment with the
-following properties:
+following priorities:
 
-+ Makes data and insights easy to discover, understand and
-  manipulate/transform.
++ Makes data and insights easy to discover, understand, manipulate,
+  transform and visualize.
 
-+ Things are visual, realtime with immediate feedback.
-
-+ Extensively utilizes [[https://www3.svjatoslav.eu/projects/sixth-3d/][realtime 3D graphics]] and capabilities of human
-  visual perception.
++ Workflow and user interface is intuitive, visual, realtime,
+  3D-first.
 
   #+BEGIN_QUOTE
   “Virtual reality holds the key to the evolution of the human mind”
   Dr. Lawrence Angelo, The Lawnmower Man (1992)
   #+END_QUOTE
 
++ Computations are done primarily in [[https://www3.svjatoslav.eu/projects/sixth-data/][on versioned data in distributed,
+  scalable, arbitrary dimensional hypercube based geometrical
+  computation engine]].
 
-+ Behind the scenes, computations are done primarily in[[https://www3.svjatoslav.eu/projects/sixth-data/][ on versioned
-  data in distributed, scalable, frexible computation engine]].
++ Free and open.
 
-+ Cross device:
-  + Easily switch and/or combine computers to work seamlessly on any
-    tasks.
++ Network first:
+  + Cross device:
+    + Easily switch devices and still access same data, workspaces and
+      visualizations.
+    + Easily access and combine storage and computing resources of
+      other connected devices.
 
-  + User interface, data, software, running proceses and available
-    computing power is not contained or limited by boundaries of any
-    single device.
+  + Ability to collaborate (multi user).
 
 ** 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]]. Domain
-  specific languages to fit particular problem could be developed as
-  needed and Emacs extended to support those languages. Emacs provides
-  text buffers that can be used to build user interfaces.
+  runtime. Data storage and computation can be done in [[https://www.defmacro.org/ramblings/lisp.html][Lisp]]. Lisp is
+  on itself programmable programming language where new paradigms can
+  be added dynamically. Domain specific languages to fit particular
+  problem could be developed as needed and Emacs extended to support
+  those languages. Emacs provides text buffers that can be used to
+  build user interfaces. So you can customize Emacs and Lisp to fit
+  any problem domain.
 
 + [[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.
+  runtime and GUI platform. One can develop Eclipse plugins to add
+  necessary logic and visual parts to fit any problem. (IntelliJ and
+  NetBeans have similar properties)
 
 + [[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.
+  LotusScript. You can build distributed business applications on it
+  as a platform.
 
 + [[https://en.wikipedia.org/wiki/ABAP][SAP ABAP]] - Custom database engine, runtime, GUI platform,
-  development environment and programming language.
+  development environment and programming language. Is being used as a
+  platform to build business applications with any logic and UI.
+
++ [[https://en.wikipedia.org/wiki/Microsoft_Access][Microsoft Access]] - Database management system that combines
+  relational database engine with a graphical user interface and
+  software-development tools.
 * 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 ! :)
+  and almost non-existent free time available). Contributions are
+  welcome !
 * Architecture / components
   :PROPERTIES:
   :ID:       52dbbf4c-2ef4-42a6-8331-ad006b6a52ae
@@ -109,29 +120,6 @@ following properties:
   + [[https://www3.svjatoslav.eu/projects/sixth-data/][Sixth Data]] - Data storage and computation engine.
   + [[https://www3.svjatoslav.eu/projects/sixth-3d/][Sixth 3D]] - 3D engine - for user interface and data visualization.
     + [[https://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 ?
@@ -139,5 +127,5 @@ following properties:
   - 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 [[https://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.
+  - Forth/Fifth felt a bit too low-level language. So current
+    project/approach is an attempt using Java.