Projects

Here’s some things I’ve been building the past while.

Odin is a programmable, observable and distributed job orchestration system which allows for the scheduling, management and unattended background execution of user created tasks on Linux based systems. Job schedulers by definition are supposed to eliminate toil, a kind of work tied to running a service which is manual, repetitive and most importantly, automatable. While Odin cares about what is to be executed and when it will be executed, Odin is equally concerned with the expected behaviour of your job, which is described entirely by the user’s code. This observability is achieved through a web facing user interface which displays job logs and metrics. All of this is gathered through the use of Odin Libraries written in Go, Node.js and Python. Odin can infer the internal state of jobs by leveraging these libraries, which in turn can be used to speed up the debugging process associated with jobs which yield unexpected behaviour.

Predominantly written in Go, you can check out the source code here



ezsh is a user-friendly and interactive shell designed to simplify a beginner's view of command line environments. ezsh supports many common shell utilities such as pies, redirection and history. Along with this, the shell supports a new feature referred to as "stars", which act as bookmarks for directories on the current system. Along with a shell interface, ezsh comes with an ncurses backed explorer panel which allows the user to use the terminal like a regular file explorer.

Written in C submitted as my third year project, ezsh achieved an overall grade of 79%. You can check out the source code here.



dcurooms is a command line tool used to display room information around the DCU campus. Along with this, dcurooms has built in functionality requestand book rooms for events, meaning room bookings for DCU society weekly events can be automated. This is also a useful utility for DCU students, as it supports DCU timetable lookup for all courses DCU run during the academic year.

Written in Python, you can check out the source code here.



brickbot is a simple serverless bot for the new Redbrick Discord, made extendible by OpenFaaS. Simply put, brickbot is just some Node.js which runs as a systemd service, and all it needs to do is make HTTP requests to functions I run using OpenFaaS. This means that no matter what your preferred language is, you're able to extend the functionality of brickbot. All I need to do is take your code, and add it to my Docker Swarm. The dockerfiles for the functions in this Swarm can be found here.

Written in Node.js, you can check out the source code here.