~/Gareth Widlansky
~
Hi, I’m Gareth Widlansky, a passionate game developer, OSS contributor, and student at WPI. I am interested in game development, having completed several games and projects, I love every step of the process and getting deep into the rabbit holes it leads me down. I also maintain and contribute to OSS projects in my free time, most notable being Universal Blue.
Golang, GDScript, C/C++, Bash, Fish, Python, Java, C#, Rust, Javascript, Markup (org, typst, md, html, etc)
Linux, Systemd, Podman/Docker, Hugo, Godot, Scratch, Vex/Pros, Vulkan, Raylib
Helix Editor, Fish Shell, Distrobox/Containers, Ghostty, Fedora Silverblue
~/Projects ls -l
~/P/2D Physics Engine in C
~/P/2D Physics Engine in C cat "index.md"
physics2D was made in my free time with a friend as a way to experiment with C and raylib as well as getting to grips learning some basic physics and kinematics concepts. Rotational motion, friction, and rigid body collision all work well, only supports convex poligonal shapes (triangles, squares, hexagons, etc)
Visit the Github: Physics 2D
~/P/Bush Campus Signin
~/P/Bush Campus Signin cat "index.md"
A simple webapp that allows students of the Bush School to sign in and out of campus digitally and store it in a google spreadsheet. Integrates with the google accounts system to ensure students are authenticated, runs locally on Bush Wifi to ensure students are on campus when signing in or out of school.
Visit the Github: Bush Campus Signin
~/P/Energy Exodus
~/P/Energy Exodus cat "index.md"
Made for the 1-bit jam with friends from school collaborating on code, art, and music, Energy Exodus is an exciting 2D platformer requiring precise movement and timing to beat. Play as a tiny robot in search of an escape, and hide from the enemies that get in your way!
Play Energy Exodus right now by clicking on the button below!
~/P/Froggo Mode
~/P/Froggo Mode cat "index.md"
Froggo Mode was created by me and Noah Adrichem for the BigMode game jam, hosted by BigMode, a video game publishing company owned by the Youtuber VideoGameDunkey. The theme for the game jam was the word “mode,” so we took the idea of having a little frog character transform into a bullet and an anvil in order to complete each level. In Froggo Mode, each “mode” or character contributes a necessary role for completing the levels. For instance, the anvil mode can crush the trash blocks in each level. Noah and I had some challenges communicating as our timezones were polar opposites. We learned to work collaboratively and finished the game before the jam ended. Players gave extremely positive feedback. We are now working on a full release to publish on Steam!
You can click the button below to play Froggo Mode in the browser, right now!
~/P/Mailsync
~/P/Mailsync cat "index.md"
For my senior project at the Bush School, I worked with The Bush School IT to automate updating the parent mailing lists. Bush School currently uses Email Octopus to sent out emails to all the parents, however the mailing lists are managed externally with Blackbaud. Before my program, the mailing lists in Email Octopus needed to be manually updated which takes hours and was sparingly done. Now using my program, the lists are updated automatically every day without any extra effort required from IT, integrating with their current scheduling system. The program integrates with the Email Octopus API and a simple PostgresSQL database with the emails. It was built, deployed, and tested over the course of two weeks before summer 2025.
Visit the Github: Mailsync
~/P/UUPD (Universal Blue Updater)
~/P/UUPD (Universal Blue Updater) cat "index.md"
I maintain Universal Updater (uupd), written in Go. It handles updates all of the subsystems of Universal Blue images (Brew, Distrobox, etc) and Bootc/rpm-ostree, with progress reporting and a fancy CLI to boot. It is used as the automatic updater in several different desktop uBlue Images: Bazzite, Bluefin, Aurora. I triage issues from users and maintainers inside of the organization, review pull requests, and keep the software up to date and working.
Visit the Github UUPD
~/P/Vulkan Renderer in C
~/P/Vulkan Renderer in C cat "index.md"
Experiment to learn graphics APIs and low level platform libraries such as SDL. This project was quite grueling due to the sheer amount of verbosity vulkan requires, it took about 4-5 days until I saw any visible results (triangle). Things got easier once I had the foundation in place but it was certainly a learning experience in memory management, shaders, 3D projection, reading files in C, as well as vulkan itself.
Visit the Github: VKtest
~/Work Experience ls -l
~/W/Blue Build
~/W/Blue Build cat "index.md"
Taken from the Website:
The BlueBuild project creates accessible tools for you to create, configure & build custom images of atomic Fedora distributions.
This project originally started in Universal Blue as a starting point for creating custom images but eventually split off to become a seperate entity to manage the growing complexity of the image creation toolkit. I have contributed a lot to make the final iteration of BlueBuild the way it is today, creating the systemd module, files module, signing module, and helping fix bugs that crop up. I used this project to create the operating system that I use on my laptop.
~/W/Coding with Kids
~/W/Coding with Kids cat "index.md"
Worked as an assistant teacher 1st Graders at Kimberly Elementary, helping with managing classroom behavior and teaching lessons. Taught the “Little Coders” Scratch curriculum and helped kids develop the logical thinking skills they use for coding. I also helped with pickup after class, managing the kids and making sure they get on the right bus or are picked up by the right parent.
~/W/Teachers Assistant for AP Computer Science at Bush
~/W/Teachers Assistant for AP Computer Science at Bush cat "index.md"
During highschool Spring and Fall 2025 semesters at Bush I TAed the AP Computer Science course, helping teach several lessons, review materials before quizzes and tests, and also helping students grapple with computer science concepts. Working with the computer science teacher was fun and it was really awesome to see all the kids grow in their skills throughout the year.
~/W/Universal Blue
~/W/Universal Blue cat "index.md"
Taken from the Website:
The Universal Blue project builds a diverse set of continuously delivered operating system images using Fedora Atomic Desktop’s support for bootable OCI containers. That’s nerdspeak for the ultimate Linux client: the reliability of a Chromebook, but with the flexibility and power of a traditional Linux desktop. These images represent what’s possible when a community focuses on sharing best practices via automation and collaboration. One common language between dev and ops, and it’s finally come to the desktop. We also provide tools for users to build their own image using our templates and processes, which can be used to ship custom configurations to all of your machines, or finally make the Linux distribution you’ve long wished for, but never had the tools to create.
I maintain Universal Updater (uupd) which is used as the automatic updater in several different desktop uBlue Images: Bazzite, Bluefin, Aurora. I often collaborate and triage bugs with members of the organization, file github issues, and open pull requests to projects within and adjecent to the Universal Blue Github organization