[ { "node": { "name": "guikit", "description": "Build simple GUI programs in Java (an extension of PicoEngine)" } }, { "node": { "name": "pastefs", "description": "A filesystem based around hosting your files in someone else's cloud" } }, { "node": { "name": "containerFIRST", "description": "An entire FRC software development toolsuite in a Docker container" } }, { "node": { "name": "snapterm", "description": "Share your terminal to SnapChat" } }, { "node": { "name": "GhostStat", "description": "Share your Google Fit or Apple HealthKit stats in SnapChat" } }, { "node": { "name": "homebase", "description": "A webapp for tracking meeting participants" } }, { "node": { "name": "swarm", "description": "A virtual experiment in swarm-based robotics" } }, { "node": { "name": "pysnapcode", "description": "Python scripts for working with snapcodes" } }, { "node": { "name": "pixypose", "description": "An experiment in pose estimation with computer vision" } }, { "node": { "name": "PathChaser", "description": "An experiment in autonomous movement inside an urban environment" } }, { "node": { "name": "libJames", "description": "Query @rsninja722's life from inside Python" } }, { "node": { "name": "Rayzor2", "description": "A faster implementation of the Rayzor rendering engine" } }, { "node": { "name": "tictacsolve", "description": "A program for deciding the optimal move in tac-tac-toe for any given board state" } }, { "node": { "name": "yubiparse", "description": "A simple library for parsing yubikey OTP strings" } }, { "node": { "name": "ewvector", "description": "Vectors, Quantities, and Sizes" } }, { "node": { "name": "driverstation", "description": "A tool for transmitting X-Input data to robot controllers running FRCNetComm" } }, { "node": { "name": "learning-drake", "description": "Source code from my process of learning how to use DRAKE" } }, { "node": { "name": "roborank", "description": "A tool for ranking FRC teams" } }, { "node": { "name": "rules_avr", "description": "Bazel rules for build code using AVRC " } }, { "node": { "name": "tvdsb-student-life", "description": "The TVDSB Student Life app" } }, { "node": { "name": "statix", "description": "Easily configurable and scriptable status bars" } }, { "node": { "name": "vessl", "description": "An experiment in isometric game development" } }, { "node": { "name": "celltrackd", "description": "A tool for tracking people based on their network connectivity" } }, { "node": { "name": "bust_scripts", "description": "Experimental bustabit betting scripts" } }, { "node": { "name": "tapatalk-api", "description": "Interact with tapatalk via Python" } }, { "node": { "name": "sliding-arm-manipulation", "description": "A project to design a system with a single jointed arm on a slider" } }, { "node": { "name": "fsession", "description": "A simple library for sorting files based on the current session" } }, { "node": { "name": "SnapAbuse", "description": "A script for quickly dealing with spam snapchat accounts to determine what they are trying to do." } }, { "node": { "name": "simple-sensor-fusion", "description": "A small Java library and Android webapp for pose estimation of an FRC robot" } }, { "node": { "name": "obfuj", "description": "A demonstration of visually obfuscating Java code" } }, { "node": { "name": "backblast", "description": "The UI/UX framework I use for web frontends when I don't want to do web work" } }, { "node": { "name": "shotpredict", "description": "ShotPredict is a software library for predicting the trajectory of objects launched through the air" } }, { "node": { "name": "tinygc", "description": "A small learning experiment in garbage collection" } }, { "node": { "name": "dynfolio", "description": "Dynfolio is a web tool for displaying your Instagram profile as a photography portfolio" } }, { "node": { "name": "shift3", "description": "A fast re-implementation of https://github.com/Ewpratten/shift" } }, { "node": { "name": "mapcap", "description": "A tool for taking \"screenshots\" of a minecraft map by hooking into dynmap" } }, { "node": { "name": "playergraph", "description": "Graph the vitals of every player on a Minecraft server in real time" } }, { "node": { "name": "icebucket", "description": "A small server-side plugin to allow players to add frost-walker to an iron bucket" } }, { "node": { "name": "coreserv", "description": "Fast and easy minecraft server hosting inside a docker container" } }, { "node": { "name": "jekyll-wiki", "description": "A small and lightweight jekyll wiki theme" } }, { "node": { "name": "remoduino", "description": "A project to turn AVR-based Arduino devices into scriptable devices over UART" } }, { "node": { "name": "amongus-hacking", "description": "Playing with the Among Us multiplayer protocol" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMDAwMzEwNzM=", "name": "combat-tracer", "description": "Adds the \"Tracing\" enchantment to Minecraft, allowing the player to mark entities by hitting them" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMDAxMDM4Mzk=", "name": "offload", "description": "Multi-host hardware interfaces with RPC-over-serial" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMDE0MTA4NDk=", "name": "textual", "description": "A web graphics engine based around visual story telling" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMDM3MjcxMDI=", "name": "mc-analytics", "description": "A tool for analyzing Minecraft server logs" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMDQ0NTQ4MjY=", "name": "randomart", "description": "Generates SSH randomart from any file" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMDYwNDYxMDE=", "name": "snapfinder", "description": "A tool for scraping snapchat accounts out of instagram bios" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTA2NjY5ODc=", "name": "grafana-nt", "description": "A Grafana datasource for NetworkTables servers" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTE0MDMxMTk=", "name": "voxelmc-pipeline", "description": "Sponge schematic -> VOX data processing pipeline" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTM3Nzc3NjU=", "name": "thirdparty-mod-docs", "description": "Automatic Javadoc generation for other people's Minecraft mods" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTQxMjgzNzk=", "name": "backblaze", "description": "Rendering improvements for Minecraft" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTQ4MjQzMzc=", "name": "smtp-send", "description": "A tool for sending email using direct SMTP connection" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTQ4OTgzMTA=", "name": "lp2joy", "description": "Convert Novation Launchpad inputs to Joystick buttons" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTQ5MjEyNjE=", "name": "launchlib", "description": "Interact with MIDI controllers" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTUwOTY5MzA=", "name": "fastrender", "description": "Quick, simple, and easy to use graphics" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTY2MjkwOTU=", "name": "quickxor", "description": "A tool and file format for encoding and decoding data with an ASCII key" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTY3NDUwNzI=", "name": "vscode-poetry", "description": "Visual Studio Code extension for the Poetry build tool" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTY4MTIxMzQ=", "name": "dynmap_heatmap", "description": "A GUI tool to generate a real-time heatmap of the positions of Minecraft players via the Dynmap API" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTcwMTg4NTY=", "name": "mobile_cv_passthrough", "description": "An experimental Android app for running basic OpenCV video pipelines on-device" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTcwMjUyMzM=", "name": "amongus_hooks", "description": "A Python library for interacting with a local instance of Among Us on a Windows host" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTc3MjA3NTI=", "name": "flashbg", "description": "Flash BattleGrounds is a fast-paced multiplayer arena battle game" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTgwMjM2ODQ=", "name": "REGEXResolver", "description": "A small and simple asset resolver for the Pixar USD framework, based on REGEX rules" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTgyMzk3MDE=", "name": "quicksds", "description": "A small Python library that extends dataclasses to allow packing and unpacking" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTk1MDIxNzg=", "name": "no-wurst-logo", "description": "A small fabric mod to completely disable the Wurst client logo" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMTk3NjgyMTU=", "name": "robolib", "description": "A Python library containing various tools I developed during my time in highschool robotics" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjIwODI5MTk=", "name": "repeatermap", "description": "An interactive map showing VHF and UHF amateur radio repeaters throuought the world" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjM2NTU5ODY=", "name": "open-london", "description": "A simple API for querying data about the city of London Ontario" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjM3MzQxMTc=", "name": "xlog", "description": "Cross-platform PWA for logging radio contacts, and syncing between devices" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjQ0MzQxNjk=", "name": "rules_teensy", "description": "A collection of Bazel rules for the teensy microcontroller family" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjQ0Nzc3ODA=", "name": "nativetools", "description": "My personal toolchain for developing code using the Java Native Interface" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjQ5MDc1MDU=", "name": "toy.social", "description": "A personal learning project where I create a simple social platform for sharing text-based posts" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjQ5MDk2NDc=", "name": "codestyle.css", "description": "CodeStyle is a small CSS+JS project I built to nicely style Kramdown code blocks" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjY0NTE5Nzc=", "name": "rayconsole", "description": "A graphical debug console for use in Java RayLib applications" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjY1MDc0NTY=", "name": "RayJava", "description": "Raylib bindings to Java using cross-compiled JNI" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjgyMjc0NDk=", "name": "koctl", "description": "A tool for interacting with Kobo hardware on-device" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjgyNzIxMzQ=", "name": "repeaterbook2gqrx", "description": "A tool for exporting a list of repeaters from RepeaterBook as a GQRX bookmark file" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjkzNTQzOTk=", "name": "AutoBCN", "description": "Simple CW beacon driver" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMjk5NDUwNjY=", "name": "baremetal-avr", "description": "C++ tools for working with AVR microprocessors" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzIwNzI1MjE=", "name": "openbandplan", "description": "A web-viewer for ITU region 2 band plans" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzI0NzI4NTI=", "name": "LiteIO", "description": "A lightweight HAL for systems I commonly use" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzM3OTQ2NzE=", "name": "VarStrings", "description": "Non-constant String types for Java" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzQwMzE3MDE=", "name": "tooltips", "description": "Meta extensions to Java, allowing custom tooltips in source" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzQyNDIyNDc=", "name": "sdrexplorer", "description": "A web tool for exploring WebSDR servers globally" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzQ5ODgzNzE=", "name": "PlayerStats", "description": "A Minecraft server plugin for tracking client-server activities" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzUzMzA2MjQ=", "name": "ChatBridge", "description": "Bridge Minecraft chat to a Discord channel" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzU3NDIxNDU=", "name": "hookback", "description": "Remote monitoring for Java applications" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzgzNjM0MjE=", "name": "MapLink", "description": "The missing link between Dynmap and your Minecraft client" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzg4MjAyNDY=", "name": "SDRInterface", "description": "Web front-end for my WebSDR server" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzkyMTk2MjE=", "name": "jarcon", "description": "A lot of recon in a little bit of jar (A tool for hiding telemetry services in Java applications)" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzMzk4NTkxOTQ=", "name": "rq", "description": "A scalable rendering pipeline" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDAwOTI2NTA=", "name": "plugin-core", "description": "Core API shared across my Spigot / PaperMC plugins" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDAyMDIwMTM=", "name": "update-notifier", "description": "A small Java library to provide software update notifications to users" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDEyODgzMjA=", "name": "glass-engine", "description": "A dead simple 2d game engine build from past experience" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDEzMTY2ODA=", "name": "bionic", "description": "A robotics framework" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDE0MDU4ODM=", "name": "mathutils-py", "description": "Python port of MathUtils" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDE1OTAyMTQ=", "name": "control-rs", "description": "Rust ports of various basic control loops and systems" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDE3MTk5OTk=", "name": "basic-control", "description": "Basic systems and controllers for Python" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDIyNjI0ODA=", "name": "mathutils-rs", "description": "Rust port of my MathUtils library" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDIzNzM0NzA=", "name": "maven-edge", "description": "Tools to deploy personal maven edge servers anywhere, any time" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDI2MjMwNjQ=", "name": "rayray-demo", "description": "3D rendering 3D objects, ray-traced in 3D. An experiment" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDMxODQ5MDE=", "name": "twentytwo", "description": "A Minecraft server plugin that adds a new music disc type" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDM1MjAxMDY=", "name": "wxbcn", "description": "A project to create a local area CW beacon providing temprature and light level informaiton" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDM4MTM0ODE=", "name": "tws-bs-x-morse", "description": "Platform-agnostic Rust driver for the TWS-BS series high-power wireless transmitter modules. This driver is specifically for sending data encoded as morse code" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDQ0ODcwMDM=", "name": "propagation-app", "description": "A simple android app for displaying HF and VHF propagation information" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDU2OTk1NDY=", "name": "logbook", "description": "Clean and simple log-keeping program for amateur radio operators" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDY3NTQ5NDU=", "name": "ham-status", "description": "An experimental dashboard for amatuer radio operators" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDgwMDkyMzE=", "name": "hambadges", "description": "Embeddable badges for amatuer radio operators" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDkwNzQ0Njk=", "name": "py-aprsfi-api", "description": "An aprs.fi API client for Python" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNDkxNDY5NzQ=", "name": "avr-rust-utils", "description": "Some utility functions for working with Rust AVR code" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTA3Mzc4Nzg=", "name": "repeater-info", "description": "Web-based amateur radio repeater information" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTA4MzE0MjQ=", "name": "path3d", "description": "A demonstration of 3D path solving" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTE0NTY2NjM=", "name": "nodelink", "description": "Dockerized internet radio nodes" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTI2OTQ5NDQ=", "name": "tinyos", "description": "A tiny OS" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTM3NTg0MzQ=", "name": "burstfetch", "description": "A very simple BitTorrent implementation" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTM4MjI0OTI=", "name": "bdl", "description": "Small and fast HTTPS file downloader" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTQwMzQxMjU=", "name": "raylib-tweaks", "description": "Some small tweaks and extensions on raylib to make it a little more Rust-friendly" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTQzNzU1NzM=", "name": "cone-of-vision-demo", "description": "A small app demonstrating cone-of-vision rendering in 2D" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTc2MDQxODc=", "name": "raylib-imgui-rs", "description": "Raylib + Dear ImGui. In Rust" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTc5NjUwMzA=", "name": "GameTK", "description": "A game development and 3D rendering framework" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTgzMTcxNDQ=", "name": "slyce", "description": "An experiment in low-complexity game development" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNTgzMjQ2MTI=", "name": "raylib-tessellation", "description": "A bridge between Lyon and Raylib, allowing easy GPU path tessellation" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjAyMzQ0MzY=", "name": "aprtwt", "description": "APRS <-> Twitter bridge" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjAyNzI1OTQ=", "name": "spawn-server", "description": "Experimental Minecraft server infrastructure" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjIxMjkwMTE=", "name": "git-time", "description": "Graph time spent on a Git project" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjMyMzExNTQ=", "name": "lcx", "description": "LaunchControlX: A custom macro pad" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjYwNjA4ODY=", "name": "repeatermon", "description": "A tool for monitoring repeater activity" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjYzOTQwODA=", "name": "ZZALOG", "description": "VA3ZZA's Amateur Radio logging software" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjc2MzQ3MDA=", "name": "autojson", "description": "Automatic JSON serialization and deserialization macros for Rust" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjc5MTA5NDM=", "name": "stratosphere-r6", "description": "A tool for estimating Rainbow Six Siege match results" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjg1NTQ0ODc=", "name": "breaktrack", "description": "A simple crawler for broken URLS on a webpage" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjk1MzE4ODE=", "name": "packtool", "description": "A tool for managing Minecraft modpacks" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNjk4Mjc2OTU=", "name": "lmvn", "description": "A small tool for managing local maven repositories" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzEwMzgzMzc=", "name": "wg-dash", "description": "A dashboard for WireGuard servers" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzMxNjQ3MDQ=", "name": "leapmotion-rs", "description": "Rust bindings for the LeapMotion V2 API" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzM1MDQ4NzA=", "name": "improc", "description": "Image processing and filtering in Rust" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzM1MTcxMjY=", "name": "lightpanel", "description": "A tool for turning my computer monitors into configurable light sources for my room" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzUwNDE4MDk=", "name": "mdviz", "description": "Multi-dimensional graphing tool" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzUwODI5OTA=", "name": "pixyusb2-rs", "description": "Rust bindings for `libpixyusb2`" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzU0MjY2MTQ=", "name": "gnn", "description": "An experiment in building a generic neural network" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzc4NjM0OTY=", "name": "ampersand", "description": "A build tool for Rust-based Android apps" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzgxNTA4MDk=", "name": "vision-types", "description": "Datatypes and utils related to computer vision targets" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzgxNjYzNDI=", "name": "ewpose", "description": "\"ewpratten's positioning library\"" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzkzMzY5ODg=", "name": "ludum-dare-48-rework", "description": "A design rework of our Ludum Dare 48 game: Deep Breath" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzNzk5NDA0MjQ=", "name": "tvdsb-student-api-rs", "description": "Rust API for interacting with Thames Valley District School Board student information" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODAzMzYyOTI=", "name": "pathwarn", "description": "A library for providing useful feedback about invalid paths passed to Rust applications" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODA1MjEzOTc=", "name": "nv", "description": "An environment management tool" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODA1MjkwNzM=", "name": "kxsvc", "description": "Local gRPC service for programmatic control of Elecraft KX2 and KX3 transceivers" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODA1MzIyNDI=", "name": "kx2-rs", "description": "Rust library for serial control of the Elecraft KX2/KX3 transceivers" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODE3NDA4MDM=", "name": "zzarl", "description": "VA3ZZA Amateur Radio Logging software" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODI3NDEzNzU=", "name": "ut", "description": "Usage Tracking API" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODMxNTYxMzQ=", "name": "tiny-analytics", "description": "Small and efficient analytics engine for my personal projects" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODQ0NDQzMjg=", "name": "csrpc", "description": "Crazy Simple RPC library" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODQ0OTQxMjY=", "name": "minecraft-wasmtime-experiment", "description": "Experiment in loading plugins into Minecraft with Wasmtime" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODQ5ODg0MTk=", "name": "strands", "description": "Basic and experimental physics toys" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODUwMDY0OTY=", "name": "xplre", "description": "XPLRE: A small 2d game" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODUwMTQ4OTk=", "name": "error-adaptor", "description": "Utility macros for wrapping external error types in Rust" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODUyODI1NzA=", "name": "egui-raylib-rs", "description": "Raylib integration for egui" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODcwMDYzMTU=", "name": "zndfrm", "description": "A procedural audio engine" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODcxOTI0Mjc=", "name": "disco", "description": "Simple network discoverability service" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzODk0NTUyMzc=", "name": "fileshare", "description": "Personal file-sharing service" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTA3OTY3OTU=", "name": "network-monitor", "description": "A tool for logging network drops" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTA4Mzg3NDc=", "name": "tinygl-rs", "description": "Rust bindings to tinygl" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTM3MTU1NDY=", "name": "discord-framework", "description": "Easily build Discord bots by defining them using JSON data" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTM5OTgxNTA=", "name": "open-echo-proxy", "description": "An open-source echolink proxy server" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTUwMTQ3NTg=", "name": "vec-convert", "description": "A translation layer between the many Rust vector types" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTYwMzg4MDI=", "name": "spac", "description": "Abstract mathematical types for library interop with easy-to-use interfaces" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTYwNTM4NDE=", "name": "rtiod", "description": "Ray-Tracing In One Day: A random project to fill my time" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnkzOTgwNTQwMzk=", "name": "gpu-avg", "description": "Learning experiment for executing headless compute shaders" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnk0MDAyNTIwOTE=", "name": "kobodash", "description": "A simple dashboard application for the Kobo Aura" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnk0MDA1MTE1MjE=", "name": "morsencode", "description": "Experimental data encoding algorithm based around morse code" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnk0MDIxOTAyNDQ=", "name": "cloth-toy", "description": "2D cloth simulation toy" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnk0MDMzNTU5Njg=", "name": "ewc", "description": "C-compatible core library for quick development shortcuts in various languages" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnk0MDUyMDM0MDc=", "name": "discord-map", "description": "Generates a graphviz map of all your Discord servers" } }, { "node": { "id": "MDEwOlJlcG9zaXRvcnk0MDc1NDY1NTQ=", "name": "sonr", "description": "A voice chat control library built on Serenity and Songbird" } }, { "node": { "id": "R_kgDOGKDEdQ", "name": "tyler", "description": "A custom `tiled` map loader" } }, { "node": { "id": "R_kgDOGKsx4A", "name": "egf", "description": "Evan's Game Framework: Everything you need to build a 2D game" } }, { "node": { "id": "R_kgDOGK5Ssg", "name": "r3_pipeline", "description": "Video game and animation production pipeline (Used for **\\[data::loss\\]**)" } }, { "node": { "id": "R_kgDOGOy-aA", "name": "darkdns", "description": "A standalone Docker-based DNS server that resolves lesser-recognized domains" } }, { "node": { "id": "R_kgDOGPif-Q", "name": "ampr-minecraft", "description": "Minecraft server for stress-testing an edge router" } }, { "node": { "id": "R_kgDOGRGoVg", "name": "discolytica", "description": "A tool for tracking discord data into an analytics database" } }, { "node": { "id": "R_kgDOGR_qng", "name": "usd-tutorial-files", "description": "Scripts from Pixar's USD tutorials" } }, { "node": { "id": "R_kgDOGU8_WQ", "name": "vox2usd", "description": "Convert from the Magica Voxel file format to Universal Scene Description" } }, { "node": { "id": "R_kgDOGVB7Uw", "name": "strangle", "description": "Experimental voxel art pipeline" } }, { "node": { "id": "R_kgDOGWlwWQ", "name": "hamscan", "description": "Frequency monitoring and web visualization based on `rtl_power`" } }, { "node": { "id": "R_kgDOGXm44g", "name": "repeaterstack", "description": "A full amateur radio simplex node / remote repeater" } }, { "node": { "id": "R_kgDOGZOxKw", "name": "tinylink", "description": "An alternate repeater linking project" } }, { "node": { "id": "R_kgDOGZjGag", "name": "protocrypt", "description": "An experimentation in XOR-ing data" } }, { "node": { "id": "R_kgDOGZlSGA", "name": "shoot-to-interact", "description": "A game with one option: shoot" } }, { "node": { "id": "R_kgDOGZoyoQ", "name": "MiwuStickers", "description": "A custom sticker pack" } }, { "node": { "id": "R_kgDOGZtGsg", "name": "betaroute", "description": "A peer-to-peer routing tool (example implementation of [this RFC](/rfc/modern-repeater-linking))" } }, { "node": { "id": "R_kgDOGZ7sKQ", "name": "amprdns", "description": "An alternate DNS service, only avalible to 44net hosts" } }, { "node": { "id": "R_kgDOGcxcBg", "name": "EmmetMob", "description": "A minecraft mod that turns my friend into an entity" } }, { "node": { "id": "R_kgDOGdDqow", "name": "tiny-osc", "description": "Morse code practice ocillator built on the Atmel ATtiny85 platform" } }, { "node": { "id": "R_kgDOGdFEKw", "name": "MuchPerformance", "description": "A minecraft performance modpack" } }, { "node": { "id": "R_kgDOGdYxbQ", "name": "rc2d", "description": "A 2D raycasting library for line-of-sight lighting in 2D games" } }, { "node": { "id": "R_kgDOGfeDnw", "name": "mitechlib", "description": "A library for interacting with Mitech smart connected laundry machines" } }, { "node": { "id": "R_kgDOGifO_A", "name": "microfetch", "description": "An over-simplistic portable command-line system information tool" } }, { "node": { "id": "R_kgDOGiyiGw", "name": "wtf", "description": "A utility for dumping large amounts of information about a host" } }, { "node": { "id": "R_kgDOGkoJvw", "name": "dynmap-viewer", "description": "A high-performance desktop client for Dynmap" } }, { "node": { "id": "R_kgDOGkydgg", "name": "multirss", "description": "A minimalist RSS aggregator" } }, { "node": { "id": "R_kgDOGk2JNQ", "name": "MultiAuth", "description": "A development tool to allow a mix of premium and \"offline mode\" accounts to join a Minecraft server" } }, { "node": { "id": "R_kgDOGlTCew", "name": "blink-client", "description": "A simple client for Blink home security cameras" } }, { "node": { "id": "R_kgDOGlf2QQ", "name": "blink-camera-api", "description": "A partial API client for Amazon/Blink cameras" } }, { "node": { "id": "R_kgDOGmD9Yw", "name": "dst-rpc", "description": "Discord RPC (Rich Presence) support for @kleientertainment's Don't Starve Together (precursor to animal-loader)" } }, { "node": { "id": "R_kgDOGmX80Q", "name": "ewpratten-commit-stats", "description": "A private api for querying my GitHub ranking in Canada" } }, { "node": { "id": "R_kgDOGmr6gQ", "name": "render-test", "description": "An experimental game that only uses ASCII art for rendering" } }, { "node": { "id": "R_kgDOGoQgqQ", "name": "proxmark-rs", "description": "A Proxmark3 client library for Rust" } }, { "node": { "id": "R_kgDOGoXonw", "name": "CardStudio", "description": "A tool for working with various RFID cards using Proxmark devices" } } ]