Welcome to Willmo3's Website!

picture of me!

πŸ‘“ About Me

Hello! I'm Will Morris, a recent graduate of James Madison University and incoming CS Ph.D. student at Georgia Tech under Dr. Jacob Laurel.

My research interest centers on applied programming language design for developer productivity. Using novel optimizations and verification techniques, how can we enable developers to write correct high-performance code without being bogged down by low-level details?

I'm particularly interested in the evolution of parallel and distributed languages. "The Rise and Fall of High Performance Fortran" is one of my favorite papers!

Outside of work, I enjoy the finer things in life, like Minecraft, Freeciv, and Legos. I also like to touch grass with walks and hikes!

Past Research

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

While at the REUSE program in CMU's SoDA lab, I formalized and prototyped software robustness analysis in the TLA+ modeling language.

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

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

I examined avenues for performance improvements in Twoville, like upgrading its interpreter and web runtime, with a specific interest in Rust WebAssembly.

The Frontier supercomputer

As a research capstone, I evaluated the effectiveness of LLNL's RAJA library, designed for large (~1mil LOC+) codebases, at porting small (~1k LOC) end-user programs across consumer-grade architectures.

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 Rust mascot Ferris the crab, wearing a hardhat with the WebAssembly logo.

Walc is a multiplatform programming language built to test the performance of an interpreter run on WebAssembly. CLI and web frontends are supported!

A minimum energy seam through a canyon.

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

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

An example fault lattice

FaultCrosser is a tool for automatically calculating the robustness of fault-centered TLA+ libraries.

It reports the maximal combinations of faults a TLA+ model is robust against!

The TLA+ Logo

RobustNet models synchronous, partially synchronous, and asynchronous network channels in TLA+.

It includes faults for synchronous networks that are compatible with FaultCrosser!

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

NameSet selects a personal Lego set based on your name.