1
This commit is contained in:
Evan Pratten 2023-01-29 20:06:32 -05:00
parent 64b553b2c5
commit 4fef41c695
6 changed files with 514 additions and 112 deletions

3
.gitignore vendored
View File

@ -11,4 +11,5 @@ Cargo.lock
/public/
/node_modules/
/node_modules/
/build/

View File

@ -4,30 +4,11 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/jpg" href="https://branding.ewpratten.com/pfp/2022/460x460.webp" />
<title>Evan Warren Pratten</title>
<style>
:root {
--dim-text: rgb(67, 67, 67);
--menu-header-bg: #000;
}
@media screen and (min-width: 800px) {
body {
text-align: justify;
}
}
.container {
max-width: 800px;
margin: auto;
}
h2 {
margin-bottom: 0;
}
</style>
<link rel="stylesheet" href="/main.css">
</head>
<body>
@ -43,11 +24,11 @@
<font size=3 style="color:var(--dim-text);">SOFTWARE DEVELOPER &middot; NETWORK ENGINEER</font>
</strong>
<br>
<a href="https://github.com/ewpratten" rel="me">GitHub</a>
<a target="_blank" href="https://github.com/ewpratten" rel="me">GitHub</a>
&middot;
<a href="https://linkedin.com/in/ewpratten" rel="me">Linkedin</a>
<a target="_blank" href="https://linkedin.com/in/ewpratten" rel="me">Linkedin</a>
&middot;
<a href="mailto:evan@ewpratten.com" rel="me">Contact</a>
<a target="_blank" href="mailto:evan@ewpratten.com" rel="me">Contact</a>
</center>
</div>
<hr>
@ -81,7 +62,7 @@
<a target="_blank" href="https://music.apple.com/us/artist/evan-pratten/1611566708" rel="me">Apple
Music</a>
</li>
<li>Maintaining a handful of <a href="/projects">Open-Source software tools</a></li>
<li>Maintaining a handful of <a href="/projects.html">Open-Source software tools</a></li>
<li>
Occasionally publishing interesting
<a target="_blank" href="https://instagram.com/ewpratten" rel="me">photos and artwork</a>
@ -96,6 +77,7 @@
- Globally Unique IPv6 Addressing for Amateur Radio
</li>
</ul>
</article>
<br>

23
main.css Normal file
View File

@ -0,0 +1,23 @@
:root {
--dim-text: rgb(67, 67, 67);
--menu-header-bg: #000;
}
@media screen and (min-width: 800px) {
body {
text-align: justify;
}
}
body {
font-family: serif;
}
.container {
max-width: 800px;
margin: auto;
}
h2 {
margin-bottom: 0;
}

79
package-lock.json generated
View File

@ -1,79 +0,0 @@
{
"name": "ewpratten.com",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"bootstrap": "^5.2.3",
"github-markdown-css": "^5.1.0",
"line-awesome": "^1.3.0"
}
},
"node_modules/@popperjs/core": {
"version": "2.11.6",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==",
"peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/bootstrap": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz",
"integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/twbs"
},
{
"type": "opencollective",
"url": "https://opencollective.com/bootstrap"
}
],
"peerDependencies": {
"@popperjs/core": "^2.11.6"
}
},
"node_modules/github-markdown-css": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-5.1.0.tgz",
"integrity": "sha512-QLtORwHHtUHhPMHu7i4GKfP6Vx5CWZn+NKQXe+cBhslY1HEt0CTEkP4d/vSROKV0iIJSpl4UtlQ16AD8C6lMug==",
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/line-awesome": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/line-awesome/-/line-awesome-1.3.0.tgz",
"integrity": "sha512-Y0YHksL37ixDsHz+ihCwOtF5jwJgCDxQ3q+zOVgaSW8VugHGTsZZXMacPYZB1/JULBi6BAuTCTek+4ZY/UIwcw=="
}
},
"dependencies": {
"@popperjs/core": {
"version": "2.11.6",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==",
"peer": true
},
"bootstrap": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz",
"integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==",
"requires": {}
},
"github-markdown-css": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-5.1.0.tgz",
"integrity": "sha512-QLtORwHHtUHhPMHu7i4GKfP6Vx5CWZn+NKQXe+cBhslY1HEt0CTEkP4d/vSROKV0iIJSpl4UtlQ16AD8C6lMug=="
},
"line-awesome": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/line-awesome/-/line-awesome-1.3.0.tgz",
"integrity": "sha512-Y0YHksL37ixDsHz+ihCwOtF5jwJgCDxQ3q+zOVgaSW8VugHGTsZZXMacPYZB1/JULBi6BAuTCTek+4ZY/UIwcw=="
}
}
}

View File

@ -1,7 +0,0 @@
{
"dependencies": {
"bootstrap": "^5.2.3",
"github-markdown-css": "^5.1.0",
"line-awesome": "^1.3.0"
}
}

482
projects.html Normal file
View File

@ -0,0 +1,482 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/jpg" href="https://branding.ewpratten.com/pfp/2022/460x460.webp" />
<title>Evan Warren Pratten</title>
<link rel="stylesheet" href="/main.css">
</head>
<body>
<div style="margin-top:2em;margin-bottom:2em;">
<center>
<strong>
<h1 style="text-transform: uppercase; margin: 0; font-size:2.5em;">
E<span style="color: var(--dim-text); font-size: 0.8em;">van</span>
W<span style="color: var(--dim-text); font-size: 0.8em;">arren</span>
Pratten
</h1>
<font size=3 style="color:var(--dim-text);">SOFTWARE DEVELOPER &middot; NETWORK ENGINEER</font>
</strong>
<br>
<a href="/">Home</a>
&middot;
<a target="_blank" href="https://github.com/ewpratten" rel="me">GitHub</a>
&middot;
<a target="_blank" href="https://linkedin.com/in/ewpratten" rel="me">Linkedin</a>
&middot;
<a target="_blank" href="mailto:evan@ewpratten.com" rel="me">Contact</a>
</center>
</div>
<hr>
<article class="container">
<h1 style="font-size:2em;">Projects</h1>
<p>
The following is a list of Open-Source projects I have built, along with their date of publication.
</p>
<p>
<strong>Disclaimer:</strong> Unless otherwise noted, none of these projects come with any warranty or any
guarantee of support. I try my best to respond to issues and questions in my personal time.
</p>
<ul>
<li>
<strong>2023-01-23:</strong>
<a target="_blank" href="https://github.com/ewpratten/tg4x-casing">A protective insert for my TG4x</a>
</li>
<br><!-- 2022 -->
<li>
<strong>2022-10-14:</strong>
<a target="_blank" href="https://github.com/ewpratten/A10U8R">A10U8R: Signal Attenuator for VCV Rack</a>
</li>
<li>
<strong>2022-05-11:</strong>
<a target="_blank" href="https://github.com/ewpratten/atentry">
The @entry decorator: Cleanly mark Python script entrypoints
</a>
</li>
<li>
<strong>2022-04-14:</strong>
<a target="_blank" href="https://github.com/ewpratten/crashreport-rs">
Set & forget crash reporting for Rust programs
</a>
</li>
<li>
<strong>2022-04-12:</strong>
<a target="_blank" href="https://github.com/ewpratten/kobo-rs">
Kobo e-reader interface library for Rust
</a>
</li>
<li>
<strong>2022-01-23:</strong>
<a target="_blank" href="https://github.com/ewpratten/tabset">
Linux command-line tool for configuring digitizer tablets
</a>
</li>
<br><!-- 2021 -->
<li>
<strong>2021-12-17:</strong>
<a target="_blank" href="https://github.com/ewpratten/netbrowse">
NetBrowse: an avahi-browse GUI
</a>
</li>
<li>
<strong>2021-10-04:</strong>
<a target="_blank" href="https://github.com/ewpratten/ludum-dare-49">
My Ludum Dare 49 entry: <strong>[data::loss]</strong>
</a>
</li>
<li>
<strong>2021-09-27:</strong>
<a target="_blank" href="https://github.com/ewpratten/dirty-fsm">
A "Quick and Dirty" implementation of a finite state machine
</a>
</li>
<li>
<strong>2021-09-24:</strong>
<a target="_blank" href="https://github.com/ewpratten/dorm-dash">
A real-time dashboard for my dorm room's wall-mounted TV
</a>
</li>
<li>
<strong>2021-09-22:</strong>
<a target="_blank" href="https://github.com/ewpratten/aprshttp">
APRSHTTP: One-way APRS position reporting using APRS-IS
</a>
</li>
<li>
<strong>2021-09-03:</strong>
<a target="_blank" href="https://github.com/ewpratten/boids-rs">
A fast boids library for Rust
</a>
</li>
<li>
<strong>2021-08-12:</strong>
<a target="_blank" href="https://github.com/ewpratten/spacetrace">
SpaceTrace: 3D path planning
</a>
</li>
<li>
<strong>2021-07-17:</strong>
<a target="_blank" href="https://github.com/ewpratten/serde-frontmatter">
Front matter support for the Serde serialization framework
</a>
</li>
<li>
<strong>2021-07-09:</strong>
<a target="_blank" href="https://github.com/ewpratten/tsinfo">
CLI tool for providing information about a specific UNIX timestamp
</a>
</li>
<li>
<strong>2021-06-13:</strong>
<a target="_blank" href="https://github.com/ewpratten/ittyr">
An internet teletype reader
</a>
</li>
<li>
<strong>2021-06-01:</strong>
<a target="_blank" href="https://github.com/ewpratten/OpenDepthMap">
Binocular depth mapping with LeapMotion hardware
</a>
</li>
<li>
<strong>2021-05-14:</strong>
<a target="_blank" href="https://github.com/ewpratten/baofeng2gqrx">
A tool for converting Baofeng bookmarks to GQRX bookmarks
</a>
</li>
<li>
<strong>2021-05-04:</strong>
<a target="_blank" href="https://github.com/ewpratten/glasscast">
GlassCast: 2D glass rendering experiment
</a>
</li>
<li>
<strong>2021-04-26:</strong>
<a target="_blank" href="https://github.com/ewpratten/ludum-dare-48">
My Ludum Dare 48 entry: Deep Breath
</a>
</li>
<li>
<strong>2021-04-03:</strong>
<a target="_blank" href="https://github.com/ewpratten/boop">
Boop: An experimental implementation of ping(8)
</a>
</li>
<li>
<strong>2021-03-31:</strong>
<a target="_blank" href="https://github.com/ewpratten/polymesh">
PolyMesh: A file format for describing 3D meshes
</a>
</li>
<li>
<strong>2021-03-31:</strong>
<a target="_blank" href="https://github.com/ewpratten/cargo-token">
cargo-token
</a>
</li>
<li>
<strong>2021-03-28:</strong>
<a target="_blank" href="https://github.com/ewpratten/mcq">
A tool for checking who is playing on a Minecraft server
</a>
</li>
<li>
<strong>2021-03-19:</strong>
<a target="_blank" href="https://github.com/ewpratten/aprs-bcn">
Send APRS beacons over IP from your terminal
</a>
</li>
<li>
<strong>2021-03-03:</strong>
<a target="_blank" href="https://github.com/ewpratten/pathfollowing-demo">
An interactive Pure Pursuit demo
</a>
</li>
<li>
<strong>2021-02-25:</strong>
<a target="_blank" href="https://github.com/ewpratten/dji3d">
Graph 3D positional data extracted from DJI drone telemetry
</a>
</li>
<li>
<strong>2021-02-16:</strong>
<a target="_blank" href="https://github.com/ewpratten/MinimapServer">
MinimapServer: An Open-Source re-implementation of Minimap API
</a>
</li>
<li>
<strong>2021-02-16:</strong>
<a target="_blank" href="https://github.com/ewpratten/JDMA">
JDMA: Direct memory access for Java
</a>
</li>
<li>
<strong>2021-02-03:</strong>
<a target="_blank" href="https://github.com/ewpratten/MarketCap">
Minecraft market cap calculator
</a>
</li>
<li>
<strong>2021-01-31:</strong>
<a target="_blank" href="https://github.com/ewpratten/hambands">
HamBands - Rust Library
</a>
</li>
<li>
<strong>2021-01-31:</strong>
<a target="_blank" href="https://github.com/ewpratten/ardupaddle">
A morse code paddle built with an atmega32u4 processor
</a>
</li>
<li>
<strong>2021-01-30:</strong>
<a target="_blank" href="https://github.com/ewpratten/rbn">
The Reverse Beacon Network in your terminal
</a>
</li>
<li>
<strong>2021-01-25:</strong>
<a target="_blank" href="https://github.com/ewpratten/pyRBN">
Reverse Beacon Network client for Python
</a>
</li>
<li>
<strong>2021-01-19:</strong>
<a target="_blank" href="https://github.com/ewpratten/FrostBucket">
FrostBucket
</a>
</li>
<br><!-- 2020 -->
<li>
<strong>2020-12-25:</strong>
<a target="_blank" href="https://github.com/ewpratten/mandelbrot">
Mandelbrot Set Viewer
</a>
</li>
<li>
<strong>2020-12-07:</strong>
<a target="_blank" href="https://github.com/ewpratten/mchat">
A Minecraft chat client
</a>
</li>
<li>
<strong>2020-11-27:</strong>
<a target="_blank" href="https://github.com/ewpratten/mcdiscovery">
Minecraft LAN server discovery tool
</a>
</li>
<li>
<strong>2020-11-27:</strong>
<a target="_blank" href="https://github.com/ewpratten/birdseye">
Multi-view Dynmap client
</a>
</li>
<li>
<strong>2020-11-21:</strong>
<a target="_blank" href="https://github.com/ewpratten/legalaccess">
Wrappers for commonly used reflection code in Java
</a>
</li>
<li>
<strong>2020-10-24:</strong>
<a target="_blank" href="https://github.com/ewpratten/orgstat">
GitHub organization contributor ranking tool
</a>
</li>
<li>
<strong>2020-10-24:</strong>
<a target="_blank" href="https://github.com/ewpratten/chatster">
A bridge between a Minecraft server and your favorite IRC client
</a>
</li>
<li>
<strong>2020-09-26:</strong>
<a target="_blank" href="https://github.com/ewpratten/dynpy">
Python library for interfacing with Dynmap
</a>
</li>
<li>
<strong>2020-09-17:</strong>
<a target="_blank" href="https://github.com/ewpratten/ner">
An alternate minimal frontend for GitHub repositories
</a>
</li>
<li>
<strong>2020-09-02:</strong>
<a target="_blank" href="https://github.com/ewpratten/libepn">
LibEPN (Easy Pose Notation)
</a>
</li>
<li>
<strong>2020-08-20:</strong>
<a target="_blank" href="https://github.com/ewpratten/timeandplace-api">
An API client for TimeAndPlace
</a>
</li>
<li>
<strong>2020-08-09:</strong>
<a target="_blank" href="https://github.com/ewpratten/FRCWorld">
Real-time FRC robot pose visualization
</a>
</li>
<li>
<strong>2020-07-24:</strong>
<a target="_blank" href="https://github.com/ewpratten/tvdsb-student-api">
TVDSB Student Portal API client
</a>
</li>
<li>
<strong>2020-07-21:</strong>
<a target="_blank" href="https://github.com/frc5024/testbench">
Raider Robotics Testbench
</a>
</li>
<li>
<strong>2020-07-13:</strong>
<a target="_blank" href="https://github.com/ewpratten/vsco-batch-dl">
VSCO batch downloader
</a>
</li>
<li>
<strong>2020-07-03:</strong>
<a target="_blank" href="https://github.com/frc5024/lib5k">
Lib5K: Robotics control library
</a>
</li>
<li>
<strong>2020-06-08:</strong>
<a target="_blank" href="https://github.com/ewpratten/os32u4">
A Kernel for use on 32u4 AVR chips
</a>
</li>
<li>
<strong>2020-03-11:</strong>
<a target="_blank" href="https://github.com/ewpratten/easy-faces">
Scripts I use to quickly build classifiers for people's faces
</a>
</li>
<li>
<strong>2020-02-29:</strong>
<a target="_blank" href="https://github.com/frc5024/parts">
Raider Robotics Inventory Management System
</a>
</li>
<br><!-- 2019 -->
<li>
<strong>2019-12-28:</strong>
<a target="_blank" href="https://github.com/ewpratten/Rayzor">
A toy raytracer
</a>
</li>
<li>
<strong>2019-08-27:</strong>
<a target="_blank" href="https://github.com/ewpratten/devrant-dl">
A tool for exporting your posts from devRant for offline storage
</a>
</li>
<li>
<strong>2019-08-24:</strong>
<a target="_blank" href="https://github.com/ewpratten/shift">
The shift2 encoding algorithm
</a>
</li>
<li>
<strong>2019-05-28:</strong>
<a target="_blank" href="https://github.com/ewpratten/FlippyCat">
A purposefully bad flappy bird clone
</a>
</li>
<li>
<strong>2019-03-08</strong>
<a target="_blank" href="https://github.com/ewpratten/os328">
A kernel / os for the atmega328p
</a>
</li>
<br><!-- 2018 -->
<li>
<strong>2018-11-16</strong>
<a target="_blank" href="https://github.com/ewpratten/ODWC">
The Open Driver Waypoint Coordinator
</a>
</li>
<li>
<strong>2018-11-04</strong>
<a target="_blank" href="https://github.com/ewpratten/eco">
The c / c++ compiler that never compiles without errors
</a>
</li>
<li>
<strong>2018-09-01</strong>
<a target="_blank" href="https://github.com/ewpratten/DirAS">
The Dirobium Assembler
</a>
</li>
<li>
<strong>2018-09-01</strong>
<a target="_blank" href="https://github.com/ewpratten/Deuterium">
The official bootloader for the Dirobium emulator
</a>
</li>
<li>
<strong>2018-08-31</strong>
<a target="_blank" href="https://github.com/ewpratten/Dirobium">
Dirobium: The virtual CPU (and emulator) built for hobbyists
</a>
</li>
<li>
<strong>2018-08-20</strong>
<a target="_blank" href="https://github.com/ewpratten/pihole-api">
Pi-hole API wrapper for Python
</a>
</li>
<li>
<strong>2018-08-04</strong>
<a target="_blank" href="https://github.com/ewpratten/devRantSimple">
A dead simple devRant API wrapper for Python
</a>
</li>
<li>
<strong>2018-08-03</strong>
<a target="_blank" href="https://github.com/ewpratten/dr">
dr: An ed-like client for devRant
</a>
</li>
<li>
<strong>2018-05-22</strong>
<a target="_blank" href="https://github.com/ewpratten/launchdraw">
A utility for drawing graphics on your Novation Launchpad Mk1/S/Mini
</a>
</li>
</ul>
</article>
<br>
<hr>
<p style="text-align:center;">
Copyright &copy; 2017 - 2023 <strong>Evan Warren Pratten</strong>
</p>
</body>
</html>