#+TITLE: Sixth - system for data storage, computation, exploration and interaction * (document settings) :noexport: ** use dark style for TWBS-HTML exporter #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: #+HTML_HEAD: * General - This program is free software: released under Creative Commons Zero (CC0) license - Program author: - Svjatoslav Agejenko - Homepage: https://svjatoslav.eu - Email: mailto://svjatoslav@svjatoslav.eu - [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]] ** 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]] - 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: 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 + 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]]. + Free and open. + 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 [[https://www3.svjatoslav.eu/projects/fifth/][Fifth]] (computing/programming environment). - 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: + [[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. + [[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. ** Computation on multi dimensional data + [[https://rd-alliance.org/system/files/Array-Databases_final-report.pdf][Array Databases: Concepts, Standards, Implementations]] + [[https://tiledb.com/][TileDB]] + Analyze and share complex multi-dimensional data at scale + [[id:01aa65c1-3d44-44a8-9b90-58454bc6be80][CM-1 Connection Machine]] + [[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