336 lines
14 KiB
HTML
336 lines
14 KiB
HTML
<head>
|
||
<title>Evan Pratten</title>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||
|
||
|
||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
|
||
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
||
<link rel="stylesheet" href="/assets/css/main.css">
|
||
<link rel="stylesheet" href="/assets/css/github-syntax.css">
|
||
<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Mono:400,400i|IBM+Plex+Sans:100,100i,400,400i,700,700i" rel="stylesheet">
|
||
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div class="site-ctr">
|
||
<!-- Navbar -->
|
||
<nav class="navbar navbar-dark sticky-top bg-dark navbar-expand-lg">
|
||
<!-- Navbar content -->
|
||
<!-- <div class="container"> -->
|
||
<a class="navbar-brand" href="/">Evan Pratten</a>
|
||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
|
||
<span class="navbar-toggler-icon"></span>
|
||
</button>
|
||
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
|
||
<div class="navbar-nav ml-auto">
|
||
<a class="nav-item nav-link" href="/blog">Blog</a>
|
||
<a class="nav-item nav-link" href="/projects">Projects</a>
|
||
<!-- <a class="nav-item nav-link" href="/documentation">Documentation</a> -->
|
||
<a class="nav-item nav-link" href="/about">About</a>
|
||
</div>
|
||
<!-- </div> -->
|
||
</div>
|
||
</nav>
|
||
|
||
<div class="reactive-bg">
|
||
<div class="post container">
|
||
<h1>My Projects</h1>
|
||
|
||
<hr>
|
||
|
||
<br>
|
||
|
||
<p>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.</p>
|
||
|
||
<h2 id="table-of-contents">Table of contents</h2>
|
||
<ul>
|
||
<li><a href="#robotics">Robotics</a></li>
|
||
<li><a href="#websites">Websites</a></li>
|
||
<li><a href="#libraries">Libraries</a></li>
|
||
<li><a href="#bots">Bots</a></li>
|
||
<li><a href="#apps">Apps</a></li>
|
||
<li><a href="#operating-systems">Operating Systems</a></li>
|
||
<li><a href="#embedded">Embedded</a></li>
|
||
<li><a href="#customization">Customization</a></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
<li><a href="#server-tools">Server Tools</a></li>
|
||
<li><a href="#games">Games</a></li>
|
||
</ul>
|
||
|
||
<h2 id="robotics">Robotics</h2>
|
||
<ul>
|
||
<li>Robots
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/frc5024/MiniBot">MiniBot</a> - 5024’s 2019-2020 Minibot codebase</li>
|
||
<li>
|
||
<a href="https://github.com/frc5024/DeepSpace-SWI">DeepSpace-SWI</a> - 5024’s 2019-2020 offseason codebase</li>
|
||
<li>
|
||
<a href="https://github.com/frc5024/DeepSpace">DeepSpace</a> - 5024’s 2019 competition codebase</li>
|
||
<li>
|
||
<a href="https://github.com/frc5024/BaseBot">BaseBot</a> - 5024’s 2018-2019 Minibot codebase</li>
|
||
<li>
|
||
<a href="https://github.com/frc5024/PowerUP-Offseason">PowerUP-Offseason</a> - 5024’s 2018-2019 offseason codebase</li>
|
||
<li>
|
||
<a href="https://github.com/frc5024/PowerUP">PowerUP</a> - 5024’s 2018 competition codebase</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/barebonesFRC">BarebonesFRC</a> - A quick-start codebase for FRC teams</li>
|
||
</ul>
|
||
</li>
|
||
<li>Computer Vision
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/frc5024/DeepVision">DeepVision</a> - 5024’s 2019 vision code</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/RioCV-PI">RIOCV-PI</a> - 5024’s 2018 vision code</li>
|
||
</ul>
|
||
</li>
|
||
<li>Field Software
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/frc5024/ThriftyField">ThriftyField</a> - An open-source alternative to the FRC FMS</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<h2 id="websites">Websites</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://retrylife.ca">retrylife.ca</a> - My personal website and blog</li>
|
||
<li>
|
||
<a href="https://frc5024.github.io">frc5024.github.io</a> - The 5024 programming team’s website</li>
|
||
<li>
|
||
<a href="https://frc5024.github.io/webdocs">webdocs</a> - The 5024 programming team’s documentation centre</li>
|
||
<li>
|
||
<a href="https://hyperlisk.xyz">hyperlisk.xyz</a> - <a href="https://github.com/hyperliskdev" class="user-mention">@hyperliskdev</a>’s personal website and blog</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/GiveMeADistro">GiveMeADistro</a> - A website to help people decide which Linux distro to try</li>
|
||
</ul>
|
||
|
||
<h2 id="libraries">Libraries</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/shift">shift2</a> - My own encoding library</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/drbot">drbot</a> - The library I used to build my devRant bots</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/devRantSimple">devrantsimple</a> - My first ever devRant client library</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/geoIP">geoIP</a> - A library for fetching device location</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/lynkz-dart">lynkz</a> - A link shortener library</li>
|
||
<li>
|
||
<a href="https://pypi.org/project/ODWC/">ODWC</a> - A library for organizing humans</li>
|
||
<li>
|
||
<a href="https://pypi.org/project/RaiderFetch/">RaiderFetch</a> - A library to query data about team 5024</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/PicoEngine">PicoEngine</a> - A simple 2D game engine I built to help me write games for 11th grade computer science</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/pihole-api">pihole-API</a> - An api wrapper for the pihole web interface</li>
|
||
</ul>
|
||
|
||
<h2 id="bots">Bots</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/devDNS">devDNS</a> - A devRant bot that responds to DNS queries</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/ScoreBot">ScoreBot</a> - A slack bot for posting FRC game scores</li>
|
||
</ul>
|
||
|
||
<h2 id="apps">Apps</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/learn">Learn</a> - An Android app I built to help me practice throwing darts</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/fosslclient">FosslClient</a> - A build-it-yourself devRant client for Android</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/dr">dr</a> - A CLI devRant client with an ed-like interface</li>
|
||
</ul>
|
||
|
||
<h2 id="operating-systems">Operating systems</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/os328">os328</a> - An OS built to run on the Arduino UNO with a built-in BASIC interpreter</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/picos">picos</a> - An OS I used to help me learn about the Raspberry PI hardware. This is basically a port of os328 over to the PI2</li>
|
||
</ul>
|
||
|
||
<h2 id="embedded">Embedded</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/esp8266_deauther">esp8266 deauth</a> - My fork of the <a href="https://github.com/spacehuhn/esp8266_deauther">wifi deauther</a> project. New features include modified UI and CLI</li>
|
||
</ul>
|
||
|
||
<h2 id="customization">Customization</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/CustomCSS">CustomCSS</a> - A collection of stylesheets I use for customization</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/Dotfiles20">Dotfiles20</a> - My dotfiles</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/menus">Menus</a> - My dmenu scripts</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/motd">MOTD</a> - A script that gives me some information when I open a new terminal</li>
|
||
</ul>
|
||
|
||
<h2 id="tools">Tools</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/FRC-actions">FRC-actions</a> - A GitHub actions tool to automatically build and test FRC code</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/dart4cros">Dart4CROS</a> - A tool I built to load dartlang on a chromebook</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/devrant-dl">devrant-dl</a> - A tool for downloading your account data from devRant</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/colourscale">colourscale</a> - Some scripts for playing with images</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/frc-code-stats">FRC-code-stats</a> - Tools for gathering information about FRC teams</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/PWNlink">PWNlink</a> - A tool for extracting admin passwords from some D-link routers</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/BashSmash">BashSmash</a> - A tool for obfuscating BASH scripts</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/dxmon">dxmon</a> - A tool for polling the <a href="http://www.reversebeacon.net/">reverse beacon network</a>
|
||
</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/Rekog">Rekog</a> - Scripts for identifying faces in webcam video</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/pypak">pypak</a> - Convert python code into PYZ compressed applications</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/AirLog">AirLog</a> - A tool for logging QSOs</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/rfNightmare">rfNightmare</a> - Scripts for working with SDR data in chromeos</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/TermSDR">TermSDR</a> - SDR FFT for chromeos</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/eco">eco</a> - A C / C++ compiler that never compiles code without errors</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/BecomeRanter">BecomeRanter</a> - An LSTM-based tool for generating devRant posts</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/ISS">ISS</a> - Find out where the ISS is from your terminal</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/LaunchDraw">LaunchDraw</a> - Use a Novation Launchpad as a canvas with the pygame MIDI library</li>
|
||
</ul>
|
||
|
||
<h2 id="server-tools">Server Tools</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/REmail">REmail</a> - An email relay</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/chat">chat</a> - A simple telnet-based chatroom server</li>
|
||
</ul>
|
||
|
||
<h2 id="dirobium">Dirobium</h2>
|
||
<p>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.</p>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/DirAS">DirAS</a> - The dirobium assembler</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/Dirobium">Dirobium</a> - The dirobuim emulator</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/Graphite">Graphite</a> - The dirobium graphics emulator</li>
|
||
</ul>
|
||
|
||
<h2 id="games">Games</h2>
|
||
<ul>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/FlippyCat">FlippyCat</a> - A flappy bird clone I built with <a href="https://github.com/hyperliskdev" class="user-mention">@hyperliskdev</a> for computer science class</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/raycasting-demo">Raycasting-Demo</a> - A 2D raycasting demonstration</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/dockercraft">DockerCraft</a> - Run Minecraft Bedrock in a docker container</li>
|
||
<li>
|
||
<a href="https://github.com/Ewpratten/learn-kana">learn-kana</a> - A CLI game I built to help myself learn hiragana</li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<!-- <div id="particles-js"></div> -->
|
||
|
||
<div class="container foot" style="text-align:center;">
|
||
<br>
|
||
<span class="site-info">
|
||
Site design by: <a href="https://retrylife.ca">Evan Pratten</a> |
|
||
|
||
This site was last updated at: 2019-09-23 14:29:52 -0400
|
||
</span>
|
||
</div>
|
||
|
||
<!-- Brython -->
|
||
<script src="/assets/js/brython.js"></script>
|
||
<script src="/assets/js/brython_stdlib.js"></script>
|
||
|
||
<script>
|
||
function startPY(){
|
||
|
||
brython();
|
||
console.log("Started Python")
|
||
}
|
||
|
||
window.onload = startPY;
|
||
</script>
|
||
|
||
|
||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
||
|
||
<!-- Offsets for links -->
|
||
<script>
|
||
(function ($, window) {
|
||
var adjustAnchor = function () {
|
||
|
||
var $anchor = $(':target'),
|
||
fixedElementHeight = 100;
|
||
|
||
if ($anchor.length > 0) {
|
||
|
||
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
|
||
}
|
||
|
||
};
|
||
|
||
$(window).on('hashchange load', function () {
|
||
adjustAnchor();
|
||
});
|
||
|
||
})(jQuery, window);
|
||
</script>
|
||
|
||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-74118570-2"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag() { dataLayer.push(arguments); }
|
||
gtag('js', new Date());
|
||
|
||
gtag('config', 'UA-74118570-2');
|
||
</script>
|
||
|
||
|
||
<!-- particles -->
|
||
<script>
|
||
var body = document.body
|
||
|
||
var particles = document.getElementById("particles-js")
|
||
|
||
particles.style.height = body.scrollHeight + "px"
|
||
|
||
console.log(body.scrollHeight)
|
||
</script>
|
||
<script src="/assets/js/particles.min.js"></script>
|
||
<script>
|
||
particlesJS.load('particles-js', '/assets/js/particles.json', function () {
|
||
console.log('callback - particles.js config loaded');
|
||
});
|
||
</script>
|
||
|
||
<!-- Twitter embeds -->
|
||
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||
|
||
|
||
</body> |