About Me
I am a computer science student who is passionate about
systems programming, open-source software, and has a
deep, insatiable curiosity about how everything works
under the hood.
For the past four years, I have mostly worked in C and
Java, but I have recently started writing projects in
Rust. My main interests span systems programming,
embedded systems, computer graphics, and language
development, however I also enjoy trying out new areas
of computer science.
Outside of programming I enjoy golfing on the weekends
during the summer, and I am passionate about natural
languages and linguistics. I currently speak English,
French, and Italian, and I study Spanish, German,
Neapolitan, Old Norse, as well as some other languages I
have studied previously. I find it interesting that
there is overlap between computer science and
linguistics, and would like to learn more about
Natural-Language Processing because of that.
Skills & Tools
- Rust
- C (Programming Language)
- Kotlin
- Java
- REST & MVC
- MySQL
- Linux
- Front End Development
- Power BI
- Text Parsing
Projects & Work
This section features a list of some of my best projects. For any project on the list, click the data_object to see the project's source code.
-
- Communication
- Text Parsing
- Problem Solving
A LinkedIn article I wrote, in which I explain how to take raw text, convert it into a stream of tokens, and then use that stream of tokens to construct an abstract syntax tree. The article features code examples, and two exercises at the end for the reader to try out.
-
- Rust
- Problem Solving
An open-source command line expression evaluator supporting arithmetic and C-style boolean expressions.
pxpr
seeks to act as a more advanced calculator that allows for not only complex arithmetic operations, but also boolean expressions.
I createdpxpr
because I always found myself starting a terminal, and running the Python shell whenever I wanted the value of an expression quickly. I always wished I could just find a program that could compute an expression without needing to use a REPL, so I decided to make it myself.
Compute an expression
-
To compute an expression with
pxpr
, simply pass it as a string to thepxpr
CLI:pxpr "true && false"
-
And
pxpr
will compute the expression and output the result.	 = false
-
- C (Programming Language)
- Problem Solving
A virtual machine emulating the CHIP-8 architecture, complete with 4096 bytes of memory, 16 8-bit registers, and a scaled 64x32 graphical display using SDL2.
-
- Java
- Problem Solving
- Clean Code
A program I wrote that can convert a JPEG image into an ASCII art representation. It makes use of the Luma grayscale algorithm to first convert the image to grayscale from which each pixel is assigned a character based on its shade of grey.
Languages
My entire life I have been interested in learning foreign languages, and have studied quite a few. Currently, my strongest languages are:
- English → Native
- Italian → Proficient
- French → Proficient
though I regularly study several other languages such as Old Norse, German, Spanish, and Neapolitan.
Why Old Norse?
Old Norse — the language of 'the Vikings'— interests me because it was used ~1000 years ago but shows so much similarity to modern Germanic languages such as English and German. Studying Old Norse has helped me with other languages because it requires the study of several grammatical features that are not present in Modern English.