8.4 KiB
title |
---|
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
.
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.
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.
- Project homepage
Source codeSource code will be available by the end of 2023, with a release expected by then.
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.
- dnetd - A server for the DNET chat protocol
- skippy - A text-based DNET chat client
- Gustav - A GTK3+ graphical chat client for DNET
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.
- butterflyd homepage
- This provides the mail server
- skoenlapper
- This is the text-based email client for butterfly
Bester
{{}} {{}}
A federated pluggable message-exchange protocol
{{}}
{{}}