Software Developer Intern at GIRS
The B. John Grarrik Institute for The Risk Sciences (GIRS) is a research lab at UCLA that studies the quantification and management of the risk of complex natural and engineered systems and processes. For example, let's say you built a rocket. Your manager told you that you can launch the rocket only if the chance it fails is < 0.01%. You need to somehow quantify the probability that your rocket malfunctions. This is very important especially if human lives are involved. I joined GIRS as a student developer to design, prototype, and build NASA Jet Propulsion Laboratory's internal software for system reliability analysis.
Here are some of stuff I implemented:
-
Tree Layout Algorithm: We had a tree representation of Human Failure Analysis. It's basically an event tree with probabilities. For example, a node can have a value
engine malfunctions
with two edges --YES
with weight0.999
andNO
with weight0.001
. The weights represent the probability of the event. I wrote an algorithm to render the nodes and edges without overlapping. -
Tree Encoding/Decoding: Every tree node has properties such as name, descriptoion, probablity etc. I wrote an encoder to convert the tree objects into JSON format as well as a decoder to do the reverse.
-
Node Editor: I designed and implemented event tree node editing tool with React.
-
TypeScript Migration: When I joined the lab the code base was 100% JavaScript. To provide type safety and improve the dev devlocity, I've migrated nearly 80% of the code base to TypeScript.
I had an amazing grad student mentor, Arjun Earthperson. He was very knowledgeable in both software engineering and risk analysis. Some of my React coding styles are inherited from him.