Richard Gieg

Software Engineer

Intro

I'm a full stack software developer with previous experience as an IT professional and network engineer. I enjoy working in all layers of the stack, from web development to hacking on the bare metal, and everything in between. Since 2017, my days have been jam-packed with TypeScript, JavaScript, SQL, HTML, and CSS as a full stack developer for an edtech startup called Hammer.

Languages

Services

Frameworks & Libraries

Extracurricular Activities

Work Experience

Software Engineer

Hammer
2017 to Present

Developer Support Engineer

Cloudinary
2016 to 2017

Systems Analyst

Schurman Retail Group
2014 to 2015

Technical Support Analyst II

Schurman Retail Group
2013 to 2014

IT Support Specialist

Schurman Retail Group
2011 to 2013

Network Admin

Gordon's Music and Sound
2010 to 2011

Side Projects

RUNO -- the UNO clone

RUNO is a browser-based multiplayer online game modeled after the popular card game UNO. It supports up to 10 players and is completely free without any ads. The game works great on both desktop and mobile devices. I wrote this after completing Udacity's Full Stack Developer Nanodegree program in 2015, in order to tie together everything I learned and give myself a challenge. The frontend is written in JavaScript and makes use of jQuery. The backend was originally written in Python, but I ported it to TypeScript (with some rough edges) in 2019 as a quick weekend project. I'd like to make a new version from scratch, with additional features, in the near future.

Rx64 OS

A nowhere-near-complete experimental operating system for x86-64 PCs, written in C. I started this project in 2020 in order to get experience with UEFI. In the past I have written boot loaders in assembly language that are intended to be loaded by legacy BIOS environments, so this time I wanted to explore what it would be like to create a boot loader and kernel that is launched in a UEFI environment. I got up close and personal with the Windows Portable Executable format, as I had to parse the PE headers of my kernel executable image in order to properly load and transfer control it. Also, I created a bitmap font by laying out ASCII characters in a Windows terminal, taking a screenshot, pasting it into MS Paint, saving as a monochrome bitmap, then programmatically parsing it and injecting the result as binary literals into one of my C source files. Although this project did not become an OS by any means, it does have some nifty demos, such as reading through all the memory space on the computer and printing any "printable" characters to the screen while cycling through colors. I had a blast working on it.

Rx64 Emulator

This C# project was a labor-of-love experiment of mine that I started in 2012 and only worked on at night over the course of a couple weeks. Over the previous years, and still to this day, I've had a fascination with operating system development. This time around I thought I'd take a crack at writing low-level software from a different perspective. I decided to create a program that can read and interpret x64 machine code, all the while utilizing the nice OOP features that C# has to offer. Unfortunately, it never reached 64-bit capabilities. It's currently a basic 16-bit x86 emulator. It has enough coverage of the x86 instruction set to execute machine code containing decision-making and branching constructs, as well as data storage and retrieval operations.