Software Development
Here's a selection of my software development projects. Some are personal projects and some were made for employers, but I'm proud of all of them. If you'd like to discuss what I can do for your company, organisation, or project, please reach out to me.
print-openapi
This tool takes an OpenAPI file and spits out a printable, static HTML file. I wrote this tool to address our internal documentation needs at Sendle, and to let our software developers easily create updatable, externally-sharable API docs with third parties.
github.com/sendle/print-openapiSkills: Typescript, Node.js, npm/yarn, Jest, YAML, JSON, OpenAPI, specifications, markdown.
Ergo IRC Server
Ergo is the most modern and complete Golang server implementation of the Internet Relay Chat protocol. I created it to be simple to setup and test bleeding-edge IRCv3 features and proposals.
ergo.chat/aboutSkills: Golang, service, server, protocol design, specifications, tcp.
n8n-nodes-irc
This node for the n8n automation tool lets you send messages to IRC servers from your n8n workflows.
github.com/DanielOaks/n8n-nodes-ircSkills: Typescript, Node.js, npm, plugin, n8n, protocol, tcp.
Game2
The Squiggly River Games Collective, a Brisbane-based arts community, invited me to make a game for their Play//Space exhibition. The result is a medley of mysterious experiences created in Godot.
pixienop.itch.io/game2 github.com/DanielOaks/game2Skills: Game development, scripting languages, OO, GDScript, GLSL, game design.
IRC.com Script Runner and Docker Suite
At IRC.com, I was responsible for testing a suite of chat servers to confirm that their protocol acted as expected. To do so, I created and maintained a suite of Docker images and a test runner to confirm compatibility.
github.com/irccom/script-runner github.com/irccom/test-serversSkills: Golang, Docker, testing, scripting, tcp.
Private Internet Access Internal Tooling
During my time at PIA I put together an internal uptime checker to assist our DevOps team. This tool helped us respond to website and service outages long before they would otherwise be detected. As QA lead, I also created and hosted internal tooling to let my team check various VPN, DNS, SMTP, and other functionality.
privateinternetaccess.com/Skills: Golang, Python, software architecture, networking, DevOps, uptime, Slack notifications, tcp/udp.
ircdog
I developed ircdog for the Internet Relay Chat developer community. It's a tool that lets you connect to IRC servers and send/receive raw IRC protocol lines, with extra features that using telnet or ncat does not give you.
github.com/ergochat/ircdogSkills: Golang, protocol, tcp, command line, terminal.
GitHub Profile
I've got more projects to see on my GitHub profile! I've been working with code for so long that there I can't include all of them, but feel free to search by language if you'd like to see examples.
github.com/DanielOaks