X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=blobdiff_plain;f=doc%2Findex.org;h=fd49f38e9bfe3a21fd82371c6671e8c50a88d7ce;hp=bb5146abb3f779d8ab47e9c80f071aaf2939c883;hb=d376d5591dea46987854c19221b39d4acbf7653f;hpb=e14a72eec2b00df29d14ddde597967e6748bc10f diff --git a/doc/index.org b/doc/index.org index bb5146a..fd49f38 100644 --- a/doc/index.org +++ b/doc/index.org @@ -1,101 +1,137 @@ #+TITLE: Sixth - system for data storage, computation, exploration and interaction ------ -- [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]] +* (document settings) :noexport: +** use dark style for TWBS-HTML exporter +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: -- This program is free software; you can redistribute it and/or modify it under - the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as - published by the Free Software Foundation. +* General +- This program is free software: you can redistribute it and/or modify + it under the terms of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. - Program author: - Svjatoslav Agejenko - - Homepage: http://svjatoslav.eu + - Homepage: https://svjatoslav.eu - Email: mailto://svjatoslav@svjatoslav.eu -- [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]] +- [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]] -* (document settings) :noexport: -** use dark style for TWBS-HTML exporter -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: " -#+HTML_HEAD: +** Source code ++ Note - Sixth is currently empty parent/shell project. You can find + working code under [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][sub-projects]]. + +- [[https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]] + +- [[https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary][Browse Git repository online]] -* Vision / goal - A tool to amplify human ability +- Clone Git repository using command: + : git clone https://www2.svjatoslav.eu/git/sixth.git +* Vision - A tool to amplify human ability :PROPERTIES: :ID: 1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f :END: -In short, this is what I want: +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. -- [[id:4224d52c-2ee1-411a-bd89-77c286322b21][Perfect data storage and computation engine]] +[[id:c19c5a3b-dfb0-4f7f-961c-a387b925669f][See extensible, programmable computing environment examples]]. In each +case you can install or develop plugins/extensions for every purpose +imaginable. -- 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) +I would like to create better general purpose environment with the +following properties: - #+BEGIN_QUOTE - “Virtual reality holds the key to the evolution of the human mind” - Dr. Lawrence Angelo, The Lawnmower Man (1992) - #+END_QUOTE - -- Why such name ? - - In short: it's just a number. - - Many years ago inspired by the ideas of [[https://en.wikipedia.org/wiki/Forth_(programming_language)][Forth (programming - language)]] I decided to create my own implementation [[http://www2.svjatoslav.eu/gitbrowse/fifth/doc/index.html][Fifth]] - (computing/programming environment). - - Then I realized I miss type safe object oriented capabilities. So - I updated the name to Sixth and switched to Java. ++ Makes lots of complex data intuitive to: + - explore, understand + - manipulate and compute on -** Perfect data storage and computation engine - :PROPERTIES: - :ID: 4224d52c-2ee1-411a-bd89-77c286322b21 - :END: ++ Extensively relying on: + - [[https://www3.svjatoslav.eu/projects/sixth-3d/][Realtime 3D graphics]] with immediate feedback loop. -I hate to choose between good things. Figuring out a way to combine -below properties in one system would be beyond awesome. + #+BEGIN_QUOTE + “Virtual reality holds the key to the evolution of the human mind” + Dr. Lawrence Angelo, The Lawnmower Man (1992) + #+END_QUOTE -(That`s the high level overview, details are slowly being worked -out...) ++ [[https://www3.svjatoslav.eu/projects/sixth-data/][Flexible and distributed computation and data storage]]. -+ See: [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][Sixth data subproject]] ++ Cross device: + + Easily switch and/or combine computers to work seamlessly on any + tasks. -*** Computation -+ Lisp (programming language): - + Almost no syntax. - + Code and data intercangeable. - + Easily self modifying. - + (The big Lisp idea: https://dev.to/ericnormand/the-idea-of-lisp ) + + User interface, data, software, running proceses and available + computing power is not contained or limited by boundaries of any + single device. -+ Smalltalk (programming language / runtime): - + Everything is object. - + On the fly modifiable / reprogrammable. - + Anything can be suspended/resumed from persistent storage on the - fly. - + [[http://esug.org/data/ESUG2015/3%20wednesday/1100-1130%20SQL%20Queries%20on%20Smalltalk%20Objects/SQL%20Queries%20in%20Smalltalk%20(James%20Foster).pdf][GemStone/S]]: Awesome feature list! +** Extensible, programmable computing environment examples + :PROPERTIES: + :ID: c19c5a3b-dfb0-4f7f-961c-a387b925669f + :END: ++ [[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 Lisp + runtime. Data storage and computation can be done in [[https://www.defmacro.org/ramblings/lisp.html][Lisp]]. Emacs + provides text buffers that can be used to build GUI. -+ Hadoop (computation system): - + Many individual connected computers behave as one big - computer. System is horizontally linearly scalable. - + Programming abstraction and execution model that naturally divides - problems te be solved in parallel and result easily combined. - + Data is spread across nodes, automatic failover, built in - resiliency. - + Small pieces of code are automatically transferred to the node - that contains relatively big data that needs processing (network - efficiency). ++ [[https://www.eclipse.org/ide/][Eclipse IDE]] - In essence [[https://en.wikipedia.org/wiki/OSGi][OSGi]] platform with a text + editor. Computation done in java. Eclipse provides integration, + runtime and GUI platform. ++ [[https://en.wikipedia.org/wiki/IBM_Notes][IBM Notes/Domino]] - Custom database engine, software development + platform, GUI editor, computation can be done in Java and + LotusScript. ++ [[https://en.wikipedia.org/wiki/ABAP][SAP ABAP]] - Custom database engine, runtime, GUI platform, + development environment and programming language. * Current status + Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]]. -+ In the process of implementing some of building blocks: - - [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][Data storage engine.]] - - - [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/index.html][In software, pure Java realtime 3D rendering engine.]] - - [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][3D engine demos]] ++ In the process of implementing some of [[id:52dbbf4c-2ef4-42a6-8331-ad006b6a52ae][building blocks]]. + System is nowhere near complete (given magnitude of effort required and my free time available). Contributions welcome ! :) +* Architecture / components + :PROPERTIES: + :ID: 52dbbf4c-2ef4-42a6-8331-ad006b6a52ae + :END: ++ [[https://www3.svjatoslav.eu/projects/sixth/][Sixth]] - Parent project. + + [[https://www3.svjatoslav.eu/projects/sixth-data/][Sixth Data]] - Data storage and computation engine. + + [[https://www3.svjatoslav.eu/projects/sixth-3d/][Sixth 3D]] - 3D engine - for user interface and data visualization. + + [[https://www3.svjatoslav.eu/projects/sixth-3d-demos/][Sixth 3D engine demos]] - Demonstration of Sixth 3D engine capabilities. +* Computation ideas ++ Program - stored instructions for execution by computer. + ++ Process - Currently running program. + + Process is self contained. Has a full copy of program code and + every dependent library. + + + Memory used by processes is content addressed/deduplicated at + low level in the system. + + + This allows: + + Upgrading software installed in the system without breaking + already running processes. + + + Easier migration of running processes between physical + computers. + + + Possibility to suspend/resume arbitrary processes to permament + storage. + + + Possibility checkpoint/revert running process. + + + Possibility to clone/branch running process. + +* Frequently Given Answers +- Why such name ? + - In short: it's just a number. + - Many years ago inspired by the ideas of [[https://en.wikipedia.org/wiki/Forth_(programming_language)][Forth (programming + language)]] I decided to create my own implementation [[https://www3.svjatoslav.eu/projects/fifth/][Fifth]] + (computing/programming environment). + - Then I realized I miss type safe object oriented capabilities. So + I updated the name to Sixth and switched to Java.