Added "Why such name ?" section.
[sixth.git] / doc / index.org
1 #+TITLE: Sixth - system for data storage, computation, exploration and interaction
2
3 -----
4 - [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]]
5
6 - This program is free software; you can redistribute it and/or modify it under
7   the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as
8   published by the Free Software Foundation.
9
10 - Program author:
11   - Svjatoslav Agejenko
12   - Homepage: http://svjatoslav.eu
13   - Email: mailto://svjatoslav@svjatoslav.eu
14
15 - [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
16
17 * (document settings) :noexport:
18 ** use dark style for TWBS-HTML exporter
19 #+HTML_HEAD: <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
20 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
21 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
22 #+HTML_HEAD: <style type="text/css">
23 #+HTML_HEAD:   footer {background-color: #111 !important;}
24 #+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
25 #+HTML_HEAD: </style>
26
27 * Vision / goal - A tool to amplify human ability
28   :PROPERTIES:
29   :ID:       1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f
30   :END:
31 In short, this is what I want:
32
33 - [[id:4224d52c-2ee1-411a-bd89-77c286322b21][Perfect data storage and computation engine]]
34
35 - Feeds lots of complex data into your brain in intuitive to explore,
36   understand and manipulate form by extensively relying on realtime 3D
37   graphics and fast feedback loop. (including virtual reality support)
38
39     #+BEGIN_QUOTE
40     “Virtual reality holds the key to the evolution of the human mind”
41     Dr. Lawrence Angelo, The Lawnmower Man (1992)
42     #+END_QUOTE
43
44 - Why such name ?
45   - In short: it's just a number.
46   - Many years ago inspired by the ideas of [[https://en.wikipedia.org/wiki/Forth_(programming_language)][Forth (programming
47     language)]] I decided to create my own implementation [[http://www2.svjatoslav.eu/gitbrowse/fifth/doc/index.html][Fifth]]
48     (computing/programming environment).
49   - Then I realized I miss type safe object oriented capabilities. So
50     I updated the name to Sixth and switched to Java.
51
52 ** Perfect data storage and computation engine
53   :PROPERTIES:
54   :ID:       4224d52c-2ee1-411a-bd89-77c286322b21
55   :END:
56
57 I hate to choose between good things. Figuring out a way to combine
58 below properties in one system would be beyond awesome.
59
60 (That`s the high level overview, details are slowly being worked
61 out...)
62
63 *** Computation
64 + Lisp (programming language):
65   + Almost no syntax.
66   + Code and data intercangeable.
67   + Easily self modifying.
68   + (The big Lisp idea: https://dev.to/ericnormand/the-idea-of-lisp )
69
70 + Smalltalk (programming language / runtime):
71   + Everything is object.
72   + On the fly modifiable / reprogrammable.
73   + Anything can be suspended/resumed from persistent storage on the
74     fly.
75
76 + Hadoop (computation system):
77   + Many individual connected computers behave as one big
78     computer. System is horizontally linearly scalable.
79   + Programming abstraction and execution model that naturally divides
80     problems te be solved in parallel and result easily combined.
81   + Data is spread across nodes, automatic failover, built in
82     resiliency.
83   + Small pieces of code are automatically transferred to the node
84     that contains relatively big data that needs processing (network
85     efficiency).
86
87 *** Data storage
88 See: [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][Sixth data subproject]]
89
90 + Relational databases:
91   + Transactional
92   + Indexable / Quickly searchable
93
94 + Git (version control system)
95   + Versionable
96   + Branchable / mergeable.
97   + Transparent cansistency, checksumming and deduplication.
98   + (Git as a database:
99     https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/ )
100
101 * Current status
102 + Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]].
103
104 + In the process of implementing some of building blocks:
105   - [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][Data storage engine.]]
106
107   - [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/index.html][In software, pure Java realtime 3D rendering engine.]]
108     - [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][3D engine demos]]
109
110 + System is nowhere near complete (given magnitude of effort required
111   and my free time available). Contributions welcome ! :)