Curious about our team of software developers at RadiaSoft? You can meet them, one-on-one, in this ongoing Q&A series. Every month, we introduce you to another member of the RadiaSoft team and they tell you about their work, background, and some of the things that make them who they are.
Today, Paul Moeller talks about the advice he’d give to software developers, the new machine learning app he’s working on, and the thing he wants most from Sirepo users.
As a principal software developer, I work on Sirepo. That entails bringing various scientific codes to our browser-based framework and putting nice user interfaces on them. Almost all of them are open-source; some scientists created this software themselves or it passed through time with different people maintaining it. (For example, Zgoubi, a Fortran code, has been around since the ’70s and that’s one of the ones Sirepo supports.)
These scientific codes are out there for anyone to get, but it’s really hard for a regular person to actually run them. They’d have to get it to their computer, compile everything, and make it work. You might have to write a file and feed it into it, for example. We at RadiaSoft try to take all of that information out and build a schema for it, which is like making a map of all the inputs for a code and then arranging them to make logical sense and build a user interface for it. The nice thing about what we do, what Sirepo does, is make it so users don’t need to go through all that, they can just run these codes from their browsers.
I always knew that I wanted to study computer science, even when I was in high school. I enjoyed working on software. So I went to a small undergrad called Clarke College in my hometown of Dubuque, Iowa. I also had a music minor in undergrad. Then I got my master’s degree at Loyola University in Chicago and got a job right after that in Chicago. I went to work for a company that wrote software for manufacturing, accounting, and logistics, similar to SAP and Oracle. I worked there for four years, then got married and moved to Boulder, Colorado.
I knew I wanted to live in Boulder because I had a sister who lived here for a while and always thought it was a great place. My wife went to CU then. I met Rob Nagler, our CTO. and joined him at Bivio Inc., and the company evolved into a consulting services business. We met David and that’s how we joined RadiaSoft. This is all over a 20 year span.
In general, computer scientists and developers get caught in the language and the technology being used rather than the problem they are trying to solve. You can’t have one hammer that hits every nail. There’s a big advantage to using different technologies for different issues, but also understand that the technology you’re using today will be very different or even obsolete in a few years. Remember that clients often come to you with the technology they want, rather than the problem they have.
Back in 1990, when I was in undergrad, I spent the summer working for Central City Opera as a festival staff member. A friend of mine from college and I traveled out to Colorado from Iowa and mopped rehearsal floors, picked up garbage, manned phones, and ushered the performances—all for $25 a day. As an usher I saw around 10 performances of La Traviata, Cosi Fan Tutte, and The Merry Widow each.
I would invite a young Steve Jobs, when he was young and crazy, right after he left Apple and when he was doing stuff with Pixar and Next. That would be an interesting time in his life to have a conversation. I really like his approach to making products because they are superior to their competitors. I’d be very curious to figure out what it is about him and how he makes decisions that result in such amazing products. That’s really the million dollar question.
One project I’m working on is called Webcon. One of our senior research scientists, Jon Edelen, is heading that one up. It’s making a web app that lets you classify or apply machine learning to a dataset. It is a general purpose app which is kind of neat, as opposed to a lot of the work we do which is very specific, related to a beamline or a particular machine.
In Activait, you can upload a bunch of data, select what parts of the data you’re interested in, visualize it, partition it, and classify it. You can discover information from the raw data through classification and correlations.
In general, Activait can be used with any sort of data. It’s not only accelerator-science specific. There was one dataset I was looking at which tried to figure out whether you have diabetes or not. There were lots of inputs, like glucose levels. You let the machine learning just crunch away at it and predict. Machine learning is new to me and it’s an exciting project. It’s a product that’s live, but that we’re all actively working on. So it’s going to get better and better.
I run a lot. If I’m not working, I’m most likely running. On weekends, I run short races, virtual races, these days. In the summertime, I’ll run 50 miles a week, fewer in bad winter weather. It’s definitely something I enjoy, but even five years earlier I would have said it was soccer. But eventually I got old enough that I thought, it’s better just to run rather than put myself in harm’s way.
This is not one I use a lot, but one I like is the Walking the Dog emoji. It comes up a lot on our software team Slack channel because many people are walking dogs at various times. It’s what we use when we’re unavailable. Otherwise, I just stick to the thumbs-up emoji.
I wish people understood that we’re always developing Sirepo and continually improving it. If you’ve used Sirepo and you think it’s nice, but it doesn’t do X thing. Let us know! I would love more feedback from active Sirepo users. It’s not a typical customer-service black hole with Sirepo. One of us will get back to you and you might even change the program for the better. We are totally open to supporting someone’s wishlist. Sirepo’s target customers are such a small portion of the world, it is something we can do. We’re very focused on a specific area, so the more buy-in we can get from people in those areas the better we can make the product for them.