Resume
About me
I remember the first piece of code I ever wrote. I was in second grade when my Dad showed me the Scratch programming language on his computer. When it was my turn to play with it, I wrote a program to make the cat run in circles around the screen. I saw how I could connect blocks together and make the computer do something tangible. I was instantly hooked. I haven't stopped writing code since.
That love for making real things is reflected in the way I approach learning. I believe that the best way to truly understand something is to do it yourself. Whenever I learn something new, I always ask "can I model this?" If I can't, then I haven't learned enough. If I can, then I often do just to make sure. That's why I wrote a web server, a password manager, a program to parse big data, and a raytracer.
Projects
All of my projects can be found on my Github[1]. Here are some of my favorites:
My web server, which was written completely from scratch.
My website, which is hosted with my web server and uses and at least 7 programming languages.
My HTML preprocessor, which generates my website.
backupfs, a custom filesystem that manages backups for my server.
TCP over HTTP, an exercise in tunneling.
ttf2psf, a program to convert font files into the PC Screen Font format so that you can change your Linux virtual terminal (VT) font.
ScratchGPT, a ChatGPT frontend written in Scratch (the block coding language).
simple-json, a JSON parser written with lex+yacc.
tytc, a YouTube client that runs in the terminal.
npm (Nate's Password Manager), a password manager implementing SHA-256 and AES-256 in ANSI C.
wikireader, a reader for the Wikipedia database dump that can search through about 65GB of text very quickly.
a raytracer (realistic but computationally expensive 3d renderer), written in C.
another raytracer, written in Scratch (the block coding language).
snake.sh, a snake game implementation in bash script.
nce, a program that searches and modifies the memory values of a Linux process so that you can cheat at video games.
EasyGopher, a web server for the Gopher protocol.
mazebot, a Discord bot that plays a maze game.
Skills
C - My favorite programming language. I learned it around two years ago and use it almost exclusively today.
Java - I've used Java for around seven years, it's what got me really into writing code.
Python - The first programming language I ever learned, I first used it ten years ago.
Linux - I've been using Linux seriously for around four years.
Experiences
Open Source Summit 2023 - Listened to various talks on the state of systems in Linux.
Knowledge sharing sessions with working programmers - listened to and shared talks with real programmers and project managers from Amazon and Google. One of my talks got over 11 thousand views on my Dad's YouTube channel.