Owen Feik

Projects Experience Education Skills About

Realm View is a website which provides tools to create and host battlemaps for RPG games like dungeons and dragons.

It allows users to upload and manage a library of media, use it in scenes and present those scenes to players.

Realm View is made up of several components

  • A collection of web pages written in a custom HTML templating language and compiled with a Python script.
  • A backend server written in Rust, using warp, which provides the API and runs game servers for live sessions using WebSockets.
  • A frontend client, also written in Rust, which communicates using a hand-rolled event system in order to sync game state with the server.

It is currently under active development. A pre-alpha version is up here. The source code is available on GitHub.

architrice is a command line app in the form of a Python package for syncing decklists for the card game Magic: the Gathering from online deckbuilding websites to local files in a variety of file formats for use with their respective MtG clients.

architrice is written in Python and is available for download from PyPi. The source code is available on GitHub.

chsheet is an in-browser tool for creating and using highly flexible character sheets for roleplaying games like Dungeons and Dragons. It allows users to create and arrange various node types in order to track information about their character in a personalised and powerful way, storing character sheets on the server and accessing them from anywhere.

chsheet is written in plain JS, HTML and CSS. It is hosted at chsheet.com using a Node.js server running in a Docker container on a VPS. The source code is available on GitHub.

owen-bot

owen-bot is a Discord bot developed for use by friends which provides a wide variety of features including

  • Vote-kicks from voice channels
  • MtG card searching
  • DnD campaign management and notifications
  • Dice rolling and statistics
  • XKCD comic recall

owen-bot is written in Python, using the discord.py library. It is hosted on an AWS EC2 instance using Docker. The source code is available on GitHub.

Spells

Spells is a Python app which provides a CLI character sheet for the roleplaying game Dungeons and Dragons.

Spells allows users to track their characters' levels, spell slots and hit points, among other things. It provides search facilities for a local library of spells. It supports taking and managing notes and rolling dice.

The source code for Spells is available on GitHub.

and more...

To see everything that I'm publicly working on, you can check out my GitHub profile.

Conserve It

Software Developer, 2023 - Present

Conserve It develops control and optimisation software for building heating and cooling systems, which is deployed on custom hardware. My primary responsibilities include

  • Design and implement control and optimisation strategies for heating and cooling equipment control, using Java under the Niagara framework.
  • Maintain and contribute to a patchset for a C++ JNI support layer for said framework.
  • Develop a Linux kernel module (in C) for our embedded devices to support a serial protocol.
Seen Technology

General Technical Assistant, 2019 - 2022

Seen Technology is a digital signage firm at which I worked part-time while completing my degree. My responsibilities during my time there were varied and included

  • Working on Seen CMP, a LAMP stack website. This included both maintenance work and greenfield development such as the addition of a public API, XML ingestion configuration tool and integration with other services (among other projects).
  • Developing various applets for installations in client stores, such as wayfinding software and interior design visualisation projects.
  • Developed an application for creation and dispatch of job sheets to technicians, as well as other widgets and workflow scripts in a CRM system.
  • Operated 3D printing hardware including FDM, SLA and specialised Massivit Large format machines. Undertook some of the design and modelling work for the files printed on these machines.
  • Assembled and tested various electronics.
Melbourne University

2020 - 2022

Bachelor of Science majoring in Computing and Software Systems. WAM 80.

Melbourne High

2016 - 2019

Undertook VCE studies, taking Algorithmics, Mathematics, Literature, History, Physics and Extended Investigation.

Programming Languages

I've worked with many programming languages, whether professionally, as part of my education, or out of personal interest. These include

  • Java, professionally for various projects at Conserve It and for university courses.
  • C for Linux kernel module development and toy projects.
  • C++ for a JNI support framework.
  • Python, for build and utility scripts and larger personal projects.
  • Rust, my main language for new projects.
  • JavaScript, HTML, CSS for web development at Seen Technology and for web-based projects.
  • PHP, the primary language at Seen Technology.

I routinely try out new languages as I need them for an application or just because I enjoy trying out different programming paradigms. I feel comfortable slipping into a new language as needed. Other languages that I've touched briefly include Prolog, Haskell and Commong Lisp.

Dev Tools

Having used Linux as a daily driver for several years, including to deploy applications, I'm comfortable with many common development and Dev Ops utilies including

  • Docker, for deployment of personal projects and for development environments in professional settings.
  • SQL databases, extensively for personal projects and at Seen Technology.
  • AWS and Microsoft Azure, which I've used to host personal and university projects.
  • Ubuntu, which I've used as a daily driver for development work, CentOS/RHEL for deployments at Seen technology, and Arch Linux my main distribution for personal use.
Contact

I can be emailed at [email protected].

If you have a question about or have found an issue with one of my projects, feel free to open a GitHub issue on the relevant repository.

Personal

In my spare time, I enjoy working on personal software projects, running, reading novels (largely science fiction) and playing tabletop or online games with friends.

MHS Robotics

Melbourne High School Robotics offers a program in robotics, initially LEGO robots programmed with Python, graduating to open robots where robots are assembled from a variety of individually sourced motors, sensors and 3D printed chassis. Students are guided in building robots and developing software for them, eventually participating in competitions.

Having participated in the club during high school, I am now part of the administration and mentoring group for the club and have been since 2020.

For this role I mentor students in robotics concepts, assisting them in developing their physical and software designs. I also help out with the administration of the club.

NCSS Challenge

The NCSS challenge helps students to learn programming in Python while providing access to volunteer mentors to aid students in learning. I Mentored students in the challenge in 2020 and semester one 2021.