Isaac Schwarz
Computer Science Student
Senior at Northern Arizona University.
Currently working on: NVMe testing with Rust and TLA+... and a reverse proxy in Go.
Currently reading:
Billy Summers
Stephen King
Projects
A web-based RPG built around New York Times games.
Backend powered by Go with gorilla/websocket;
frontend built on Canvas and TypeScript.
- Concurrent WebSockets for live gameplay features.
- REST API for asynchronous features.
HTTP/1.1 functionality written from scratch in Go.
Multithreaded handling of concurrent requests.
- Working on chunked transfer encoding.
- Adding reverse proxy functionality.
An NVMe testing tool driven by formal specifications. Correct device behavior is described
in TLA+, and a Rust execution engine issues commands against an NVMe device.
- TLA+ specifications create an abstract representation of the NVMe drive and define behavior to test.
- TLA+ instrumentation uses community module "escape hatches" to interact with the Rust execution engine and incorporate real drive state into the abstract state-space.
- The Rust execution engine translates messages from TLA+ into nvme-cli commands, executes them, and returns parsed results.
- If an invalid state is reached, the TLA+ process throws an error and returns a detailed trace showing how it was reached.
Vi editor clone written in Rust.
Comments