---
title: My Projects
layout: page
---

Here is a list of projects and programs I have build, and / or contributed to.

These projects range from unfinished ideas, to codebases that took months to develop. I cannot guarantee that the link you click will bring you to a finished project. If you see a project here that you would like to improve upon, open a Pull Request. If you would like to adopt a project, send me an email.

## Table of contents
 - [Robotics](#robotics)
 - [Websites](#websites)
 - [Libraries](#libraries)
 - [Bots](#bots)
 - [Apps](#apps)
 - [Operating Systems](#operating-systems)
 - [Embedded](#embedded)
 - [Customization](#customization)
 - [Tools](#tools)
 - [Server Tools](#server-tools)
 - [Games](#games)

## Robotics
 - Robots
   - [InfiniteRecharge](https://github.com/frc5024/InfiniteRecharge) - 5024's 2020 competition codebase
   - [MiniBot](https://github.com/frc5024/MiniBot) - 5024's 2019-2020 Minibot codebase
   - [DeepSpace-SWI](https://github.com/frc5024/DeepSpace-SWI) - 5024's 2019-2020 offseason codebase
   - [DeepSpace](https://github.com/frc5024/DeepSpace) - 5024's 2019 competition codebase
   - [BaseBot](https://github.com/frc5024/BaseBot) - 5024's 2018-2019 Minibot codebase
   - [PowerUP-Offseason](https://github.com/frc5024/PowerUP-Offseason) - 5024's 2018-2019 offseason codebase
   - [PowerUP](https://github.com/frc5024/PowerUP) - 5024's 2018 competition codebase
   - [BarebonesFRC](https://github.com/Ewpratten/barebonesFRC) - A quick-start codebase for FRC teams
 - Computer Vision
   - [DeepVision](https://github.com/frc5024/DeepVision) - 5024's 2019 vision code
   - [RIOCV-PI](https://github.com/Ewpratten/RioCV-PI) - 5024's 2018 vision code
 - Field Software
   - [ThriftyField](https://github.com/frc5024/ThriftyField) - An open-source alternative to the FRC FMS

## Websites
 - [retrylife.ca](https://retrylife.ca) - My personal website and blog
 - [frc5024.github.io](https://frc5024.github.io) - The 5024 programming team's website
 - [frc5024 Webdocs](https://frc5024.github.io/webdocs) - The 5024 programming team's internal documentation website
 - [hyperlisk.dev](https://hyperlisk.dev) - @hyperliskdev's personal website and blog
 - [GiveMeADistro](https://ewpratten.github.io/GiveMeADistro/) - A website to help people decide which Linux distro to try

## Libraries
 - [shift2](https://github.com/Ewpratten/shift) - My own encoding library
 - [drbot](https://github.com/Ewpratten/drbot) - The library I used to build my devRant bots
 - [devrantsimple](https://github.com/Ewpratten/devRantSimple) - My first ever devRant client library
 - [geoIP](https://github.com/Ewpratten/geoIP) - A library for fetching device location
 - [lynkz](https://github.com/Ewpratten/lynkz-dart) - A link shortener library
 - [ODWC](https://pypi.org/project/ODWC/) - A library for organizing humans
 - [RaiderFetch](https://pypi.org/project/RaiderFetch/) - A library to query data about team 5024
 - [PicoEngine](https://github.com/Ewpratten/PicoEngine) - A simple 2D game engine I built to help me write games for 11th grade computer science
 - [pihole-API](https://github.com/Ewpratten/pihole-api) - An api wrapper for the pihole web interface

## Bots
 - [devDNS](https://github.com/Ewpratten/devDNS) - A devRant bot that responds to DNS queries
 - [ScoreBot](https://github.com/Ewpratten/ScoreBot) - A slack bot for posting FRC game scores

## Apps
 - [Learn](https://github.com/Ewpratten/learn) - An Android app I built to help me practice throwing darts
 - [FosslClient](https://github.com/Ewpratten/fosslclient) - A build-it-yourself devRant client for Android
 - [dr](https://github.com/Ewpratten/dr) - A CLI devRant client with an ed-like interface

## Operating systems
 - [os328](https://github.com/Ewpratten/os328) - An OS built to run on the Arduino UNO with a built-in BASIC interpreter
 - [picos](https://github.com/Ewpratten/picos) - An OS I used to help me learn about the Raspberry PI hardware. This is basically a port of os328 over to the PI2

## Embedded
 - [esp8266 deauth](https://github.com/Ewpratten/esp8266_deauther) - My fork of the [wifi deauther](https://github.com/spacehuhn/esp8266_deauther) project. New features include modified UI and CLI

## Customization
 - [CustomCSS](https://github.com/Ewpratten/CustomCSS) - A collection of stylesheets I use for customization
 - [Dotfiles20](https://github.com/Ewpratten/Dotfiles20) - My dotfiles
 - [Menus](https://github.com/Ewpratten/menus) - My dmenu scripts
 - [MOTD](https://github.com/Ewpratten/motd) - A script that gives me some information when I open a new terminal

## Tools
 - [FRC-actions](https://github.com/Ewpratten/FRC-actions) - A GitHub actions tool to automatically build and test FRC code
 - [Dart4CROS](https://github.com/Ewpratten/dart4cros) - A tool I built to load dartlang on a chromebook
 - [devrant-dl](https://github.com/Ewpratten/devrant-dl) - A tool for downloading your account data from devRant
 - [colourscale](https://github.com/Ewpratten/colourscale) - Some scripts for playing with images
 - [FRC-code-stats](https://github.com/Ewpratten/frc-code-stats) - Tools for gathering information about FRC teams
 - [PWNlink](https://github.com/Ewpratten/PWNlink) - A tool for extracting admin passwords from some D-link routers
 - [BashSmash](https://github.com/Ewpratten/BashSmash) - A tool for obfuscating BASH scripts
 - [dxmon](https://github.com/Ewpratten/dxmon) - A tool for polling the [reverse beacon network](http://www.reversebeacon.net/)
 - [Rekog](https://github.com/Ewpratten/Rekog) - Scripts for identifying faces in webcam video
 - [pypak](https://github.com/Ewpratten/pypak) - Convert python code into PYZ compressed applications
 - [AirLog](https://github.com/Ewpratten/AirLog) - A tool for logging QSOs
 - [rfNightmare](https://github.com/Ewpratten/rfNightmare) - Scripts for working with SDR data in chromeos
 - [TermSDR](https://github.com/Ewpratten/TermSDR) - SDR FFT for chromeos
 - [eco](https://github.com/Ewpratten/eco) - A C / C++ compiler that never compiles code without errors
 - [BecomeRanter](https://github.com/Ewpratten/BecomeRanter) - An LSTM-based tool for generating devRant posts
 - [ISS](https://github.com/Ewpratten/ISS) - Find out where the ISS is from your terminal
 - [LaunchDraw](https://github.com/Ewpratten/LaunchDraw) - Use a Novation Launchpad as a canvas with the pygame MIDI library
 - [Social Mapper](https://github.com/Greenwolf/social_mapper) - A Social Media Enumeration & Correlation Tool by @Greenwolf

## Server Tools
 - [REmail](https://github.com/Ewpratten/REmail) - An email relay
 - [chat](https://github.com/Ewpratten/chat) - A simple telnet-based chatroom server


## Dirobium
Dirobium was the first "fantasy emulator" I built. It emulates a CPU architecture and hardware that I designed myself. The goal of this project was to learn about computer hardware at a low level.
 - [DirAS](https://github.com/Ewpratten/DirAS) - The dirobium assembler
 - [Dirobium](https://github.com/Ewpratten/Dirobium) - The dirobuim emulator
 - [Graphite](https://github.com/Ewpratten/Graphite) - The dirobium graphics emulator

## Games
 - [FlippyCat](https://github.com/Ewpratten/FlippyCat) - A flappy bird clone I built with @hyperliskdev for computer science class
 - [Raycasting-Demo](https://github.com/Ewpratten/raycasting-demo) - A 2D raycasting demonstration
 - [DockerCraft](https://github.com/Ewpratten/dockercraft) - Run Minecraft Bedrock in a docker container
 - [learn-kana](https://github.com/Ewpratten/learn-kana) - A CLI game I built to help myself learn hiragana