Added mentions for interesting projects
[sixth.git] / doc / index.html
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 <head>
6 <!-- 2022-10-30 Sun 12:26 -->
7 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 <title>Sixth - system for data storage, computation, exploration and interaction</title>
10 <meta name="author" content="Svjatoslav Agejenko" />
11 <meta name="generator" content="Org Mode" />
12 <style>
13   #content { max-width: 60em; margin: auto; }
14   .title  { text-align: center;
15              margin-bottom: .2em; }
16   .subtitle { text-align: center;
17               font-size: medium;
18               font-weight: bold;
19               margin-top:0; }
20   .todo   { font-family: monospace; color: red; }
21   .done   { font-family: monospace; color: green; }
22   .priority { font-family: monospace; color: orange; }
23   .tag    { background-color: #eee; font-family: monospace;
24             padding: 2px; font-size: 80%; font-weight: normal; }
25   .timestamp { color: #bebebe; }
26   .timestamp-kwd { color: #5f9ea0; }
27   .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
28   .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
29   .org-center { margin-left: auto; margin-right: auto; text-align: center; }
30   .underline { text-decoration: underline; }
31   #postamble p, #preamble p { font-size: 90%; margin: .2em; }
32   p.verse { margin-left: 3%; }
33   pre {
34     border: 1px solid #e6e6e6;
35     border-radius: 3px;
36     background-color: #f2f2f2;
37     padding: 8pt;
38     font-family: monospace;
39     overflow: auto;
40     margin: 1.2em;
41   }
42   pre.src {
43     position: relative;
44     overflow: auto;
45   }
46   pre.src:before {
47     display: none;
48     position: absolute;
49     top: -8px;
50     right: 12px;
51     padding: 3px;
52     color: #555;
53     background-color: #f2f2f299;
54   }
55   pre.src:hover:before { display: inline; margin-top: 14px;}
56   /* Languages per Org manual */
57   pre.src-asymptote:before { content: 'Asymptote'; }
58   pre.src-awk:before { content: 'Awk'; }
59   pre.src-authinfo::before { content: 'Authinfo'; }
60   pre.src-C:before { content: 'C'; }
61   /* pre.src-C++ doesn't work in CSS */
62   pre.src-clojure:before { content: 'Clojure'; }
63   pre.src-css:before { content: 'CSS'; }
64   pre.src-D:before { content: 'D'; }
65   pre.src-ditaa:before { content: 'ditaa'; }
66   pre.src-dot:before { content: 'Graphviz'; }
67   pre.src-calc:before { content: 'Emacs Calc'; }
68   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
69   pre.src-fortran:before { content: 'Fortran'; }
70   pre.src-gnuplot:before { content: 'gnuplot'; }
71   pre.src-haskell:before { content: 'Haskell'; }
72   pre.src-hledger:before { content: 'hledger'; }
73   pre.src-java:before { content: 'Java'; }
74   pre.src-js:before { content: 'Javascript'; }
75   pre.src-latex:before { content: 'LaTeX'; }
76   pre.src-ledger:before { content: 'Ledger'; }
77   pre.src-lisp:before { content: 'Lisp'; }
78   pre.src-lilypond:before { content: 'Lilypond'; }
79   pre.src-lua:before { content: 'Lua'; }
80   pre.src-matlab:before { content: 'MATLAB'; }
81   pre.src-mscgen:before { content: 'Mscgen'; }
82   pre.src-ocaml:before { content: 'Objective Caml'; }
83   pre.src-octave:before { content: 'Octave'; }
84   pre.src-org:before { content: 'Org mode'; }
85   pre.src-oz:before { content: 'OZ'; }
86   pre.src-plantuml:before { content: 'Plantuml'; }
87   pre.src-processing:before { content: 'Processing.js'; }
88   pre.src-python:before { content: 'Python'; }
89   pre.src-R:before { content: 'R'; }
90   pre.src-ruby:before { content: 'Ruby'; }
91   pre.src-sass:before { content: 'Sass'; }
92   pre.src-scheme:before { content: 'Scheme'; }
93   pre.src-screen:before { content: 'Gnu Screen'; }
94   pre.src-sed:before { content: 'Sed'; }
95   pre.src-sh:before { content: 'shell'; }
96   pre.src-sql:before { content: 'SQL'; }
97   pre.src-sqlite:before { content: 'SQLite'; }
98   /* additional languages in org.el's org-babel-load-languages alist */
99   pre.src-forth:before { content: 'Forth'; }
100   pre.src-io:before { content: 'IO'; }
101   pre.src-J:before { content: 'J'; }
102   pre.src-makefile:before { content: 'Makefile'; }
103   pre.src-maxima:before { content: 'Maxima'; }
104   pre.src-perl:before { content: 'Perl'; }
105   pre.src-picolisp:before { content: 'Pico Lisp'; }
106   pre.src-scala:before { content: 'Scala'; }
107   pre.src-shell:before { content: 'Shell Script'; }
108   pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
109   /* additional language identifiers per "defun org-babel-execute"
110        in ob-*.el */
111   pre.src-cpp:before  { content: 'C++'; }
112   pre.src-abc:before  { content: 'ABC'; }
113   pre.src-coq:before  { content: 'Coq'; }
114   pre.src-groovy:before  { content: 'Groovy'; }
115   /* additional language identifiers from org-babel-shell-names in
116      ob-shell.el: ob-shell is the only babel language using a lambda to put
117      the execution function name together. */
118   pre.src-bash:before  { content: 'bash'; }
119   pre.src-csh:before  { content: 'csh'; }
120   pre.src-ash:before  { content: 'ash'; }
121   pre.src-dash:before  { content: 'dash'; }
122   pre.src-ksh:before  { content: 'ksh'; }
123   pre.src-mksh:before  { content: 'mksh'; }
124   pre.src-posh:before  { content: 'posh'; }
125   /* Additional Emacs modes also supported by the LaTeX listings package */
126   pre.src-ada:before { content: 'Ada'; }
127   pre.src-asm:before { content: 'Assembler'; }
128   pre.src-caml:before { content: 'Caml'; }
129   pre.src-delphi:before { content: 'Delphi'; }
130   pre.src-html:before { content: 'HTML'; }
131   pre.src-idl:before { content: 'IDL'; }
132   pre.src-mercury:before { content: 'Mercury'; }
133   pre.src-metapost:before { content: 'MetaPost'; }
134   pre.src-modula-2:before { content: 'Modula-2'; }
135   pre.src-pascal:before { content: 'Pascal'; }
136   pre.src-ps:before { content: 'PostScript'; }
137   pre.src-prolog:before { content: 'Prolog'; }
138   pre.src-simula:before { content: 'Simula'; }
139   pre.src-tcl:before { content: 'tcl'; }
140   pre.src-tex:before { content: 'TeX'; }
141   pre.src-plain-tex:before { content: 'Plain TeX'; }
142   pre.src-verilog:before { content: 'Verilog'; }
143   pre.src-vhdl:before { content: 'VHDL'; }
144   pre.src-xml:before { content: 'XML'; }
145   pre.src-nxml:before { content: 'XML'; }
146   /* add a generic configuration mode; LaTeX export needs an additional
147      (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
148   pre.src-conf:before { content: 'Configuration File'; }
149
150   table { border-collapse:collapse; }
151   caption.t-above { caption-side: top; }
152   caption.t-bottom { caption-side: bottom; }
153   td, th { vertical-align:top;  }
154   th.org-right  { text-align: center;  }
155   th.org-left   { text-align: center;   }
156   th.org-center { text-align: center; }
157   td.org-right  { text-align: right;  }
158   td.org-left   { text-align: left;   }
159   td.org-center { text-align: center; }
160   dt { font-weight: bold; }
161   .footpara { display: inline; }
162   .footdef  { margin-bottom: 1em; }
163   .figure { padding: 1em; }
164   .figure p { text-align: center; }
165   .equation-container {
166     display: table;
167     text-align: center;
168     width: 100%;
169   }
170   .equation {
171     vertical-align: middle;
172   }
173   .equation-label {
174     display: table-cell;
175     text-align: right;
176     vertical-align: middle;
177   }
178   .inlinetask {
179     padding: 10px;
180     border: 2px solid gray;
181     margin: 10px;
182     background: #ffffcc;
183   }
184   #org-div-home-and-up
185    { text-align: right; font-size: 70%; white-space: nowrap; }
186   textarea { overflow-x: auto; }
187   .linenr { font-size: smaller }
188   .code-highlighted { background-color: #ffff00; }
189   .org-info-js_info-navigation { border-style: none; }
190   #org-info-js_console-label
191     { font-size: 10px; font-weight: bold; white-space: nowrap; }
192   .org-info-js_search-highlight
193     { background-color: #ffff00; color: #000000; font-weight: bold; }
194   .org-svg { }
195 </style>
196 <link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
197 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
198 <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
199 <style type="text/css">
200 footer {background-color: #111 !important;}
201 pre {background-color: #111; color: #ccc;}
202 </style>
203 <link rel="stylesheet" type="text/css" href="https://thomasf.github.io/solarized-css/solarized-dark.min.css" />
204 </head>
205 <body>
206 <div id="content" class="content">
207 <h1 class="title">Sixth - system for data storage, computation, exploration and interaction</h1>
208 <div id="table-of-contents" role="doc-toc">
209 <h2>Table of Contents</h2>
210 <div id="text-table-of-contents" role="doc-toc">
211 <ul>
212 <li><a href="#org24fd601">1. General</a>
213 <ul>
214 <li><a href="#org72de14c">1.1. Source code</a></li>
215 </ul>
216 </li>
217 <li><a href="#org4ce9455">2. Vision - A tool to amplify human ability</a>
218 <ul>
219 <li><a href="#org5adfbed">2.1. Extensible, programmable computing environment examples</a></li>
220 </ul>
221 </li>
222 <li><a href="#org81ffca1">3. Current status</a></li>
223 <li><a href="#org72569c2">4. Architecture / components</a></li>
224 <li><a href="#org574658b">5. Frequently Given Answers</a></li>
225 <li><a href="#org6cb6b6d">6. See also</a>
226 <ul>
227 <li><a href="#orgc6ff886">6.1. Computation on multi dimensional data</a></li>
228 <li><a href="#org0fcc836">6.2. Distributed, reliable, parallel computing systems</a></li>
229 </ul>
230 </li>
231 </ul>
232 </div>
233 </div>
234
235 <div id="outline-container-org24fd601" class="outline-2">
236 <h2 id="org24fd601"><span class="section-number-2">1.</span> General</h2>
237 <div class="outline-text-2" id="text-1">
238 <ul class="org-ul">
239 <li>This program is free software: released under Creative Commons Zero
240 (CC0) license</li>
241
242 <li>Program author:
243 <ul class="org-ul">
244 <li>Svjatoslav Agejenko</li>
245 <li>Homepage: <a href="https://svjatoslav.eu">https://svjatoslav.eu</a></li>
246 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a></li>
247 </ul></li>
248
249 <li><a href="https://www.svjatoslav.eu/projects/">Other software projects hosted at svjatoslav.eu</a></li>
250 </ul>
251 </div>
252
253 <div id="outline-container-org72de14c" class="outline-3">
254 <h3 id="org72de14c"><span class="section-number-3">1.1.</span> Source code</h3>
255 <div class="outline-text-3" id="text-1-1">
256 <ul class="org-ul">
257 <li>Note - Sixth is currently empty parent/shell project. You can find
258 working code under <a href="#org72569c2">sub-projects</a>.</li>
259
260 <li><a href="https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">Download latest snapshot in TAR GZ format</a></li>
261
262 <li><a href="https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary">Browse Git repository online</a></li>
263
264 <li><p>
265 Clone Git repository using command:
266 </p>
267 <pre class="example">
268 git clone https://www2.svjatoslav.eu/git/sixth.git
269 </pre></li>
270 </ul>
271 </div>
272 </div>
273 </div>
274 <div id="outline-container-org4ce9455" class="outline-2">
275 <h2 id="org4ce9455"><span class="section-number-2">2.</span> Vision - A tool to amplify human ability</h2>
276 <div class="outline-text-2" id="text-2">
277 <p>
278 Goal is, so called bicycle for the mind.
279 </p>
280
281 <p>
282 A tool, that provides powerful, extensible, adaptable, hackable, easy
283 to use, general purpose computing environment for working with
284 knowledge.
285 </p>
286
287 <p>
288 <a href="#org5adfbed">See extensible, programmable computing environment examples</a>.
289 </p>
290
291 <p>
292 I would like to create better general purpose computing environment
293 with the following priorities:
294 </p>
295
296 <ul class="org-ul">
297 <li>Makes data and insights easy to discover, understand, manipulate,
298 transform and visualize.</li>
299
300 <li><p>
301 Workflow and user interface is intuitive, visual, realtime,
302 3D-first.
303 </p>
304
305 <blockquote>
306 <p>
307 “Virtual reality holds the key to the evolution of the human mind”
308 Dr. Lawrence Angelo, The Lawnmower Man (1992)
309 </p>
310 </blockquote></li>
311
312 <li>Computations are done primarily in <a href="https://www3.svjatoslav.eu/projects/sixth-data/">on versioned data in distributed,
313 scalable, arbitrary dimensional hypercube based geometrical
314 computation engine</a>.</li>
315
316 <li>Free and open.</li>
317
318 <li>Network first:
319 <ul class="org-ul">
320 <li>Cross device:
321 <ul class="org-ul">
322 <li>Easily switch devices and still access same data, workspaces and
323 visualizations.</li>
324 <li>Easily access and combine storage and computing resources of
325 other connected devices.</li>
326 </ul></li>
327
328 <li>Ability to collaborate (multi user).</li>
329 </ul></li>
330 </ul>
331 </div>
332
333 <div id="outline-container-org5adfbed" class="outline-3">
334 <h3 id="org5adfbed"><span class="section-number-3">2.1.</span> Extensible, programmable computing environment examples</h3>
335 <div class="outline-text-3" id="text-2-1">
336 <ul class="org-ul">
337 <li><a href="https://www.johndcook.com/blog/2008/04/27/one-program-to-rule-them-all/">GNU Emacs</a> - At the heart, Emacs is text editor on top of Lisp
338 runtime. Data storage and computation can be done in <a href="https://www.defmacro.org/ramblings/lisp.html">Lisp</a>. Lisp is
339 on itself programmable programming language where new paradigms can
340 be added dynamically. Domain specific languages to fit particular
341 problem could be developed as needed and Emacs extended to support
342 those languages. Emacs provides text buffers that can be used to
343 build user interfaces. So you can customize Emacs and Lisp to fit
344 any problem domain.</li>
345
346 <li><a href="https://www.eclipse.org/ide/">Eclipse IDE</a> - In essence <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> platform with a text
347 editor. Computation done in java. Eclipse provides integration,
348 runtime and GUI platform. One can develop Eclipse plugins to add
349 necessary logic and visual parts to fit any problem. (IntelliJ and
350 NetBeans have similar properties)</li>
351
352 <li><a href="https://en.wikipedia.org/wiki/IBM_Notes">IBM Notes/Domino</a> - Custom database engine, software development
353 platform, GUI editor, computation can be done in Java and
354 LotusScript. You can build distributed business applications on it
355 as a platform.</li>
356
357 <li><a href="https://en.wikipedia.org/wiki/ABAP">SAP ABAP</a> - Custom database engine, runtime, GUI platform,
358 development environment and programming language. Is being used as a
359 platform to build business applications with any logic and UI.</li>
360
361 <li><a href="https://en.wikipedia.org/wiki/Microsoft_Access">Microsoft Access</a> - Database management system that combines
362 relational database engine with a graphical user interface and
363 software-development tools.</li>
364 </ul>
365 </div>
366 </div>
367 </div>
368 <div id="outline-container-org81ffca1" class="outline-2">
369 <h2 id="org81ffca1"><span class="section-number-2">3.</span> Current status</h2>
370 <div class="outline-text-2" id="text-3">
371 <ul class="org-ul">
372 <li>Formulated high-level <a href="#org4ce9455">vision / goal</a>.</li>
373
374 <li>In the process of implementing some of <a href="#org72569c2">building blocks</a>.</li>
375
376 <li>System is nowhere near complete (given magnitude of effort required
377 and almost non-existent free time available). Contributions are
378 welcome !</li>
379 </ul>
380 </div>
381 </div>
382 <div id="outline-container-org72569c2" class="outline-2">
383 <h2 id="org72569c2"><span class="section-number-2">4.</span> Architecture / components</h2>
384 <div class="outline-text-2" id="text-4">
385 <ul class="org-ul">
386 <li><a href="https://www3.svjatoslav.eu/projects/sixth/">Sixth</a> - Parent project.
387 <ul class="org-ul">
388 <li><a href="https://www3.svjatoslav.eu/projects/sixth-data/">Sixth Data</a> - Data storage and computation engine.</li>
389 <li><a href="https://www3.svjatoslav.eu/projects/sixth-3d/">Sixth 3D</a> - 3D engine - for user interface and data visualization.
390 <ul class="org-ul">
391 <li><a href="https://www3.svjatoslav.eu/projects/sixth-3d-demos/">Sixth 3D engine demos</a> - Demonstration of Sixth 3D engine capabilities.</li>
392 </ul></li>
393 </ul></li>
394 </ul>
395 </div>
396 </div>
397
398 <div id="outline-container-org574658b" class="outline-2">
399 <h2 id="org574658b"><span class="section-number-2">5.</span> Frequently Given Answers</h2>
400 <div class="outline-text-2" id="text-5">
401 <ul class="org-ul">
402 <li>Why such name ?
403 <ul class="org-ul">
404 <li>In short: it's just a number.</li>
405 <li>Many years ago inspired by the ideas of <a href="https://en.wikipedia.org/wiki/Forth_(programming_language)">Forth (programming
406 language)</a> I decided to create my own implementation <a href="https://www3.svjatoslav.eu/projects/fifth/">Fifth</a>
407 (computing/programming environment).</li>
408 <li>Forth/Fifth felt a bit too low-level language. So current
409 project/approach is an attempt using Java.</li>
410 </ul></li>
411 </ul>
412 </div>
413 </div>
414 <div id="outline-container-org6cb6b6d" class="outline-2">
415 <h2 id="org6cb6b6d"><span class="section-number-2">6.</span> See also</h2>
416 <div class="outline-text-2" id="text-6">
417 <p>
418 Following projects are inspiring or have similar goals:
419 </p>
420
421 <ul class="org-ul">
422 <li><a href="https://github.com/kaveh808/kons-9">kons-9</a>: An IDE For 3D Production. The intention is to develop a
423 flexible and extensible system in which can be built a wide variety
424 of application and domain specific tools and packages.</li>
425
426 <li><a href="https://gtoolkit.com/">Glamorous Toolkit</a>: Moldable development environment. It is a live
427 notebook. It is a flexible search interface. It is a fancy code
428 editor. It is a software analysis platform. It is a data
429 visualization engine. All in one.</li>
430 </ul>
431 </div>
432
433 <div id="outline-container-orgc6ff886" class="outline-3">
434 <h3 id="orgc6ff886"><span class="section-number-3">6.1.</span> Computation on multi dimensional data</h3>
435 <div class="outline-text-3" id="text-6-1">
436 <ul class="org-ul">
437 <li><a href="https://rd-alliance.org/system/files/Array-Databases_final-report.pdf">Array Databases: Concepts, Standards, Implementations</a></li>
438
439 <li><a href="https://tiledb.com/">TileDB</a>
440 <ul class="org-ul">
441 <li>Analyze and share complex multi-dimensional data at scale</li>
442 </ul></li>
443
444 <li><a href="../../sixth-data/doc/index.html#ID-01aa65c1-3d44-44a8-9b90-58454bc6be80">CM-1 Connection Machine</a></li>
445
446 <li><a href="https://lisp-stat.dev/">Lisp-Stat: An environment for Statistical Computing</a></li>
447 </ul>
448 </div>
449 </div>
450 <div id="outline-container-org0fcc836" class="outline-3">
451 <h3 id="org0fcc836"><span class="section-number-3">6.2.</span> Distributed, reliable, parallel computing systems</h3>
452 <div class="outline-text-3" id="text-6-2">
453 <ul class="org-ul">
454 <li><a href="https://github.com/vygr/ChrysaLisp">ChrysaLisp</a>
455 <ul class="org-ul">
456 <li>Assembler/C-Script/Lisp 64 bit, MIMD, multi CPU, multi threaded,
457 multi core, multi user Parallel OS. With GUI, Terminal, OO
458 Assembler, Class libraries, C-Script compiler, Lisp interpreter,
459 Debugger, and more&#x2026;</li>
460 </ul></li>
461
462 <li><a href="http://www.uruk.org/emu/Taos.html">TAOS</a>
463 <ul class="org-ul">
464 <li>Completely distributed operating system/virtual machine:</li>
465 </ul></li>
466
467 <li><a href="http://esug.org/data/ESUG2015/3%20wednesday/1100-1130%20SQL%20Queries%20on%20Smalltalk%20Objects/SQL%20Queries%20in%20Smalltalk%20(James%20Foster).pdf">Gemstone/S</a>
468 <ul class="org-ul">
469 <li>Completely distributed smalltalk based computing
470 system.</li>
471 </ul></li>
472
473 <li><a href="http://phantomos.org/">http://phantomos.org/</a>
474 <ul class="org-ul">
475 <li>Programs run forever. System crash or reboot does not destroy
476 state of running program.</li>
477 </ul></li>
478
479 <li><a href="http://wiki.squeak.org/squeak/2665">Magma</a>
480 <ul class="org-ul">
481 <li>Multi-user object database for Squeak</li>
482 </ul></li>
483 </ul>
484 </div>
485 </div>
486 </div>
487 </div>
488 <div id="postamble" class="status">
489 <p class="author">Author: Svjatoslav Agejenko</p>
490 <p class="date">Created: 2022-10-30 Sun 12:26</p>
491 <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
492 </div>
493 </body>
494 </html>