V DeOS: Decentralized Operating System
V Definition of Terms
* Backpropagation
Is a method used in artificial neural networks to calculate the error contribution of each neuron after a batch of data is processed.
* Bitcoin
A decentralized timestamp / messaging protocol that when implemented / stable results in a value storage system (C-like pointers for PoW).
* Cellular Automation
* Collective Consciousness
The set of shared beliefs, ideas and moral attitudes which operate as a unifying force within society.
* Collective Unconscious
The structures of the unconscious mind which are shared among beings of the same species.
* Dunbar’s Number
The suggested cognitive limit to the number of people with whom one can maintain stable social relationships.
* Flux
The word flux comes from Latin: fluxus means “flow”, and flier is “to flow”.
V Maslow’s Hierarchy of Needs
* 1 Physiological Needs
* 2 Safety Needs
* 3 Social Belonging
* 4 Esteem
* 5 Self-Actualization
* 6 Self-Transcendence
* Middle C
The fourth C key from the left on a standard 88-key piano keyboard.
* Quantum Entanglement
A physical phenomenon that occurs when pairs or groups of particles are generated or interact in ways such that the quantum state of each particle cannot be described independently of the others, even when the particles are separated by a large distance—instead, a quantum state must be described for the system as a whole.
* Self-Actualization
Becoming the best person that one can possibly strive for in the service of both the self and others.
* Self-Reference
Occurs in natural or formal languages when a sentence, idea or formula refers to itself.
* Strange Loop
A cyclic structure that goes through several levels in a hierarchical system. It arises when, by moving only upwards or downwards though the system, one finds oneself back where one started.
* Synchronicity
A concept which holds that events are “meaningful coincidences” if they occur with no casual relationship yet seem to be meaningfully related.
* Tangled Hierarchy
A hierarchical consciousness system in which a strange loop appears.
> DeOS File System
> DeOS Universe
> Drivers
> Projects
V Rules
V A Style
* 1 Use descriptive names for globals, short names for locals.
* 2 Be consistent.
* 3 Use active names for functions.
* 4 Be accurate.
* 5 Indent to show structure.
* 6 Use the natural form for expressions.
* 7 Parenthesize to resolve ambiguity.
* 8 Break up complex expressions.
* 9 Be clear.
* 10 Be careful with side effects.
* 11 Use a consistent indentation and brace style.
* 12 Avoid function macros.
* 13 Parenthesize the macro body and arguments.
* 14 Give names to magic numbers.
* 15 Define numbers as constants, not macros.
* 16 Use character constants, not integers.
* 17 Use the language to calculate the size of an object.
* 18 Don't belabor the obvious.
* 19 Comment functions and global data.
* 20 Don't comment bad code, rewrite it.
* 21 Don't contradict the code.
* 22 Clarify, don't confuse.
V B Interfaces
* 1 Hide implementation details.
* 2 Choose a small orthogonal set of primitives.
* 3 Don't reach behind the user's back.
* 4 Do the same thing the same way everywhere.
* 5 Free a resource in the same layer that allocated it.
* 6 Detect errors at a low level, handle them at a high level.
* 7 Use exceptions only for exceptional situations.
V C Debugging
* 1 Look for familiar patterns.
* 2 Examine the most recent change.
* 3 Don't make the same mistake twice.
* 4 Debug it now, not later.
* 5 Get a stack trace.
* 6 Read before typing.
* 7 Explain your code to someone else.
* 8 Make the bug reproducible.
* 9 Divide and conquer.
* 10 Study the numerology of failures.
* 11 Display output to localize your search.
* 12 Write self-checking code.
* 13 Write a log file.
* 14 Draw a picture.
* 15 Use tools.
* 16 Keep records.
V D Testing
* 1 Test code at its boundaries.
* 2 Test pre/post-conditions.
* 3 Use assertions.
* 4 Program defensively.
* 5 Check error returns.
* 6 Test incrementally.
* 7 Test simple parts first.
* 8 Know what output to expect.
* 9 Verify conservation properties.
* 10 Compare independent implementations.
* 11 Measure test coverage.
* 12 Automate regression testing.
* 13 Create self contained tests.
V E Performance
* 1 Automate timing measurements.
* 2 Use a profiler.
* 3 Concentrate on the hot spots.
* 4 Draw a picture.
* 5 Use a better algorithm or data structure.
* 6 Enable compiler optimizations.
* 7 Tune the code.
* 8 Don't optimize what doesn't matter.
* 9 Collect common subexpressions.
* 10 Replace expensive operations by cheap ones.
* 11 Unroll or eliminate loops.
* 12 Cache frequently-used values.
* 13 Write a special-purpose allocator.
* 14 Buffer input and output.
* 15 Handle special cases separately.
* 16 Precompute results.
* 17 Use approximate values.
* 18 Rewrite in a lower-level language.
* 19 Save space by using the smallest possible data type.
* 20 Don't store what you can easily recompute.
V F Portability
* 1 Stick to the standard.
* 2 Program in the mainstream.
* 3 Beware of language trouble spots.
* 4 Try several compilers.
* 5 Use standard libraries.
* 6 Use only features available everywhere.
* 7 Avoid conditional compilation.
* 8 Localize system dependencies in separate files.
* 9 Hide system dependencies behind interfaces.
* 10 Use text for data exchange.
* 11 Use a fixed byte order for data exchange.
* 12 Change the name if you change the specification.
* 13 Maintain compatibility with existing programs and data.
* 14 Don't assume ASCII.
* 15 Don't assume English.
V G Xanadu
* 1 Every server is uniquely and securely identified.
* 2 Every server can be operated independently or in a network.
* 3 Every user is uniquely and securely identified
* 4 Every user can search, retrieve, create and store documents.
* 5 Every document can consist of any number of parts each of which may be of any data type.
* 6 Every document can contain links of any type including virtual copies ("transclusions") to any other document in the system accessible to its owner.
* 7 Links are visible and can be followed from all endpoints.
* 8 Permission to link to a document is explicitly granted by the act of publication.
* 9 Every document can contain a royalty mechanism at any desired degree of granularity to ensure payment on any portion accessed, including virtual copies ("transclusions") of all or part of the document.
* 10 Every document is uniquely and securely identified.
* 11 Every document can have secure access controls.
* 12 Every document can be rapidly searched, stored and retrieved without user knowledge of where it is physically stored.
* 13 Every document is automatically moved to physical storage appropriate to its frequency of access from any given location.
* 14 Every document is automatically stored redundantly to maintain availability even in case of a disaster.
* 15 Every service provider can charge their users at any rate they choose for the storage, retrieval and publishing of documents.
* 16 Every transaction is secure and auditable only by the parties to that transaction.
* 17 The client-server communication protocol is an openly published standard. Third-party software development and integration is encouraged.