Welcome to Willmo3's Website!

picture of me!

πŸ‘“ About Me

Hello! I'm Will Morris, a CS student at James Madison University.

I enjoy the finer things in life, like Minecraft, Freeciv, and Legos.

Currently, I'm a research intern in Carnegie Mellon University's REUSE program, where I'm working on formal methods with CMU's SoDA lab.

My research interests intersect computer systems and theory. I'm particularly interested in distributed systems, programming languages, and high performance computing!

Research

Chris Johnson helps students at James Madison University's summer refugee camp.

Dr. Chris Johnson's Twoville is an education programming language for generating and visualizing SVG shapes!

I examine avenues for performance improvements in Twoville, like upgrading its interpreter and web runtime.

An example state machine, similar to the LTSes used in my robustness research.

What makes robust software?

At CMU's SoDA lab, I work on formalizing and quantifying the notion of software robustness.

I've defined libraries for network communication, decomposed important protocols, and connected Leslie Lamport's TLA+ language to our own tools.

A minimum energy seam through a canyon.

HPCarver is a C++ implementation of seam carving, a dynamic programming algorithm for image resizing.

This research compares LLNL's RAJA performance portability with other parallelization libraries, such as CUDA and OpenMP.

Projects

The beautiful mountains of Williserver!

I run the Williserver Minecraft server, along with a suite of accompanying plugins and scripts.

As an aside, this website is named for the eponymous Minecraft server!

Freeciv gameplay

Over Covid, I started playing a Civ2 clone called Freeciv with my friends.

Now I've got a whole collection of Freeciv utilities called "Beeciv"!

The TLA+ Logo

At CMU REUSE, I built a library for modeling network channels in TLA+.

This library enables synchronous, partially synchronous, and asynchronous communication.

A Huffman tree

Over winter break, I built a Huffman compressor in Rust. It was a bit of a journey!

A photo of a Minecraft world with a red worldborder, from the Worldborder plugin.

Tiers is a Minecraft plugin for dynamically expanding world borders in 'tiers'.

The Lego Logo

I built a tool to select a personal Lego set based on your name.