From 1b6e8b2a28e00c0b8ba5c9978aeebc92e3ab0481 Mon Sep 17 00:00:00 2001
From: Svjatoslav Agejenko
Date: Wed, 29 Jan 2020 21:24:44 +0200
Subject: [PATCH] Updated vision.
---
doc/index.html | 134 +++++++++++++++++++------------------------------
doc/index.org | 94 +++++++++++++++-------------------
2 files changed, 92 insertions(+), 136 deletions(-)
diff --git a/doc/index.html b/doc/index.html
index 5531fcd..8fdaced 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -2,7 +2,7 @@
Sixth - system for data storage, computation, exploration and interaction
-
+
@@ -255,31 +255,26 @@ 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.
Easily switch and/or combine computers to work seamlessly on any
-tasks.
+
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).
@@ -316,24 +317,36 @@ single device.
GNU Emacs - At the heart, Emacs is text editor on top of Lisp
-runtime. Data storage and computation can be done in 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 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.
Eclipse IDE - In essence 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)
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.
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.
+
+
+
Microsoft Access - Database management system that combines
+relational database engine with a graphical user interface and
+software-development tools.
@@ -350,7 +363,8 @@ development environment and programming language.
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 !
@@ -374,56 +388,11 @@ and my free time available). Contributions welcome ! :)
+
-
5 Computation ideas
+
5 Frequently Given Answers
-
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.
-
-
-
-
-
-
-
-
-
-
-
-
-
6 Frequently Given Answers
-
-
Why such name ?
In short: it's just a number.
@@ -432,8 +401,8 @@ storage.
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.
+
Forth/Fifth felt a bit too low-level language. So current
+project/approach is an attempt using Java.
@@ -455,15 +424,14 @@ I updated the name to Sixth and switched to Java.
diff --git a/doc/index.org b/doc/index.org
index 8f0e2d2..6ad774c 100644
--- a/doc/index.org
+++ b/doc/index.org
@@ -39,68 +39,79 @@
: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.
--
2.20.1