Ally Kotetsu's Portfolio

About

My name is Ally Kotetsu, and I'm a software engineer that's been programming solo for several years. I specialize in backend systems, although I am knowledgeable on how to create some frontends and how to work with backend APIs, and I have experience in game design related fields, such as Unity, SDL2, and game modding.

Below you will find projects separated into sections by language, detailing what the projects are, how they work, and what skills they demonstrate.

This page is still a work in progress, but contains at least one fully funtional minimum viable product demonstrating appliable programming skills on multiple ends.


Rust

I have been programming in Rust for a limited amount of time now, but my knowledge of the language is extensive, and I have furthered my learning by creating functional full-stack programs, backend APIs, automated bots, and small games. Despite having recently started learning Rust, my many years of programming and learning multiple languages has helped me learn this language well as fast, learning more everytime I start a new project.

Enchat (API)

Enchat is an end-to-end encrypted chat program created for this portfolio. The backend demonstrates knowledge of the language Rust, as well as knowledge of cryptography, shell scripting, SQL database management, HTTP Authorization API, Rust crates, and more.

To see the live demo, visit enchat.portfolio.allykotetsu.com, and to review the codebase visit the Github.

Code Exerpts

Simple middleware that requires authentication for accesing endpoints, which delegates more complex code to the function that gets the user requesting the resource.

This function gets the bearer token (a cryptographic signature) of the request (which it extracts through one last function) and verifies it against the plaintext challenge in the cookies (which is associated with a public verifying key).

This function gets the bearer token from a request, using a series of Option checks that can return None, which will result in a Bad Request error message (which is automatically formatted into a status code response) if improperly formatted, or whatever the bearer token is if properly formatted..


C++

I have been programming in C++ for over 7 years, working with its file API, standard library, asyncronous programming, and more. I have created games in it using the SDL2 library.

C

I started programming in C a few years after learning C, preferring its lack of object oriented structure that overcomplicates things can be easily done without it. I also used C to make games in SDL2.


Java

I have been programming in Java for over 6 years. The main things I have done with it is Minecraft modding. I have working Knowledge of Java's OOP, as well as the functional side of the language, as well as how to use various libraries for it. My applicable knowledge of Java isn't as strong as other languages, but I know how to make production ready products with it and can quickly learn how to use the necessary libraries for building applications.

Minecraft Modding

In the past I have honed my skills with Java by creating mods for the popular game Minecraft.

These mods utilize Java's object oriented paradigm to create extensible and idiomatic programming structures that work with Minecraft's existing engine to add on new content.

Code Exerpts

Code that renders a square onto the block that is being looked at, based off of existing Minecraft code.

Code that walks through Minecraft directories and loads custom JSON "registry packs".

Respective client and server code for handling double jumps when specific items are equipped.

Code for crafting customizable food items extending off of existing Minecraft virtual functions, as well as a JSON item model.

Implementation of a custom CardType abstract class which defines how this type of card should act every frame in-game, as well as the use of the onEntityActiveTick function inside of the physical entity tick functions (as opposed to just entity behavior).


HTML

I created this page in HTML! Though it is not very impressive by most standards.

Enchat (Frontend)

The enchat frontend is entirely composed of HTML, CSS, and JS. It is generated by an install script that is placed into a directory that nginx reads and serves. It demonstrates working knowledge of the aforementioned programming languages, advanced CSS concepts like animation, applicable JavaScript concepts like web workers, the crypto API, and DOM control.