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: released under Creative Commons Zero
19 - Homepage: https://svjatoslav.eu
20 - Email: mailto://svjatoslav@svjatoslav.eu
22 - [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
25 + Note - Sixth is currently empty parent/shell project. You can find
26 working code under [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][sub-projects]].
28 - [[https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]]
30 - [[https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary][Browse Git repository online]]
32 - Clone Git repository using command:
33 : git clone https://www2.svjatoslav.eu/git/sixth.git
34 * Vision - A tool to amplify human ability
36 :ID: 1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f
38 Goal is, so called bicycle for the mind.
40 A tool, that provides powerful, extensible, adaptable, hackable, easy
41 to use, general purpose computing environment for working with
44 [[id:c19c5a3b-dfb0-4f7f-961c-a387b925669f][See extensible, programmable computing environment examples]].
46 I would like to create better general purpose computing environment
47 with the following priorities:
49 + Makes data and insights easy to discover, understand, manipulate,
50 transform and visualize.
52 + Workflow and user interface is intuitive, visual, realtime,
56 “Virtual reality holds the key to the evolution of the human mind”
57 Dr. Lawrence Angelo, The Lawnmower Man (1992)
60 + Computations are done primarily in [[https://www3.svjatoslav.eu/projects/sixth-data/][on versioned data in distributed,
61 scalable, arbitrary dimensional hypercube based geometrical
68 + Easily switch devices and still access same data, workspaces and
70 + Easily access and combine storage and computing resources of
71 other connected devices.
73 + Ability to collaborate (multi user).
75 ** Extensible, programmable computing environment examples
77 :ID: c19c5a3b-dfb0-4f7f-961c-a387b925669f
79 + [[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
80 runtime. Data storage and computation can be done in [[https://www.defmacro.org/ramblings/lisp.html][Lisp]]. Lisp is
81 on itself programmable programming language where new paradigms can
82 be added dynamically. Domain specific languages to fit particular
83 problem could be developed as needed and Emacs extended to support
84 those languages. Emacs provides text buffers that can be used to
85 build user interfaces. So you can customize Emacs and Lisp to fit
88 + [[https://www.eclipse.org/ide/][Eclipse IDE]] - In essence [[https://en.wikipedia.org/wiki/OSGi][OSGi]] platform with a text
89 editor. Computation done in java. Eclipse provides integration,
90 runtime and GUI platform. One can develop Eclipse plugins to add
91 necessary logic and visual parts to fit any problem. (IntelliJ and
92 NetBeans have similar properties)
94 + [[https://en.wikipedia.org/wiki/IBM_Notes][IBM Notes/Domino]] - Custom database engine, software development
95 platform, GUI editor, computation can be done in Java and
96 LotusScript. You can build distributed business applications on it
99 + [[https://en.wikipedia.org/wiki/ABAP][SAP ABAP]] - Custom database engine, runtime, GUI platform,
100 development environment and programming language. Is being used as a
101 platform to build business applications with any logic and UI.
103 + [[https://en.wikipedia.org/wiki/Microsoft_Access][Microsoft Access]] - Database management system that combines
104 relational database engine with a graphical user interface and
105 software-development tools.
107 + Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]].
109 + In the process of implementing some of [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][building blocks]].
111 + System is nowhere near complete (given magnitude of effort required
112 and almost non-existent free time available). Contributions are
114 * Architecture / components
116 :ID: 52dbbf4c-2ef4-42a6-8331-ad006b6a52ae
118 + [[https://www3.svjatoslav.eu/projects/sixth/][Sixth]] - Parent project.
119 + [[https://www3.svjatoslav.eu/projects/sixth-data/][Sixth Data]] - Data storage and computation engine.
120 + [[https://www3.svjatoslav.eu/projects/sixth-3d/][Sixth 3D]] - 3D engine - for user interface and data visualization.
121 + [[https://www3.svjatoslav.eu/projects/sixth-3d-demos/][Sixth 3D engine demos]] - Demonstration of Sixth 3D engine capabilities.
123 * Frequently Given Answers
125 - In short: it's just a number.
126 - Many years ago inspired by the ideas of [[https://en.wikipedia.org/wiki/Forth_(programming_language)][Forth (programming
127 language)]] I decided to create my own implementation [[https://www3.svjatoslav.eu/projects/fifth/][Fifth]]
128 (computing/programming environment).
129 - Forth/Fifth felt a bit too low-level language. So current
130 project/approach is an attempt using Java.
132 Following projects are inspiring or have similar goals:
134 + [[https://github.com/kaveh808/kons-9][kons-9]]: An IDE For 3D Production. The intention is to develop a
135 flexible and extensible system in which can be built a wide variety
136 of application and domain specific tools and packages.
138 + [[https://gtoolkit.com/][Glamorous Toolkit]]: Moldable development environment. It is a live
139 notebook. It is a flexible search interface. It is a fancy code
140 editor. It is a software analysis platform. It is a data
141 visualization engine. All in one.
143 ** Computation on multi dimensional data
144 + [[https://rd-alliance.org/system/files/Array-Databases_final-report.pdf][Array Databases: Concepts, Standards, Implementations]]
146 + [[https://tiledb.com/][TileDB]]
147 + Analyze and share complex multi-dimensional data at scale
149 + [[id:01aa65c1-3d44-44a8-9b90-58454bc6be80][CM-1 Connection Machine]]
151 + [[https://lisp-stat.dev/][Lisp-Stat: An environment for Statistical Computing]]
152 ** Distributed, reliable, parallel computing systems
153 + [[https://github.com/vygr/ChrysaLisp][ChrysaLisp]]
154 + Assembler/C-Script/Lisp 64 bit, MIMD, multi CPU, multi threaded,
155 multi core, multi user Parallel OS. With GUI, Terminal, OO
156 Assembler, Class libraries, C-Script compiler, Lisp interpreter,
157 Debugger, and more...
159 + [[http://www.uruk.org/emu/Taos.html][TAOS]]
160 + Completely distributed operating system/virtual machine:
162 + [[http://esug.org/data/ESUG2015/3%20wednesday/1100-1130%20SQL%20Queries%20on%20Smalltalk%20Objects/SQL%20Queries%20in%20Smalltalk%20(James%20Foster).pdf][Gemstone/S]]
163 + Completely distributed smalltalk based computing
166 + http://phantomos.org/
167 + Programs run forever. System crash or reboot does not destroy
168 state of running program.
170 + [[http://wiki.squeak.org/squeak/2665][Magma]]
171 + Multi-user object database for Squeak