Cleaned up project description / ideas.
[sixth.git] / doc / index.org
index e166a98..118bfb2 100644 (file)
 #+HTML_HEAD:   pre {background-color: #111; color: #ccc;}
 #+HTML_HEAD: </style>
 
+* Vision / goal - A tool to amplify human ability
+  :PROPERTIES:
+  :ID:       1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f
+  :END:
+In short, this is what I want:
+
+- [[id:4224d52c-2ee1-411a-bd89-77c286322b21][Perfect data storage and 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)
+
+    #+BEGIN_QUOTE
+    “Virtual reality holds the key to the evolution of the human mind”
+    Dr. Lawrence Angelo, The Lawnmower Man (1992)
+    #+END_QUOTE
+
+
+** Perfect data storage and computation engine
+  :PROPERTIES:
+  :ID:       4224d52c-2ee1-411a-bd89-77c286322b21
+  :END:
+I love thease existing solutions and properties:
+
++ Lisp (programming language):
+  + Almost no syntax.
+  + Code and data intercangeable.
+  + Easily self modifying.
+
++ Smalltalk (programming language / runtime):
+  + Everything is object.
+  + On the fly modifiable / reprogrammable.
+  + Anything can be suspended/resumed from persistent storage on the
+    fly.
+
++ Relational databases:
+  + Transactional
+  + Indexable / Quickly searchable
+
++ Git (version control system)
+  + Versionable
+  + Branchable / mergeable.
+  + Transparent cansistency, checksumming and deduplication.
+
++ 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).
+
+
+I hate to choose between good things. Figuring out a way to combine
+above properties in one system would be beyond awesome.
+
+(I have not solved it yet..)
 * Current status
-There is nothing useful for regular people yet.
++ Formulated high-level [[id:1f4e1c17-d25f-4d92-aa9b-5785f1d86f4f][vision / goal]].
 
-Sixth is presently in research / prototyping and ideas collecting phase. Some
-working parts are already implemented:
-
-
-+ Sub projects:
++ In the process of implementing some of building blocks:
   - [[http://www2.svjatoslav.eu/gitbrowse/sixth-data/doc/index.html][First layer of storage: Simple persistent key-value map.]]
 
   - [[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]]
 
-* Vision
-- A tool to amplify human ability.
-
-- Properly visualizes and immerses user in completely various forms of
-  information and provides intuitive and powerful ways to explore,
-  interact and manipulate it with fast feedback loop to immediately
-  see results.
-
-#+BEGIN_QUOTE
-“Virtual reality holds the key to the evolution of the human mind”
-Dr. Lawrence Angelo, The Lawnmower Man (1992)
-#+END_QUOTE
-
-* Feature ideas to implement/incorporate in the future
-- Semantic networks / knowledge trees.
-  - Is able to use natural language for knowledge mining and question answering.
-    This could potentially lead to self aware artificial intelligence. Because
-    of [[http://en.wikipedia.org/wiki/Three_Laws_of_Robotics]["Three laws safe"]] design, there is nothing that can go wrong.
-
-- Become an alternative to KDE, Gnome, Canonical Unity or similar desktop user
-  interfaces.
-
-- Become an open source scientific computing engine of structured data as an
-  alternative to proprietary Wolfram Alpha.
-
-- Become an open source solution for unstructured knowledge extraction and
-  processing, similar to IBM Watson.
-
-- P2P (Peer to peer) distributed computation system.
-
-* Technical capabilities to have
-Perfect computing system must have advanced data visualization,
-storage, transmission and computation capabilities.
-
-There are LOTS of existing cool technical ideas and solutions for each
-challenge. It's really hard to pick the best. Here is a small list to
-evaluate.
-** Computing
-Efficient distributed computing is required.
-
-Possible solutions:
-+ MapReduce algorithm.
-+ LLVM.
-+ Julia programming language.
-+ ...
-** Networking
-P2P secure, fast and reliable networking is required.
-
-Possible solutions:
-
-+ I2P: https://geti2p.net/en/
-+ GNUnet: https://gnunet.org/
-+ FreeNet
-+ ...
++ System is nowhere near complete (given magnitude of effort required
+  and my free time available). Contributions welcome ! :)