npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jungle-core

v0.9.3

Published

The organic programming framework

Downloads

27

Readme

Jungle - Organic Programming Framework

npm version

Documentation Presentation

Abstract

A framework for creating modular systems with high levels of structural dynamism, interconnectedness, contextual dependency and recursive depth. These aspects are often found in the ‘organic’ systems of nature and society which is why it is called an Organic Programming Framework.

The ultimate aim of the framework is to enable the collaborative construction, and modification of live systems running remotely or locally using a visual editor. These synchronised systems can be running in any kind of environment, including large distributed systems, cross-platform multimedia production and data analysis engines and micro-controllers. programmed in any language that supports the implementation of the core framework.

It is believed that by enabling cooperation and democracy into the systems that shape our lives that they will be more likely to serve the objectives, needs and ethics of the users, rather than the profit making goal global corporations.


Founding Principles

By creating a language of abstractions that support a certain few core principles, the ultimate objectives of the framework can be achieved.

  • Lateral and Temporal Recoverability
  • Process-Data Cohesion
  • Arbitrarily Interconnected
  • Recursive Structure
  • Dynamic and Static extensibility

Lateral and Temporal Recoverability

the state of a program as well as possible changes to it can be serialised to a recoverable format and applied in contexts spanning sessions, hosts and name-spaces.

Process-Data Cohesion

Processes and data have a similar shape, both being declarative, hierarchical and pictographic(code looks like a diagram) where possible.

Arbitrarily Interconnected

A space of interconnection(a weave) facilitates any form of connectedness, including many to many, dedicated, request/pull, broadcast/event/push state sharing, addressed.

Recursive Structure

Everything that can be built can be made a component of another system and can transition from being terminal to being composite.

Dynamic and Static Extensibility

All structures are extensible, including those that are active parts of live systems, and also static patterns in the names-pace used to build those live systems.


Project Scope Breakdown

  • Tooling and development .
  • Domain Specific Libraries
  • Networking and Distributed Computing.

Tooling and Development

  • Implementations of Framework as a library for many programming languages.
  • Its own programming language compiling to many platforms, the “Organic” Programming Language. Static types and exceptions for linting.
  • A comprehensive testing and debugging Library, integrated with a Dedicated IDE that includes..
  • A Graphical System Editor for constructing systems and deploying them to receivers of identical systems(Hosts).

Domain Specific Libraries

  • Multi-media engine for building tools to revolutionise the production of the sonic and visual arts through greater collaboration.
  • A web application development framework, with Graphical User Interface building library.
  • An engine for Artificial intelligence, machine learning, and any other heavily concurrent tasks(possibly the core of the media engine).
  • Embedded programming engine for easy integration with sensor devices.

Networking and Distributed computing

  • Secure network communication, compatible with server-client and peer-to-peer broadcast network architectures.
  • Collaboration is enabled by supporting sympathetic translation of change across many hosts as a key feature.
  • Development of Democratic host systems where the users are the developers and are able to make changes managed under a political framework that is programmable with the same language as the subject system.
  • The Alignment of real systems of economic activity, managing the exchange of tangible value with cryptographic value(block-chain).

Implementation (only loosely in order)

  • Create a leading implementation with the complete core feature set on the web platform.
  • Formalise the specification of the serialisation format and expected behaviour of a Jungle compliant runtime.
  • Develop flagship domain specific modules; Networking, Web Multimedia,
  • Create a web portal for basic information and updates about the project, along with downloads, examples and documentation. A place for potential contributors to get in touch.
  • Create a globally accessible, centralized module repository, and registry of public remote jungle hosts.
  • Create the core graphical editor, and essential developer tools.
  • Foster the creation of a community and guide it, overseeing and validating implementations.
  • Begin the task of mapping democratic onto the real systems of economy and ecology.

Remarks

Although it may seem to be an impossible task to implement such a broadly scoped yet tightly constrained framework — for instance is it really possible to make a system that can be modified from a distance secure? — That thinking will have no place. It is really only a matter of getting the core to a stable implementation that can be reproduced by the communities of the various platforms that will see the benefit of being connected to the Jungle. The grandest vision obviously cannot be created by me alone. No. I am only a guide and If no one joins me with the belief that it leads to a more open, democratic and dynamic world, then the project may only achieve a subset of its intended features. But working together we can build the next step toward the technological transcendence of humanity.