Currently Active Projects
- lchat
-
Local chat is a very simple ‘irc-ish’ chat system over a Unix socket for a single computer/server. The target for this software is for headless servers allowing admins or other users to easily communicate on the console.
Development: Git Repository
- cutlet
-
Inspired by Tcl, Cutlet is designed to be a small and simple utility language to be used by other programs and projects.
Development: Git Repository
- meat
-
Meat is designed to be a very simple, high level and cross platform computer programming language for any with computer experience can learn and use.
This project is currently on hold. Unfortunately I was spending more time debugging the C++ code than developing features so I’m doing some testing with Cutlet and LLVM to create a language better suited for this project.
Development: Git Repository
Software repositories are available for Debian. Currently only lchat
has been packaged but cutlet should be joining it soon.
# Download and install the public key to verify deb packages. sudo apt-key adv --keyserver keys.openpgp.org \ --recv-keys 7B86848C194CE861 # As root add the repository to apt. # For Debian 9 (Stretch) echo "deb https://apt.digitalcombine.ca/ stretch main" > \ /etc/apt/sources.list.d/digitalcombine.list # For Debian 10 (Buster) echo "deb https://apt.digitalcombine.ca/ buster main" > \ /etc/apt/sources.list.d/digitalcombine.list # For Debian 11 (Bullseye) echo "deb https://apt.digitalcombine.ca/ buster main" > \ /etc/apt/sources.list.d/digitalcombine.list chmod 0644 /etc/apt/sources.list.d/digitalcombine.list # Update apt! sudo apt update sudo apt install lchat
FreeBSD package repositories are now available. To enable the repository in pkg run the following as root.
# Create /usr/local/etc/pkg/repos/digitalcombine.conf file. mkdir -p /usr/local/etc/pkg/repos cat > /usr/local/etc/pkg/repos/digitalcombine.conf << EOF digitalcombine: { url: "http://pkg.digitalcombine.ca/\${ABI}", signature_type: PUBKEY, pubkey: "/usr/local/share/keys/digitalcombine.pub", enabled: yes } EOF # Download and install the public key. mkdir -p /usr/local/share/keys curl -o /usr/local/share/keys/digitalcombine.pub \ https://pkg.digitalcombine.ca/digitalcombine.pub # Update pkg! sudo pkg update sudo pkg install lchat
Contributing
Each project is currently hosted and managed on GitHub. Any issues, feature requests and security advisories are all managed there.
Contributing Source Code
With the projects being open source, source code contributions are welcome and encouraged. Before submitting source code here’s a small check list.
- Comment your code and changes. It doesn’t matter how incredible your code may be, if we can’t understand it, it will not likely be added to the project. We have to be able to manage and maintain all the source code.
- Being ad-hoc development, test suites tend to be an after thought, but before submitting a patch make sure it passes all the tests. If new tests are required, please feel free to add them.
- Always be kind, courteous, helpful, friendly, welcoming…
Code is contributed through GitHub pulls. Basically a pull is a git branch off the development
branch. If the code is accepted it will be merged back into the development
branch. To understand the development flow for a project the git branches are used as follows.
- Master branch (Releases only)
- Development branch (Currently developed software, to be merged into a release branch)
- Feature branches (GitHub pulls, to be merged back into the
development
branch)
- Feature branches (GitHub pulls, to be merged back into the
- Development branch (Currently developed software, to be merged into a release branch)
There are also branches in between the master
branch and development
branch to prepare the software for release. For the curious, these branches are release-1.2
, release-1.3
, release2.0
an so on.
To create a pull, you create a fork of the project then create the pull (branch) from there. This gives you write access to the newly created pull branch. This is a very simplified explanation. More details are found at GitHub documents.