5e5ddc26db6854ccde3b62e56205aa015921206d
[sixth.git] / doc / index.org
1 #+TITLE: Sixth - system for data storage, computation, exploration and interaction
2
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;}
11 #+HTML_HEAD: </style>
12
13 * General
14 - This program is free software: you can redistribute it and/or modify
15   it under the terms of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] as
16   published by the Free Software Foundation, either version 3 of the
17   License, or (at your option) any later version.
18
19 - Program author:
20   - Svjatoslav Agejenko
21   - Homepage: http://svjatoslav.eu
22   - Email: mailto://svjatoslav@svjatoslav.eu
23
24 - [[http://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
25
26 ** Source code
27 - [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]]
28
29 - [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary][Browse Git repository online]]
30
31 - Clone Git repository using command:
32   : git clone http://www2.svjatoslav.eu/git/sixth.git
33
34 * Vision - A tool to amplify human ability
35   :PROPERTIES:
36   :ID:       1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f
37   :END:
38 Idea is to design all encompassing, flexible and powerful virtual
39 environment where I can live in and very efficiently do all my
40 computing tasks enjoyably and with playful ease.
41
42 Examples of extendable environments where one can live in and do
43   almost everything:
44   + [[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 [[https://www.ibm.com/developerworks/library/j-cb02067/j-cb02067-pdf.pdf][Lisp]]
45                  runtime.
46
47   + [[https://www.eclipse.org/ide/][Eclipse IDE]] :: In essence [[https://en.wikipedia.org/wiki/OSGi][OSGi]] platform with a text editor.
48
49 In both cases you can develop/install plugins for every purpose
50 imaginable.
51
52
53 I would like to create general purpose environment with the following
54 properties:
55
56 + Makes lots of complex data intuitive to:
57   - explore, understand
58   - manipulate and compute on
59
60 + Extensively relying on:
61   - [[http://www3.svjatoslav.eu/projects/sixth-3d/][Realtime 3D graphics]] with immediate feedback loop.
62
63   #+BEGIN_QUOTE
64   “Virtual reality holds the key to the evolution of the human mind”
65   Dr. Lawrence Angelo, The Lawnmower Man (1992)
66   #+END_QUOTE
67
68 + [[http://www3.svjatoslav.eu/projects/sixth-data/][Flexible and distributed computation and data storage]].
69
70 + Cross device:
71   + Easily switch and/or combine computers to work seamlessly on any
72     tasks.
73
74   + User interface, data, software, running proceses etc are not
75     contained to any device.
76
77 * Current status
78 + Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]].
79
80 + In the process of implementing some of building blocks:
81   - [[http://www3.svjatoslav.eu/projects/sixth-data/][Data storage engine.]]
82
83   - [[http://www3.svjatoslav.eu/projects/sixth-3d/][In software, pure Java realtime 3D rendering engine.]]
84     - [[http://www3.svjatoslav.eu/projects/sixth-3d-demos/][3D engine demos]]
85
86 + System is nowhere near complete (given magnitude of effort required
87   and my free time available). Contributions welcome ! :)
88
89 * Computation ideas
90 + Program - stored instructions for execution by computer.
91
92 + Process - Currently running program.
93   + Process is self contained. Has a full copy of program code and
94     every dependent library.
95
96     + Memory used by processes is content addressed/deduplicated at
97       low level in the system.
98
99     + This allows:
100       + Upgrading software installed in the system without breaking
101         already running processes.
102
103       + Easier migration of running processes between physical
104         computers.
105
106       + Possibility to suspend/resume arbitrary processes to permament
107         storage.
108
109       + Possibility checkpoint/revert running process.
110
111       + Possibility to clone/branch running process.
112
113 * Frequently Given Answers
114 - Why such name ?
115   - In short: it's just a number.
116   - Many years ago inspired by the ideas of [[https://en.wikipedia.org/wiki/Forth_(programming_language)][Forth (programming
117     language)]] I decided to create my own implementation [[http://www3.svjatoslav.eu/projects/fifth/][Fifth]]
118     (computing/programming environment).
119   - Then I realized I miss type safe object oriented capabilities. So
120     I updated the name to Sixth and switched to Java.