
Software developer.
Photographer.
Radio Host.
Background
Text…
More text…
Programming Experience
This section details the languages, libraries, and toolkits I’m familiar with.
Languages
Proficient
These are languages I’ve worked with more extensively. I know them pretty well and use them actively, and have worked with extra libraries as well.
- Scala
- Python
- Haskell
Learning
These are languages I’ve worked with a little bit. I’m not super familiar with some of the more complex parts of the language or extra libraries, but can work on it in a pinch.
- Rust
- C++
- C#
- Bash
- MIPS Assembly
Purgatory
In my opinion, these languages are abominations against God. I have used them before, and never want to again.
- JavaScript
- TypeScript
- Java
Libraries and Toolkits
Proficient
These are libraries or toolkits I’ve worked with more extensively. I know them pretty well and use them actively.
- Selenium (Python)
- Docker
Learning
These are libraries and toolkits I’ve worked with a little bit. I’m not super familiar with some of the more complex parts of them, but can use them in a pinch.
- OpenCV (Python)
- Unity (C#)
- Pandas (Python)
- Kubernetes
Want to Learn
I have little to no experience with these libraries and toolkits, but would be very interested in learning more about their use.
- Apache Kafka (Scala)
- OpenGL (C++ or Rust)
- Dear ImGUI (C++, or Rust bindings)
Interests
Backend Software Development
I definitely have interest in backend software development, especially involving data processing and database management.
Functional Programming
The functional programming paradigm is of great interest to me (as shown by my usage of functional languages, such as Scala and Haskell). The removal of mutable state and side effects makes code easier to debug, less error prone, and also improves parallel processing capabilities.
Audio Engineering
I’m interested in working with audio production and processing, especially analog synthesis. I would love to work with it more as a hobby, either through software or hardware development.
Parallelization and Multi-threaded Computation
Multi-threaded processing poses a unique challenge in programming. Sure, it helps to have more processes going on at once, but making that happen takes a lot of work on the developer’s end. I want to learn more about asynchronous and parallel computing so that I can apply those to my projects more readily and greatly improve efficiency.
Right to Privacy on the Internet
Privacy is a human right, and government and big tech companies infringe on that right every single time you connect your computer to the internet. Every website you use has some kind of tracking or advertising, which can be used to monitor your every action. Not just on the internet, but in your day-to-day life.
Making a New IDE
The current options of IDEs are featureful, with expansive language coverage, debugging features, and project management. However, they are inefficient (usually in languages on my purgatory list), memory-heavy, and some make questionable decisions in terms of infrastructure (seriously, VSCode? In Electron?!) I want to create a new IDE using a fast, lightweight, modular engine (hopefully in a system level language, such as C++ or Rust), using an efficient GUI framework (for example, Dear ImGUI), with compatibility with existing common formats for syntax highlighting or code completion, but also more integrated language server implementations that can replace those in the future. I will post more details eventually.
Projects
All my projects are available on my GitHub.
Disclaimer: I tend to start projects, but I’m awful at actually finishing them!
sc3d
Primary Language: Scala
Additional Libraries: None yet!
A very rudimentary 3D render / game engine. Can render simple shapes and perform basic transformations.
mips-dev (VSCode Plugin)
Primary Language: TypeScript
Additional Libraries/Toolkits: Visual Studio Code
A plugin for Visual Studio Code to aid in development using MIPS Assembly Language. Currently only syntax highlighting; Hoping to add in debugging capabilities using the SPIM CLI utility, as well as Intellisense suggestions (i.e. converting pseudo-instructions into their bare machine equivalents).
Photography
I took an interest in photography because of a class in high school, and since then have pursued it as a hobby. I primarily use a DSLR and shoot landscapes, macros, and city scenery. I’ve also attended the Chicago Air Show for the past two years and tried my hand at taking photos of planes.
My work is available at the following link:
Radio
