Added mentions for interesting projects
[sixth.git] / doc / index.org
index c526378..e758bb7 100644 (file)
 #+HTML_HEAD: </style>
 
 * 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.
+- This program is free software: released under Creative Commons Zero
+  (CC0) license
 
 - Program author:
   - Svjatoslav Agejenko
-  - Homepage: http://svjatoslav.eu
+  - Homepage: https://svjatoslav.eu
   - Email: mailto://svjatoslav@svjatoslav.eu
 
-- [[http://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
+- [[https://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]]
+- [[https://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]]
+- [[https://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
+  : git clone https://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.
+Goal is, so called bicycle for the mind.
 
-[[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.
+A tool, that provides powerful, extensible, adaptable, hackable, easy
+to use, general purpose computing environment for working with
+knowledge.
 
-I would like to create better general purpose environment with the
-following properties:
+[[id:c19c5a3b-dfb0-4f7f-961c-a387b925669f][See extensible, programmable computing environment examples]].
 
-+ Makes lots of complex data intuitive to:
-  - explore, understand
-  - manipulate and compute on
+I would like to create better general purpose computing environment
+with the following priorities:
 
-+ Extensively relying on:
-  - [[http://www3.svjatoslav.eu/projects/sixth-3d/][Realtime 3D graphics]] with immediate feedback loop.
++ Makes data and insights easy to discover, understand, manipulate,
+  transform and visualize.
+
++ 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
 
-+ [[http://www3.svjatoslav.eu/projects/sixth-data/][Flexible and distributed computation and data storage]].
++ 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]].
+
++ 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]]. 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.
++ [[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]]. 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. 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. 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. 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
   :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.
++ [[https://www3.svjatoslav.eu/projects/sixth/][Sixth]] - Parent project.
+  + [[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.
+
+* 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 [[https://www3.svjatoslav.eu/projects/fifth/][Fifth]]
+    (computing/programming environment).
+  - Forth/Fifth felt a bit too low-level language. So current
+    project/approach is an attempt using Java.
+* See also
+Following projects are inspiring or have similar goals:
 
-+ Process - Currently running program.
-  + Process is self contained. Has a full copy of program code and
-    every dependent library.
++ [[https://github.com/kaveh808/kons-9][kons-9]]: An IDE For 3D Production. The intention is to develop a
+  flexible and extensible system in which can be built a wide variety
+  of application and domain specific tools and packages.
 
-    + Memory used by processes is content addressed/deduplicated at
-      low level in the system.
++ [[https://gtoolkit.com/][Glamorous Toolkit]]: Moldable development environment. It is a live
+  notebook. It is a flexible search interface. It is a fancy code
+  editor. It is a software analysis platform. It is a data
+  visualization engine. All in one.
 
-    + This allows:
-      + Upgrading software installed in the system without breaking
-        already running processes.
+** Computation on multi dimensional data
++ [[https://rd-alliance.org/system/files/Array-Databases_final-report.pdf][Array Databases: Concepts, Standards, Implementations]]
 
-      + Easier migration of running processes between physical
-        computers.
++ [[https://tiledb.com/][TileDB]]
+  + Analyze and share complex multi-dimensional data at scale
 
-      + Possibility to suspend/resume arbitrary processes to permament
-        storage.
++ [[id:01aa65c1-3d44-44a8-9b90-58454bc6be80][CM-1 Connection Machine]]
 
-      + Possibility checkpoint/revert running process.
++ [[https://lisp-stat.dev/][Lisp-Stat: An environment for Statistical Computing]]
+** Distributed, reliable, parallel computing systems
++ [[https://github.com/vygr/ChrysaLisp][ChrysaLisp]]
+  + Assembler/C-Script/Lisp 64 bit, MIMD, multi CPU, multi threaded,
+    multi core, multi user Parallel OS. With GUI, Terminal, OO
+    Assembler, Class libraries, C-Script compiler, Lisp interpreter,
+    Debugger, and more...
 
-      + Possibility to clone/branch running process.
++ [[http://www.uruk.org/emu/Taos.html][TAOS]]
+  + Completely distributed operating system/virtual machine:
 
-* 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.
++ [[http://esug.org/data/ESUG2015/3%20wednesday/1100-1130%20SQL%20Queries%20on%20Smalltalk%20Objects/SQL%20Queries%20in%20Smalltalk%20(James%20Foster).pdf][Gemstone/S]]
+  + Completely distributed smalltalk based computing
+    system.
+
++ http://phantomos.org/
+  + Programs run forever. System crash or reboot does not destroy
+    state of running program.
+
++ [[http://wiki.squeak.org/squeak/2665][Magma]]
+  + Multi-user object database for Squeak