Skip to content

bitspook/entropy

Repository files navigation

Entropy

Entropy helps a tech community run and manage itself. It provides a platform where people can come together to discuss things, set goals for themselves, and approach methodically to achieve them.

Goals

Individual Freedom

Being a part of the community should not mean compromising an individual’s freedom. To ensure this, Entropy allows contribution at any level of anonymity a member wants.

This expands to other aspects of how Entropy guides a community. Law of a passive majority should not force individuals against their wishes. Contributors should be valued more than passive members.

Freedom of ownership

Those who contribute to the group should have ownership over it. Any member can achieve decision making power by contributing more.

Methodical

Entropy should help its members take more methodical approach to achieve their goals. It should actively guide towards approaches which are:

  1. Measurable
  2. Achievable
  3. Encourage collaboration

Ownership of content

Content created by members of the group should belong to the individual members. A group shutting down, which means the Entropy app, and all user generated content on it disappearing from the web, should not cost a member their content. Because the member owns their content.

Entropy app should shield users in above mentioned scenario.

Cost efficient

Running the Entropy should not put a stress on the community. Entropy actively tries to make it possible to run itself for as little money as possible.

Current implementation of Entropy can be built to a static site, and hosted 100% for free.

Development

Setup

Entropy uses nix for setting up its development environment. That means you don’t need to install anything except nix itself on your machine to work with Entropy.

Prerequisites:

  1. Install nix
  2. Enable nix flakes

Run following command to ensure that nix downloads and sets up all the required dependencies (including rust, rust-analyzer, postgresql etc).

nix develop

It is recommended to use direnv, which will allow you to work with development environment provided by nix, while keeping staying in your own terminal (nix develop drops you in a blank bash prompt).

Usage

Entropy app itself can be built with standard cargo commands.

cargo build                     # Build a debug binary
cargo build --release           # Build release binary
cargo run -- --help             # Build and run the app, and view CLI help

Start development database

To start the development database and other infrastructure, run:

cargo make start infra

Explore Makefile.toml for more tasks (e.g to start only database)

Entropy Hackerspace

Entropy is being used by Entropy Hackerspace (https://entropyhacker.space). You can join the community on following platforms:

Chat

All the chat mediums are bridged, so you can connect to any one of them and communicate with the same group of people.