Coursework and experience
In computer science, my course load is focused around major requirements (such as COMP 410: Data Structures and COMP 211: Systems Fundamentals), systems programming (such as COMP 520: Compilers and COMP 530: Operating Systems), and also applications (such as COMP 426: Modern Web Programming). In mathematics, my course load is focused around major requirements (such as MATH 383: Differential Equations), applications (such as MATH 528: Mathematical Methods for the Physical Sciences I), and classes related to computer science (such as MATH 548: Combinatorial Mathematics). The most relevant classes I've taken are listed on my resume.
I have been an undergraduate teaching assistant in Systems Fundamentals (COMP 211), an intermediate level computer science class, for four semesters. It teaches programming in the C language and lower-level computer concepts such as data representation, memory management, and parsing, as well as tools. With the help of Cindy Wang and Dylan Binley, I helped make an archival semester website. I am now an undergraduate teaching assistant for Operating Systems (COMP 530), an advanced computer science elective.
In the summer of 2021, I was an intern for VMware's Uhana team. Uhana is a real-time big data platform for telecommunications, which generates and analyzes KPIs (key performance indicators) for 4G and 5G radio access networks (RAN). I worked on migrating the decoder service from using Apache Kafka Streams to Apache Flink. The decoder is an early part of the pipeline, which converts a stream of various formats (binary, JSON, ASN) into a unified format (protobufs). I enjoyed working at VMware, and also enjoyed mentoring for VMware High School Hacks, and participating in the intern borathon. I returned in the summer of 2022 to the same team, but with a more difficult project: splitting the overly complicated Flink-based streaker service into two smaller services: a session collator and a KPI composer. The composition of KPIs is the most important part of the Uhana platform, so being able to increase the stability of that component of the pipeline was a pleasure.
I originally gained an appreciation for computer programming through Minecraft modding. Although I am no longer very active in the scene, I have created, taken over, or contributed towards several well-used Minecraft mods. Nuclear Control 2 (now discontinued) is probably my biggest project, which has more than 5.7 million downloads. Notable other projects include the AFSU Mod (with 206k downloads), Flaxbeard's Steam Power (also known as Esteemed Innovation, with 997k downloads), World Control (1.1m downloads), Long Fall Boots (15.6m downloads), and HuesoDeWiki (with 5.7k downloads). All are written in Java.
Creating mods accidentally brought me deep into the world of documenting mods. I am now an administrator of and a major contributor (with over 55,000 edits) towards the Official FTB Wiki, the largest, most popular and most up-to-date centralized repository of knowledge on modded Minecraft. Unfortunately I am no longer very active, and my current contributions are mostly administrative rather than writing new documentation. In August 2016, I was awarded Gamepedia Editor of the Month for my "hard work across Gamepedia."
Technology expertise
Java is the programming language I feel the most natural in, since it is the first language I used when I started programming in 2013, and I have used it in many projects since. I am also fairly comfortable in C, and to a lesser degree, Ruby, and many more. Here are all the languages and technologies I have experience with:
- Strong: Java, C, MediaWiki.
- Basic:
- Languages: Ruby, Rust, JavaScript, Groovy, HTML, CSS, Assembly (MIPS, x86), SQL (PostgreSQL, SQLite, MariaDB).
- Tools/frameworks: Git, Linux, Flink, Protocol Buffers, jQuery, Gradle, JUnit, Bulma, Heroku.
- Some:
- Languages: Lisp, Python, Verilog, Bash, Lua, C#, MATLAB, Mathematica, TypeScript, C++.
- Tools/frameworks: Bazel, Docker, Kubernetes, Kafka, Kafka Streams, Node.js, Vue.js, Nuxt.js, express.js, React.js, Make.
You can see how I've used this knowledge in the projects I've made.
Generally I am quite flexible when it comes to languages and frameworks. I've touched enough of everything to be able to adapt to whatever situation I need to.
Personal
I try to run six days a week. I prefer to run long distances, and ideally would run 40 miles a week (although it's been a while). I've run seven marathons, which I am very proud of. I also lift weights six days a week, with an emphasis on hypertrophy.
I like to play video games. Minecraft is my favorite, especially when modded. Other games I have enjoyed include The Binding of Issac, Cube 2: Sauerbraten, the Civilization series, and Bloons Tower Defense 6.
I am interested in international politics and affairs, and I keep up with world news closely. I like cats, and love my parents' cats, Trixie and Scout.
Contact
If you want to contact me, you can contact me through the address e r i c t s @ vt . edu
(copy). This is my student email, but it is continually monitored outside the school semester. Email is my preferred means of initial contact.
You can add me on LinkedIn. You are welcome to contact me there, but I don't check it as often. Also, usually my information on LinkedIn is a bit dated.