Updated documentation.
[sixth.git] / doc / index.html
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <title>Sixth - system for data storage, computation, exploration and interaction</title>
5 <!-- 2018-12-17 Mon 20:57 -->
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width, initial-scale=1">
8 <meta name="generator" content="Org-mode">
9 <meta name="author" content="Svjatoslav Agejenko">
10 <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
11 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
12 <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
13 <style type="text/css">
14 footer {background-color: #111 !important;}
15 pre {background-color: #111; color: #ccc;}
16 </style>
17 <style type="text/css">
18 /* org mode styles on top of twbs */
19
20 html {
21     position: relative;
22     min-height: 100%;
23 }
24
25 body {
26     font-size: 18px;
27     margin-bottom: 105px;
28 }
29
30 footer {
31     position: absolute;
32     bottom: 0;
33     width: 100%;
34     height: 101px;
35     background-color: #f5f5f5;
36 }
37
38 footer > div {
39     padding: 10px;
40 }
41
42 footer p {
43     margin: 0 0 5px;
44     text-align: center;
45     font-size: 16px;
46 }
47
48 #table-of-contents {
49     margin-top: 20px;
50     margin-bottom: 20px;
51 }
52
53 blockquote p {
54     font-size: 18px;
55 }
56
57 pre {
58     font-size: 16px;
59 }
60
61 .footpara {
62     display: inline-block;
63 }
64
65 figcaption {
66   font-size: 16px;
67   color: #666;
68   font-style: italic;
69   padding-bottom: 15px;
70 }
71
72 /* from twbs docs */
73
74 .bs-docs-sidebar.affix {
75     position: static;
76 }
77 @media (min-width: 768px) {
78     .bs-docs-sidebar {
79         padding-left: 20px;
80     }
81 }
82
83 /* All levels of nav */
84 .bs-docs-sidebar .nav > li > a {
85     display: block;
86     padding: 4px 20px;
87     font-size: 14px;
88     font-weight: 500;
89     color: #999;
90 }
91 .bs-docs-sidebar .nav > li > a:hover,
92 .bs-docs-sidebar .nav > li > a:focus {
93     padding-left: 19px;
94     color: #A1283B;
95     text-decoration: none;
96     background-color: transparent;
97     border-left: 1px solid #A1283B;
98 }
99 .bs-docs-sidebar .nav > .active > a,
100 .bs-docs-sidebar .nav > .active:hover > a,
101 .bs-docs-sidebar .nav > .active:focus > a {
102     padding-left: 18px;
103     font-weight: bold;
104     color: #A1283B;
105     background-color: transparent;
106     border-left: 2px solid #A1283B;
107 }
108
109 /* Nav: second level (shown on .active) */
110 .bs-docs-sidebar .nav .nav {
111     display: none; /* Hide by default, but at >768px, show it */
112     padding-bottom: 10px;
113 }
114 .bs-docs-sidebar .nav .nav > li > a {
115     padding-top: 1px;
116     padding-bottom: 1px;
117     padding-left: 30px;
118     font-size: 12px;
119     font-weight: normal;
120 }
121 .bs-docs-sidebar .nav .nav > li > a:hover,
122 .bs-docs-sidebar .nav .nav > li > a:focus {
123     padding-left: 29px;
124 }
125 .bs-docs-sidebar .nav .nav > .active > a,
126 .bs-docs-sidebar .nav .nav > .active:hover > a,
127 .bs-docs-sidebar .nav .nav > .active:focus > a {
128     padding-left: 28px;
129     font-weight: 500;
130 }
131
132 /* Nav: third level (shown on .active) */
133 .bs-docs-sidebar .nav .nav .nav {
134     padding-bottom: 10px;
135 }
136 .bs-docs-sidebar .nav .nav .nav > li > a {
137     padding-top: 1px;
138     padding-bottom: 1px;
139     padding-left: 40px;
140     font-size: 12px;
141     font-weight: normal;
142 }
143 .bs-docs-sidebar .nav .nav .nav > li > a:hover,
144 .bs-docs-sidebar .nav .nav .nav > li > a:focus {
145     padding-left: 39px;
146 }
147 .bs-docs-sidebar .nav .nav .nav > .active > a,
148 .bs-docs-sidebar .nav .nav .nav > .active:hover > a,
149 .bs-docs-sidebar .nav .nav .nav > .active:focus > a {
150     padding-left: 38px;
151     font-weight: 500;
152 }
153
154 /* Show and affix the side nav when space allows it */
155 @media (min-width: 992px) {
156     .bs-docs-sidebar .nav > .active > ul {
157         display: block;
158     }
159     /* Widen the fixed sidebar */
160     .bs-docs-sidebar.affix,
161     .bs-docs-sidebar.affix-bottom {
162         width: 213px;
163     }
164     .bs-docs-sidebar.affix {
165         position: fixed; /* Undo the static from mobile first approach */
166         top: 20px;
167     }
168     .bs-docs-sidebar.affix-bottom {
169         position: absolute; /* Undo the static from mobile first approach */
170     }
171     .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav {
172         margin-top: 0;
173         margin-bottom: 0
174     }
175 }
176 @media (min-width: 1200px) {
177     /* Widen the fixed sidebar again */
178     .bs-docs-sidebar.affix-bottom,
179     .bs-docs-sidebar.affix {
180         width: 263px;
181     }
182 }
183 </style>
184 <script type="text/javascript">
185 $(function() {
186     'use strict';
187
188     $('.bs-docs-sidebar li').first().addClass('active');
189
190     $(document.body).scrollspy({target: '.bs-docs-sidebar'});
191
192     $('.bs-docs-sidebar').affix();
193 });
194 </script>
195 </head>
196 <body>
197 <div id="content" class="container">
198 <div class="row"><div class="col-md-9"><h1 class="title">Sixth - system for data storage, computation, exploration and interaction</h1>
199
200 <div id="outline-container-sec-1" class="outline-2">
201 <h2 id="sec-1"><span class="section-number-2">1</span> General</h2>
202 <div class="outline-text-2" id="text-1">
203 <ul class="org-ul">
204 <li>This program is free software: you can redistribute it and/or modify
205 it under the terms of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a> as
206 published by the Free Software Foundation, either version 3 of the
207 License, or (at your option) any later version.
208 </li>
209
210 <li>Program author:
211 <ul class="org-ul">
212 <li>Svjatoslav Agejenko
213 </li>
214 <li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
215 </li>
216 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
217 </li>
218 </ul>
219 </li>
220
221 <li><a href="http://www.svjatoslav.eu/projects/">Other software projects hosted at svjatoslav.eu</a>
222 </li>
223 </ul>
224 </div>
225
226 <div id="outline-container-sec-1-1" class="outline-3">
227 <h3 id="sec-1-1"><span class="section-number-3">1.1</span> Source code</h3>
228 <div class="outline-text-3" id="text-1-1">
229 <ul class="org-ul">
230 <li>Note - Sixth is currently empty parent/shell project. You can find
231 working code under <a href="#sec-4">sub-projects</a>.
232 </li>
233
234 <li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">Download latest snapshot in TAR GZ format</a>
235 </li>
236
237 <li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary">Browse Git repository online</a>
238 </li>
239
240 <li>Clone Git repository using command:
241 <pre class="example">
242 git clone http://www2.svjatoslav.eu/git/sixth.git
243 </pre>
244 </li>
245 </ul>
246 </div>
247 </div>
248 </div>
249 <div id="outline-container-sec-2" class="outline-2">
250 <h2 id="sec-2"><a id="ID-1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f" name="ID-1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f"></a><span class="section-number-2">2</span> Vision - A tool to amplify human ability</h2>
251 <div class="outline-text-2" id="text-2">
252 <p>
253 Idea is to design all encompassing, flexible and powerful virtual
254 environment where I can live in and very efficiently do all my
255 computing tasks enjoyably and with playful ease.
256 </p>
257
258 <p>
259 <a href="#sec-2-1">See extensible, programmable computing environment examples</a>. In each
260 case you can install or develop plugins/extensions for every purpose
261 imaginable.
262 </p>
263
264 <p>
265 I would like to create better general purpose environment with the
266 following properties:
267 </p>
268
269 <ul class="org-ul">
270 <li>Makes lots of complex data intuitive to:
271 <ul class="org-ul">
272 <li>explore, understand
273 </li>
274 <li>manipulate and compute on
275 </li>
276 </ul>
277 </li>
278
279 <li>Extensively relying on:
280 <ul class="org-ul">
281 <li><a href="http://www3.svjatoslav.eu/projects/sixth-3d/">Realtime 3D graphics</a> with immediate feedback loop.
282 </li>
283 </ul>
284 <blockquote>
285 <p>
286 “Virtual reality holds the key to the evolution of the human mind”
287 Dr. Lawrence Angelo, The Lawnmower Man (1992)
288 </p>
289 </blockquote>
290 </li>
291
292 <li><a href="http://www3.svjatoslav.eu/projects/sixth-data/">Flexible and distributed computation and data storage</a>.
293 </li>
294
295 <li>Cross device:
296 <ul class="org-ul">
297 <li>Easily switch and/or combine computers to work seamlessly on any
298 tasks.
299 </li>
300
301 <li>User interface, data, software, running proceses and available
302 computing power is not contained or limited by boundaries of any
303 single device.
304 </li>
305 </ul>
306 </li>
307 </ul>
308 </div>
309
310 <div id="outline-container-sec-2-1" class="outline-3">
311 <h3 id="sec-2-1"><a id="ID-c19c5a3b-dfb0-4f7f-961c-a387b925669f" name="ID-c19c5a3b-dfb0-4f7f-961c-a387b925669f"></a><span class="section-number-3">2.1</span> Extensible, programmable computing environment examples</h3>
312 <div class="outline-text-3" id="text-2-1">
313 <dl class="org-dl">
314 <dt> <a href="https://www.johndcook.com/blog/2008/04/27/one-program-to-rule-them-all/">GNU Emacs</a> </dt><dd>At the heart, Emacs is text editor on top of Lisp
315 runtime. Data storage and computation can be done in
316 <a href="https://www.defmacro.org/ramblings/lisp.html">Lisp</a>. Emacs provides text buffers that can be used to
317 build GUI.
318 </dd>
319
320 <dt> <a href="https://www.eclipse.org/ide/">Eclipse IDE</a> </dt><dd>In essence <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> platform with a text
321 editor. Computation done in java. Eclipse provides
322 integration, runtime and GUI platform.
323 </dd>
324
325 <dt> <a href="https://en.wikipedia.org/wiki/IBM_Notes">IBM Notes/Domino</a> </dt><dd>Custom database engine, software development
326 platform, GUI editor, computation can be done in Java and
327 LotusScript.
328 </dd>
329
330 <dt> <a href="https://en.wikipedia.org/wiki/ABAP">SAP ABAP</a> </dt><dd>Custom database engine, runtime, GUI platform,
331 development environment and programming language.
332 </dd>
333 </dl>
334 </div>
335 </div>
336 </div>
337 <div id="outline-container-sec-3" class="outline-2">
338 <h2 id="sec-3"><span class="section-number-2">3</span> Current status</h2>
339 <div class="outline-text-2" id="text-3">
340 <ul class="org-ul">
341 <li>Formulated high-level <a href="#sec-2">vision / goal</a>.
342 </li>
343
344 <li>In the process of implementing some of <a href="#sec-4">building blocks</a>.
345 </li>
346
347 <li>System is nowhere near complete (given magnitude of effort required
348 and my free time available). Contributions welcome ! :)
349 </li>
350 </ul>
351 </div>
352 </div>
353 <div id="outline-container-sec-4" class="outline-2">
354 <h2 id="sec-4"><a id="ID-52dbbf4c-2ef4-42a6-8331-ad006b6a52ae" name="ID-52dbbf4c-2ef4-42a6-8331-ad006b6a52ae"></a><span class="section-number-2">4</span> Architecture / components</h2>
355 <div class="outline-text-2" id="text-4">
356 <ul class="org-ul">
357 <li><a href="http://www3.svjatoslav.eu/projects/sixth/">Sixth</a> - Parent project.
358 <ul class="org-ul">
359 <li><a href="http://www3.svjatoslav.eu/projects/sixth-data/">Sixth Data</a> - Data storage and computation engine.
360 </li>
361 <li><a href="http://www3.svjatoslav.eu/projects/sixth-3d/">Sixth 3D</a> - 3D engine - for user interface and data visualization.
362 <ul class="org-ul">
363 <li><a href="http://www3.svjatoslav.eu/projects/sixth-3d-demos/">Sixth 3D engine demos</a> - Demonstration of Sixth 3D engine capabilities.
364 </li>
365 </ul>
366 </li>
367 </ul>
368 </li>
369 </ul>
370 </div>
371 </div>
372 <div id="outline-container-sec-5" class="outline-2">
373 <h2 id="sec-5"><span class="section-number-2">5</span> Computation ideas</h2>
374 <div class="outline-text-2" id="text-5">
375 <ul class="org-ul">
376 <li>Program - stored instructions for execution by computer.
377 </li>
378
379 <li>Process - Currently running program.
380 <ul class="org-ul">
381 <li>Process is self contained. Has a full copy of program code and
382 every dependent library.
383
384 <ul class="org-ul">
385 <li>Memory used by processes is content addressed/deduplicated at
386 low level in the system.
387 </li>
388
389 <li>This allows:
390 <ul class="org-ul">
391 <li>Upgrading software installed in the system without breaking
392 already running processes.
393 </li>
394
395 <li>Easier migration of running processes between physical
396 computers.
397 </li>
398
399 <li>Possibility to suspend/resume arbitrary processes to permament
400 storage.
401 </li>
402
403 <li>Possibility checkpoint/revert running process.
404 </li>
405
406 <li>Possibility to clone/branch running process.
407 </li>
408 </ul>
409 </li>
410 </ul>
411 </li>
412 </ul>
413 </li>
414 </ul>
415 </div>
416 </div>
417
418 <div id="outline-container-sec-6" class="outline-2">
419 <h2 id="sec-6"><span class="section-number-2">6</span> Frequently Given Answers</h2>
420 <div class="outline-text-2" id="text-6">
421 <ul class="org-ul">
422 <li>Why such name ?
423 <ul class="org-ul">
424 <li>In short: it's just a number.
425 </li>
426 <li>Many years ago inspired by the ideas of <a href="https://en.wikipedia.org/wiki/Forth_(programming_language)">Forth (programming
427 language)</a> I decided to create my own implementation <a href="http://www3.svjatoslav.eu/projects/fifth/">Fifth</a>
428 (computing/programming environment).
429 </li>
430 <li>Then I realized I miss type safe object oriented capabilities. So
431 I updated the name to Sixth and switched to Java.
432 </li>
433 </ul>
434 </li>
435 </ul>
436 </div>
437 </div>
438 </div><div class="col-md-3"><nav id="table-of-contents">
439 <div id="text-table-of-contents" class="bs-docs-sidebar">
440 <ul class="nav">
441 <li><a href="#sec-1">1. General</a>
442 <ul class="nav">
443 <li><a href="#sec-1-1">1.1. Source code</a></li>
444 </ul>
445 </li>
446 <li><a href="#sec-2">2. Vision - A tool to amplify human ability</a>
447 <ul class="nav">
448 <li><a href="#sec-2-1">2.1. Extensible, programmable computing environment examples</a></li>
449 </ul>
450 </li>
451 <li><a href="#sec-3">3. Current status</a></li>
452 <li><a href="#sec-4">4. Architecture / components</a></li>
453 <li><a href="#sec-5">5. Computation ideas</a></li>
454 <li><a href="#sec-6">6. Frequently Given Answers</a></li>
455 </ul>
456 </div>
457 </nav>
458 </div></div></div>
459 <footer id="postamble" class="">
460 <div><p class="author">Author: Svjatoslav Agejenko</p>
461 <p class="date">Created: 2018-12-17 Mon 20:57</p>
462 <p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.2.2 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
463 </div>
464 </footer>
465 </body>
466 </html>