X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=blobdiff_plain;f=doc%2Findex.org;h=8f0e2d263638d7ffbd253863d21bfed2cd816f99;hp=a4d464c8f649c5404635edc7ad700d9400e8f1c7;hb=refs%2Fheads%2Fmaster;hpb=d7abb2f5dfabd382d37a31a9a52a0f0654b44c48 diff --git a/doc/index.org b/doc/index.org index a4d464c..e758bb7 100644 --- a/doc/index.org +++ b/doc/index.org @@ -1,111 +1,171 @@ #+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: released under Creative Commons Zero + (CC0) license - 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]] -* Vision / goal - A tool to amplify human ability +- [[https://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=summary][Browse Git repository online]] + +- 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: +Goal is, so called bicycle for the mind. + +A tool, that provides powerful, extensible, adaptable, hackable, easy +to use, general purpose computing environment for working with +knowledge. + +[[id:c19c5a3b-dfb0-4f7f-961c-a387b925669f][See extensible, programmable computing environment examples]]. + +I would like to create better general purpose computing environment +with the following priorities: + ++ Makes data and insights easy to discover, understand, manipulate, + transform and visualize. + ++ Workflow and user interface is intuitive, visual, realtime, + 3D-first. + + #+BEGIN_QUOTE + “Virtual reality holds the key to the evolution of the human mind” + Dr. Lawrence Angelo, The Lawnmower Man (1992) + #+END_QUOTE -- [[id:4224d52c-2ee1-411a-bd89-77c286322b21][Perfect data storage and computation engine]] ++ Computations are done primarily in [[https://www3.svjatoslav.eu/projects/sixth-data/][on versioned data in distributed, + scalable, arbitrary dimensional hypercube based geometrical + computation engine]]. -- 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) ++ Free and open. - #+BEGIN_QUOTE - “Virtual reality holds the key to the evolution of the human mind” - Dr. Lawrence Angelo, The Lawnmower Man (1992) - #+END_QUOTE ++ Network first: + + Cross device: + + Easily switch devices and still access same data, workspaces and + visualizations. + + Easily access and combine storage and computing resources of + other connected devices. + + Ability to collaborate (multi user). + +** 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]]. Lisp is + on itself programmable programming language where new paradigms can + be added dynamically. Domain specific languages to fit particular + problem could be developed as needed and Emacs extended to support + those languages. Emacs provides text buffers that can be used to + build user interfaces. So you can customize Emacs and Lisp to fit + any problem domain. + ++ [[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. One can develop Eclipse plugins to add + necessary logic and visual parts to fit any problem. (IntelliJ and + NetBeans have similar properties) + ++ [[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. You can build distributed business applications on it + as a platform. + ++ [[https://en.wikipedia.org/wiki/ABAP][SAP ABAP]] - Custom database engine, runtime, GUI platform, + development environment and programming language. Is being used as a + platform to build business applications with any logic and UI. + ++ [[https://en.wikipedia.org/wiki/Microsoft_Access][Microsoft Access]] - Database management system that combines + relational database engine with a graphical user interface and + software-development tools. +* Current status ++ Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]]. + ++ 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 almost non-existent free time available). Contributions are + 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. + +* 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 [[http://www2.svjatoslav.eu/gitbrowse/fifth/doc/index.html][Fifth]] + 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. + - Forth/Fifth felt a bit too low-level language. So current + project/approach is an attempt using Java. +* See also +Following projects are inspiring or have similar goals: -** Perfect data storage and computation engine - :PROPERTIES: - :ID: 4224d52c-2ee1-411a-bd89-77c286322b21 - :END: ++ [[https://github.com/kaveh808/kons-9][kons-9]]: An IDE For 3D Production. The intention is to develop a + flexible and extensible system in which can be built a wide variety + of application and domain specific tools and packages. -I hate to choose between good things. Figuring out a way to combine -below properties in one system would be beyond awesome. - -(That`s the high level overview, details are slowly being worked -out...) - -*** 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 ) - -+ Smalltalk (programming language / runtime): - + Everything is object. - + On the fly modifiable / reprogrammable. - + Anything can be suspended/resumed from persistent storage on the - fly. - -+ 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). - -*** Data storage -See: [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][Sixth data subproject]] - -+ Relational databases: - + Transactional - + Indexable / Quickly searchable - -+ Git (version control system) - + Versionable - + Branchable / mergeable. - + Transparent cansistency, checksumming and deduplication. - + (Git as a database: - https://www.kenneth-truyers.net/2016/10/13/git-nosql-database/ ) ++ [[https://gtoolkit.com/][Glamorous Toolkit]]: Moldable development environment. It is a live + notebook. It is a flexible search interface. It is a fancy code + editor. It is a software analysis platform. It is a data + visualization engine. All in one. -* Current status -+ Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]]. +** Computation on multi dimensional data ++ [[https://rd-alliance.org/system/files/Array-Databases_final-report.pdf][Array Databases: Concepts, Standards, Implementations]] -+ In the process of implementing some of building blocks: - - [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][Data storage engine.]] ++ [[https://tiledb.com/][TileDB]] + + Analyze and share complex multi-dimensional data at scale - - [[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]] ++ [[id:01aa65c1-3d44-44a8-9b90-58454bc6be80][CM-1 Connection Machine]] -+ System is nowhere near complete (given magnitude of effort required - and my free time available). Contributions welcome ! :) ++ [[https://lisp-stat.dev/][Lisp-Stat: An environment for Statistical Computing]] +** Distributed, reliable, parallel computing systems ++ [[https://github.com/vygr/ChrysaLisp][ChrysaLisp]] + + Assembler/C-Script/Lisp 64 bit, MIMD, multi CPU, multi threaded, + multi core, multi user Parallel OS. With GUI, Terminal, OO + Assembler, Class libraries, C-Script compiler, Lisp interpreter, + Debugger, and more... + ++ [[http://www.uruk.org/emu/Taos.html][TAOS]] + + Completely distributed operating system/virtual machine: + ++ [[http://esug.org/data/ESUG2015/3%20wednesday/1100-1130%20SQL%20Queries%20on%20Smalltalk%20Objects/SQL%20Queries%20in%20Smalltalk%20(James%20Foster).pdf][Gemstone/S]] + + Completely distributed smalltalk based computing + system. + ++ http://phantomos.org/ + + Programs run forever. System crash or reboot does not destroy + state of running program. + ++ [[http://wiki.squeak.org/squeak/2665][Magma]] + + Multi-user object database for Squeak