I solve problems by writing code. Most of my time is spent working on the Sirepo framework. I have worked on projects like adding the ability to run simulations on the Cori supercomputer at NERSC and allowing users to dynamically compile the FLASH code through the Sirepo interface. I also help with some other software development such as deploying a server running NVIDIA IndeX and setting up MongoDB and sirepo-bluesky on our Sirepo Jupyter server.
Outside of programming, I’m involved in the Social Justice Committee where we try to make RadiaSoft and the larger physics community more inclusive.
I went to college in Tacoma Washington at the University of Puget Sound. I wanted to study economics, but the first 15 minutes of my introductory economics class taught me that I did not enjoy economics. That semester I was also in a Computer Science 101 course and I was hooked from the first assignment: modifying a Java program to move a turtle around the screen. After college, I worked at a consulting company doing a variety of programming projects. I then worked at Google, trying to improve customer support experience and internal tools.
That you need to be good at math. Computer science departments are sometimes found inside of math departments and many people think you need to be good at math to excel at programming. Both fields share problem-solving and abstract-thinking skills, but you do not need to know much about math for most programming jobs. I took one math class in college, and I only took it so I could take a calculus-based physics class. If you like solving puzzles and don’t mind staring at a screen for hours on end, then you may be a good programmer.
I grew up in RadiaSoft’s hometown, Boulder, Colorado. I spent my entire childhood there except for when I lived in Padova, Italy when I was 12.
In college I worked in a “keychain factory.” Really, it was the basement of a house near mine with a long wall of tables stacked with boxes of keyrings and car-logo medallions. It was a great college job because I could just show up and work a few hours whenever I had time. The downside was that making keychains is about as exciting as it sounds, and it really hurts your fingernails after a while.
They aren’t technically scientists, but Adam Savage and Jamie Hyneman. They’re the cohosts of the TV show MythBusters, and were my earliest science influencers. A lot of what they did on their show used the scientific method and taught me how to break a problem down to understand it. I would love to someday own a shop like theirs and spend my time tinkering.
I am working on a project called NDVIZ. The goal is to use 3D-visualization software to interact with very large datasets. I’m getting our software deployed so our collaborators at Oak Ridge National Laboratory can try it out.
I spent more hours than I care to admit trying to create a working Docker image [a piece of software that acts like a template for building new applications] that could run the service and properly visualize the data using NVIDIA IndeX. I had the container running and IndeX was reachable, but the data that was visualized was completely black instead of lit up. I tried twiddling all sorts of parameters, using different GPU drivers, manually building different software, and even reaching out to folks at NVIDIA. Ultimately the answer, as it usually is, was in the code. There were some example Dockerfiles that showed how to properly build an image and once I adapted them everything worked. I learned a good lesson, I should’ve taken some time to explore the code I was given before jumping in and solving the problem how I thought it should be solved.
This might be a talent, a superpower, or just completely useless depending on who you ask, but I can get anyone who is willing to try to enjoy country music. People have been scarred by the pop-country on the radio. Once you dive in and explore country music, you’ll realize that it is a vast genre. Recently I’ve been listening to a lot of James Hand. His voice and style of play are not the most accessible but his lyrics are haunting.
My favorite is the man dancing. I like to use it instead of thumbs up when I’m happy or in agreement with something.
I wish people knew that even though the main focus of RadiaSoft’s work is particle physics, we are solving many difficult software problems, too. For example, we have written a distributed job-management system that uses asynchronous Python. We learned many interesting bits about Python through that project that I would like to someday share with the larger software community.