about
Hi this site is currently under construction
I deployed while still in progress because I couldn't bear to have that bloated jekyll site up for any longer.
This was a mistake, clearly.
Hello! I'm Matt. I'm a computer science student at James Madison University in Harrisonburg, VA. I Began programming late in middle school (in 2009 - I am a "nontraditional", i.e., older, student), choosing C/C++ as my learner languages - this was perhaps a silly thing to do, and as such, I learned rather slowly. After I complete my bachelors at JMU I intend to pursue a PhD in the domain of high performance computing (HPC), human computer interaction (HCI), audio processing, or some meld of those three.
My favorite language is (unsurprisingly) C, but C earns that honor by virtue of being least irritating to me. I am also well-versed in Java, Python, Unix shell scripting, JSX/TSX and fullstack web, assembly, and others. I am a firm believer that BiP (Brass Instrument Principle - that learning one in depth allows you to learn essentially all others with relative ease (no one says BiP. I made it up).) applies too, to programming languages.
I'm very enthusiastic about Gnu/Linux and the greater FOSS movement; On my main machines I drive Cachy, Endeavour, vanilla Arch, NixOS, and MacOS. At the moment, I'm also tinkering with Rhino Linux as that seems like an interesting ...endeavor.
At JMU I'm currently working towards completing an honors thesis in the domains of web audio processing and participatory design. The thesis entails building a bespoke digital audio workstation (DAW) within MusicCPR, a free and open source LMS for instrumental music education. My thesis is advised by the creator and principal investigator of research carried out on the MusicCPR platform, Dr. Michael Stewart. The committee additionally includes Drs. Christopher Johnson and Dee A. B. Weikle.
Philosophically, I align my conceptions of computing and interactions w/ machines with the 'post-digital' understanding of users of modern technologies & tools as craftspersons; that a broader adoption of the view of the desktop workstation as rather, an atelier, is one means of hoisting technological literacies of broader populations. I draw on Richard Sennet's call to action on this topic, our challenge, I think today is to engage and unpack the narrative of becoming skilled rather than to be merely passive consumers of the tools of our own time.
Interests
- Parallel File Systems
- High Performance Computing
- Large Scale Parallel & Distributed Systems (like folding@home!)
- Scientific Computing
- Materials Science
- Performance Analysis
- Human Computer Interaction
- Improving Education Outcomes
- Shared Musical Experiences
- Fullstack Web
- Audio Processing
- Convolution Engines
music
I am also a "classically trained musician". I studied as a William R. Kenan Jr. Music Scholar at UNC Chapel Hill under Michael Kris, principal trombone of the NC Symphony (retired). Prior to studying with Professor Kris, I was mentored by Joe Eggebeen (B.M., Juilliard) of Bedminster, NJ. I play all the low brass, and, thanks to Mike, was able to learn/perform on "period" instruments like the ophicleide (TODO ?), sackbut (TODO ?), and cimbasso (TODO ?). I did not however, complete my degree at UNC.
When it comes to academic interests on the musical side, I'm most interested in the late romantics, historically informed performance, and musical acts of defiance. I've been fortunate enough to be able to study/perform music across the eastern United States and around Europe thanks to a travel stipend that was included with my scholarship at UNC. Favorite composers include, Mahler, Berlioz, Shostakovich, Bernstein, Strauss, and so many more.
Equipment
- Brass
- B&S PT-6 C Contrabass
- Mirafone Elektra F bass
- Dillon Cimbasso in F (customized)
- Junker Bass trombone
- Junker trumpet (x2!!)
- Other
- Hohner Special 20 (C, A, & G)
- Stonewhistle Natey
- Stonewhistle ZenFlute (E3)

projects (many/most of these are WiP &&/|| just for fun!)

MusicCPR (DAW)
bespoke digital audio workstation as part of honors thesis

terse
yell at matt for being wordy in texts/emails

woof.sh
render moby in ascii art in the terminal

DigitalDipole
chemistry educational toolkit

a better aTan2
'solution' to a personal pet peeve

MusicCPR (NEA Create variations algos)
procedurally generate 11 musical variations on a student composed motive and build + render single score

dukesh
simple emulated unix "shell", including custom shell builtins, utilities, piping, env, etc.

shellcut
nonidiomadic personal shell alias manager

Local{Toast,Ghost,Roast}
gag websites playing on the address 'localhost'

Primality Instrumentation
use intel PIN to compare efficencies of two naive primality tests (one of which appears decidedly less naive to humans) on modern hardware w/ compiler optimizations.

y86 ISA CPU Emulator (for school)
Emulate the traditional Von Neumann cycle for a cpu w/ a theoretical simplified x86 ISA

'Raccoon Rush' (for school)
Game written as a team for a software engineering course. It is deployed, but it's buggy at the moment!
Containerization (Ad Hoc Nix Scripts / flakes)
Onboarding for MusicCPR has occasionally proven difficult to the point of discouragement. Traditional containerization proved to be too slow for some students' configurations. These are attempts to rectify the issue in a way that is lightweight and reliably reproducible
Containerization (Arch/NixOS custom images)
Onboarding for MusicCPR has occasionally proven difficult to the point of discouragement. Traditional containerization proved to be too slow for some students' configurations. These are attempts to rectify the issue in a way that is lightweight and reliably reproducible
outreach
I coordinated and lead a panel of 6 current JMU transfer students to visit BRCC campus at the request of BRCC professor and CS Transfer Degree Program Coordinator, Dan OBrien. We fielded questions from BRCC students about a wide range of topics, namely curricula, admission requirements for the major, housing, and of course, food. Before the panel, I collaborated with Professor O'Brien to ensure I scouted students whose foci/niches reflected the common interests of his students or who participated in specific activities/opportunities in the department.
CHOICES are 'open house' events hosted on JMU campus for newly admitted prospective students. As a JMU CS Ambassador, I give group tours of the CS department, speak on panels, and field questions from individual students and their families while tabling at CHOICES. In addition, the ambassador team plays a role in planning/organizing for these events.
Volunteered for Dr. Michael Lam's "Fractal Art with Python" field trip actviity for a local middle school. We used boilerplate Python turtle graphics code to walk students through activities introducing core CS concepts, culminating with recursion and using it to have our turtles draw fractals. By the end of the activity, students had created art of their own by modifying the provided algorithms or starting new functions from scratch, and were able to take their creations home.
Acted as a JMU student ambassador at an event at Blue Ridge Community College celebrating National Transfer Student Week and BRCC's Hunger Awareness Week. Fielded questions about life at JMU as a transfer student while scooping ice cream for attendees.
Bridges to Computing is an annual week-long program hosted by JMU’s CS and IT programs designed to introduce and engage local refugee students in computer science. I served as a teaching assistant for a track aimed at teaching web development with virtual reality headset integration. Students in our track worked to create personal webpages and a 3D VR playground with imported assets, leading up to students creating their own VR museums.
Assisted in delivering a presentation to first-year CS and IT majors covering topics such as tech-adjacent clubs, research & career advancement opportunities, and how to prioritize wellbeing during stressful times of the semester.
During Academic Open House events, prospective students (not necessarily admitted) and their families visit JMU campus to learn about specific departments and major offerings. Student ambassadors like myself field questions about our respective majors while presenting on panels, giving tours, tabling, and more.