prefer HTTPS in documentation
[sixth.git] / doc / index.html
index 9844583..39a4811 100644 (file)
@@ -2,14 +2,14 @@
 <html lang="en">
 <head>
 <title>Sixth - system for data storage, computation, exploration and interaction</title>
-<!-- 2017-05-25 Thu 08:25 -->
+<!-- 2019-01-19 Sat 00:49 -->
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="generator" content="Org-mode">
 <meta name="author" content="Svjatoslav Agejenko">
-<link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
-<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
-<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
+<link href="https://bootswatch.com/3/darkly/bootstrap.min.css" rel="stylesheet">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
 <style type="text/css">
 footer {background-color: #111 !important;}
 pre {background-color: #111; color: #ccc;}
@@ -196,167 +196,242 @@ $(function() {
 <body>
 <div id="content" class="container">
 <div class="row"><div class="col-md-9"><h1 class="title">Sixth - system for data storage, computation, exploration and interaction</h1>
-<hr >
-<ul class="org-ul">
-<li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a>
-</li>
 
-<li>This program is free software; you can redistribute it and/or modify it under
-the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a> or later as
-published by the Free Software Foundation.
+<div id="outline-container-sec-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> General</h2>
+<div class="outline-text-2" id="text-1">
+<ul class="org-ul">
+<li>This program is free software: you can redistribute it and/or modify
+it under the terms of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a> as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
 </li>
 
 <li>Program author:
 <ul class="org-ul">
 <li>Svjatoslav Agejenko
 </li>
-<li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
+<li>Homepage: <a href="https://svjatoslav.eu">https://svjatoslav.eu</a>
 </li>
 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
 </li>
 </ul>
 </li>
 
-<li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a>
+<li><a href="https://www.svjatoslav.eu/projects/">Other software projects hosted at svjatoslav.eu</a>
 </li>
 </ul>
+</div>
 
-<div id="outline-container-sec-1" class="outline-2">
-<h2 id="sec-1"><a id="ID-1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f" name="ID-1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f"></a><span class="section-number-2">1</span> Vision / goal - A tool to amplify human ability</h2>
-<div class="outline-text-2" id="text-1">
-<p>
-In short, this is what I want:
-</p>
-
+<div id="outline-container-sec-1-1" class="outline-3">
+<h3 id="sec-1-1"><span class="section-number-3">1.1</span> Source code</h3>
+<div class="outline-text-3" id="text-1-1">
 <ul class="org-ul">
-<li><a href="#sec-1-1">Perfect data storage and computation engine</a>
+<li>Note - Sixth is currently empty parent/shell project. You can find
+working code under <a href="#sec-4">sub-projects</a>.
 </li>
 
-<li>Feeds lots of complex data into your brain in intuitive to explore,
-understand and manipulate form by extensively relying on realtime 3D
-graphics and fast feedback loop. (including virtual reality support)
+<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>
 
-<blockquote>
-<p>
-“Virtual reality holds the key to the evolution of the human mind”
-Dr. Lawrence Angelo, The Lawnmower Man (1992)
-</p>
-</blockquote>
+<li><a href="https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary">Browse Git repository online</a>
+</li>
+
+<li>Clone Git repository using command:
+<pre class="example">
+git clone https://www2.svjatoslav.eu/git/sixth.git
+
+</pre>
 </li>
 </ul>
 </div>
+</div>
+</div>
+<div id="outline-container-sec-2" class="outline-2">
+<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>
+<div class="outline-text-2" id="text-2">
+<p>
+Idea is to design all encompassing, flexible and powerful virtual
+environment where I can live in and very efficiently do all my
+computing tasks enjoyably and with playful ease.
+</p>
 
+<p>
+<a href="#sec-2-1">See extensible, programmable computing environment examples</a>. In each
+case you can install or develop plugins/extensions for every purpose
+imaginable.
+</p>
 
-<div id="outline-container-sec-1-1" class="outline-3">
-<h3 id="sec-1-1"><a id="ID-4224d52c-2ee1-411a-bd89-77c286322b21" name="ID-4224d52c-2ee1-411a-bd89-77c286322b21"></a><span class="section-number-3">1.1</span> Perfect data storage and computation engine</h3>
-<div class="outline-text-3" id="text-1-1">
 <p>
-I love thease existing solutions and properties:
+I would like to create better general purpose environment with the
+following properties:
 </p>
 
 <ul class="org-ul">
-<li>Lisp (programming language):
+<li>Makes lots of complex data intuitive to:
 <ul class="org-ul">
-<li>Almost no syntax.
+<li>explore, understand
 </li>
-<li>Code and data intercangeable.
-</li>
-<li>Easily self modifying.
-</li>
-<li>(The big Lisp idea: <a href="https://dev.to/ericnormand/the-idea-of-lisp">https://dev.to/ericnormand/the-idea-of-lisp</a> )
+<li>manipulate and compute on
 </li>
 </ul>
 </li>
 
-<li>Smalltalk (programming language / runtime):
+<li>Extensively relying on:
 <ul class="org-ul">
-<li>Everything is object.
-</li>
-<li>On the fly modifiable / reprogrammable.
-</li>
-<li>Anything can be suspended/resumed from persistent storage on the
-fly.
+<li><a href="https://www3.svjatoslav.eu/projects/sixth-3d/">Realtime 3D graphics</a> with immediate feedback loop.
 </li>
 </ul>
+
+<blockquote>
+<p>
+“Virtual reality holds the key to the evolution of the human mind”
+Dr. Lawrence Angelo, The Lawnmower Man (1992)
+</p>
+</blockquote>
+</li>
+
+<li><a href="https://www3.svjatoslav.eu/projects/sixth-data/">Flexible and distributed computation and data storage</a>.
 </li>
 
-<li>Relational databases:
+<li>Cross device:
 <ul class="org-ul">
-<li>Transactional
+<li>Easily switch and/or combine computers to work seamlessly on any
+tasks.
 </li>
-<li>Indexable / Quickly searchable
+
+<li>User interface, data, software, running proceses and available
+computing power is not contained or limited by boundaries of any
+single device.
 </li>
 </ul>
 </li>
+</ul>
+</div>
 
-<li>Git (version control system)
+<div id="outline-container-sec-2-1" class="outline-3">
+<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>
+<div class="outline-text-3" id="text-2-1">
 <ul class="org-ul">
-<li>Versionable
+<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
+runtime. Data storage and computation can be done in <a href="https://www.defmacro.org/ramblings/lisp.html">Lisp</a>. Emacs
+provides text buffers that can be used to build GUI.
 </li>
-<li>Branchable / mergeable.
+
+<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
+editor. Computation done in java. Eclipse provides integration,
+runtime and GUI platform.
 </li>
-<li>Transparent cansistency, checksumming and deduplication.
+
+<li><a href="https://en.wikipedia.org/wiki/IBM_Notes">IBM Notes/Domino</a> - Custom database engine, software development
+platform, GUI editor, computation can be done in Java and
+LotusScript.
 </li>
-<li>(Git as a database:
-<a href="https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/">https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/</a> )
+
+<li><a href="https://en.wikipedia.org/wiki/ABAP">SAP ABAP</a> - Custom database engine, runtime, GUI platform,
+development environment and programming language.
 </li>
 </ul>
+</div>
+</div>
+</div>
+<div id="outline-container-sec-3" class="outline-2">
+<h2 id="sec-3"><span class="section-number-2">3</span> Current status</h2>
+<div class="outline-text-2" id="text-3">
+<ul class="org-ul">
+<li>Formulated high-level <a href="#sec-2">vision / goal</a>.
 </li>
 
-<li>Hadoop (computation system):
-<ul class="org-ul">
-<li>Many individual connected computers behave as one big
-computer. System is horizontally linearly scalable.
+<li>In the process of implementing some of <a href="#sec-4">building blocks</a>.
 </li>
-<li>Programming abstraction and execution model that naturally divides
-problems te be solved in parallel and result easily combined.
+
+<li>System is nowhere near complete (given magnitude of effort required
+and my free time available). Contributions welcome ! :)
+</li>
+</ul>
+</div>
+</div>
+<div id="outline-container-sec-4" class="outline-2">
+<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>
+<div class="outline-text-2" id="text-4">
+<ul class="org-ul">
+<li><a href="https://www3.svjatoslav.eu/projects/sixth/">Sixth</a> - Parent project.
+<ul class="org-ul">
+<li><a href="https://www3.svjatoslav.eu/projects/sixth-data/">Sixth Data</a> - Data storage and computation engine.
 </li>
-<li>Data is spread across nodes, automatic failover, built in
-resiliency.
+<li><a href="https://www3.svjatoslav.eu/projects/sixth-3d/">Sixth 3D</a> - 3D engine - for user interface and data visualization.
+<ul class="org-ul">
+<li><a href="https://www3.svjatoslav.eu/projects/sixth-3d-demos/">Sixth 3D engine demos</a> - Demonstration of Sixth 3D engine capabilities.
 </li>
-<li>Small pieces of code are automatically transferred to the node
-that contains relatively big data that needs processing (network
-efficiency).
+</ul>
 </li>
 </ul>
 </li>
 </ul>
-
-
-<p>
-I hate to choose between good things. Figuring out a way to combine
-above properties in one system would be beyond awesome.
-</p>
-
-<p>
-(I have not solved it yet..)
-</p>
 </div>
 </div>
-</div>
-<div id="outline-container-sec-2" class="outline-2">
-<h2 id="sec-2"><span class="section-number-2">2</span> Current status</h2>
-<div class="outline-text-2" id="text-2">
+<div id="outline-container-sec-5" class="outline-2">
+<h2 id="sec-5"><span class="section-number-2">5</span> Computation ideas</h2>
+<div class="outline-text-2" id="text-5">
 <ul class="org-ul">
-<li>Formulated high-level <a href="#sec-1">vision / goal</a>.
+<li>Program - stored instructions for execution by computer.
 </li>
 
-<li>In the process of implementing some of building blocks:
+<li>Process - Currently running program.
 <ul class="org-ul">
-<li><a href="http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html">First layer of storage: Simple persistent key-value map.</a>
+<li>Process is self contained. Has a full copy of program code and
+every dependent library.
+
+<ul class="org-ul">
+<li>Memory used by processes is content addressed/deduplicated at
+low level in the system.
 </li>
 
-<li><a href="http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/index.html">In software, pure Java realtime 3D rendering engine.</a>
+<li>This allows:
 <ul class="org-ul">
-<li><a href="http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html">3D engine demos</a>
+<li>Upgrading software installed in the system without breaking
+already running processes.
+</li>
+
+<li>Easier migration of running processes between physical
+computers.
+</li>
+
+<li>Possibility to suspend/resume arbitrary processes to permament
+storage.
+</li>
+
+<li>Possibility checkpoint/revert running process.
+</li>
+
+<li>Possibility to clone/branch running process.
 </li>
 </ul>
 </li>
 </ul>
 </li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
 
-<li>System is nowhere near complete (given magnitude of effort required
-and my free time available). Contributions welcome ! :)
+<div id="outline-container-sec-6" class="outline-2">
+<h2 id="sec-6"><span class="section-number-2">6</span> Frequently Given Answers</h2>
+<div class="outline-text-2" id="text-6">
+<ul class="org-ul">
+<li>Why such name ?
+<ul class="org-ul">
+<li>In short: it's just a number.
+</li>
+<li>Many years ago inspired by the ideas of <a href="https://en.wikipedia.org/wiki/Forth_(programming_language)">Forth (programming
+language)</a> I decided to create my own implementation <a href="https://www3.svjatoslav.eu/projects/fifth/">Fifth</a>
+(computing/programming environment).
+</li>
+<li>Then I realized I miss type safe object oriented capabilities. So
+I updated the name to Sixth and switched to Java.
+</li>
+</ul>
 </li>
 </ul>
 </div>
@@ -364,20 +439,28 @@ and my free time available). Contributions welcome ! :)
 </div><div class="col-md-3"><nav id="table-of-contents">
 <div id="text-table-of-contents" class="bs-docs-sidebar">
 <ul class="nav">
-<li><a href="#sec-1">1. Vision / goal - A tool to amplify human ability</a>
+<li><a href="#sec-1">1. General</a>
+<ul class="nav">
+<li><a href="#sec-1-1">1.1. Source code</a></li>
+</ul>
+</li>
+<li><a href="#sec-2">2. Vision - A tool to amplify human ability</a>
 <ul class="nav">
-<li><a href="#sec-1-1">1.1. Perfect data storage and computation engine</a></li>
+<li><a href="#sec-2-1">2.1. Extensible, programmable computing environment examples</a></li>
 </ul>
 </li>
-<li><a href="#sec-2">2. Current status</a></li>
+<li><a href="#sec-3">3. Current status</a></li>
+<li><a href="#sec-4">4. Architecture / components</a></li>
+<li><a href="#sec-5">5. Computation ideas</a></li>
+<li><a href="#sec-6">6. Frequently Given Answers</a></li>
 </ul>
 </div>
 </nav>
 </div></div></div>
 <footer id="postamble" class="">
 <div><p class="author">Author: Svjatoslav Agejenko</p>
-<p class="date">Created: 2017-05-25 Thu 08:25</p>
-<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.1.1 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
+<p class="date">Created: 2019-01-19 Sat 00:49</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 26.1 (<a href="http://orgmode.org">Org-mode</a> 9.1.9)</p>
 </div>
 </footer>
 </body>