Jack Nystrom
Who?
A third-year CS/EE student at UC Santa Cruz. I'm interested in tons of things but especially systems programming and electronics. I am currently the Electrical Captain for Formula Slug. I am also a passionate Linux / neovim user and NixOS addict... But when I'm not at my computer or in the lab I also occasionally mountain bike, play tennis, and enjoy the sun and Santa Cruz mountains.
I go by bvngee on the internet. More here
What?
I spend most of my time in Formula Slug's lab space doing embedded programming, PCB design & debugging, wire harnessing, telemetry and data analysis, or whatever else needs doing to prepare for our next racecar. Currently we're working on FS-5, which is set to compete next June!
Here are a bunch of projects I care about:
- FS-4 Firmware: The firmware for Formula Slug's latest racecar! Including throttle control, BMS, dash screens, data acquisition & logging, traction control, state-of-charge estimation, CAN bus management, drivers for various sensors, and the rest of the racecar's business logic. I led a team of ~10 firmware developers to bring this to life from the ground-up!
- FS-4 Schematics: The PCB designs for Formula Slug's latest racecar! I am very proud of my impact on this monumental team effort, from implementing our first custom STM32 design and fixing last-second BMS and battery temp sense PCB mistakes, to testing nearly every aspect of the electrical system and getting the motor spinning just days before competition.
- NixOS config: The culmination of my years using Linux, learning how operating systems work, and my descent into madness trying to build the perfect dev environment (>450 commits deep). Nowadays I couldn't bear to live without it.
- SAR project: I helped develop and test my highschool's brand new electronics class, leading tons of fun research, embedded programming, and debugging. This is the result of that!
- bvngee.com: Written and hosted from scratch using only Astro, nginx, and some bash. Automated deployment, manual SSL, etc (see this post). Fun learning experience!
- BvngeeAddons: My personal set of client-side fixes & features for Minecraft 1.17, including screenshot management utils, improved boss bar rendering, bug fixes, and more! Made purely for myself to resolve my own annoyances with the game.
- CoordinateMod and AntiAutoJump: My first two Minecraft mods, around 16k downloads (circa 2020)
- A bunch of other stuff (GitHub): Experiments, C++/Rust adventures, assignments, etc.
How?
My primary background is in software development. Languages I've used a lot:
C++
Rust
Python
Lua
C
Java
Bash
TypeScript
Astro
React
Nix
What I actually enjoy writing:
Rust
Zig
C
C++
For electronics I'm a fan of KiCad and enjoy working with STM32s. I've used FreeRTOS and Arm MbedOS, as well as AVR's baremetal SDK on an ATtiny. I'm a big proponent of compatible and open build systems, and will do anything I can to stay out of proprietary IDEs and in my Neovim!