Projects

I have been writing code for a rather long time now and have quite a few projects under my control, most projects here are active and I am returning to development on them since having finished up with university. Most of the things here (if not all) are written in D which is my programming language of choice. Some other projects will be returned to in terms of development whilst other are fully deprecated.








If you have any questions, find my details on the Contact page - enjoy!


Active projects

All the projects listed below are considered active in development and/or are still supported by me.

libpb

PocketBase wrapper with serializer/deserializer support

jstruct

Library that easily lets you serialize a struct in D to JSON and vice-versa

dlog

Simple and modular logging library with support for chained custom text transformers and custom loggers

tristanable

Tag-based asynchronous messaging framework for D. This allows you to write software that awaits on messages that have a certain tag sent with them.

This is heavily used in my chat applications because of the need of a state machine in an otherwise non-state-machine-like socket stream where a reply for one thing can come in before another regardless of the order things were sent in (or in the case of messages sent without a prior request (i.e. notifications)).

bformat

Simple message format that uses a 4-byte header for length. Used in many of my D network programs whereby I need a simple container format to hold arbitrary data, perhaps binary data, JSON etc.

BonoboNET

An IRC network for hackers, programmers etc. Running on 3 servers currently, 1 in Lebanon, 1 in the UK and 2 in South Africa using unrealircd, provides atheme services for features such as NickServ, ChanServ and HostServ.

Project homepage

CRXN

A community-run IPv6 network similiar to dn42 which runs in the fd00::/8 space. We use bird for routing and an assortment of routing protocols such as babel and ospfv3. We have IRC servers on the network, game servers, a DNS root nameserver, many web services and more things! The network spans South Africa, United Kingdom, Germany, Lebanon and Russia.

Project homepage


libtun

A TUN/TAP OOP-based adapter for use in D-based applications

gogga

Pretty-printer for debug messages with VT100 colouring. Used in many of my projects to make debug messages much more readbale and easier to process by fellow humans.

eventy

Event handling system for writing handlers and triggering them later.

birchwood

A sane IRC framework for the D language.

Makes use of Eventy for event handling and libsnooze for the receive and send queue manager threads.

libsnooze

A wait/notify mechanism for D

Guillotine

Executor framework with future-based task submission and pluggable thread execution engines

gitea-irc-bot

A Gitea webhook-based IRC bot


Upcoming projects

These projects are either on hold or still being worked on and are yet to be released.

tristan

A new programming language for systems programming with a focus on control of everything, minimalism and supporting OOP.


Inactive projects

All the projects listed below are no longer worked on or maintained.

tasky

Framework for writing programs that require callbacks to run from certain types of messages sent over a socket. Uses tristanable and eventy in the backend.

DNET

A new chat binary protocol aiming to replace IRC with modern day features.

Project homepage

Butterfly

Butterfly is a full email system that uses JSON-based messaging embedded in bformat. It provides a single server that acts as both mail delivery and mailbox management system (analog to providing SMTP and POP/IMAP in one single service). It supports client-to-server connectivity along with server-to-server connectivity for inter-server mail delivery.

  1. butterflyd homepage
  2. skoenlapper

Bester

A federated pluggable message-exchange protocol

Project homepage