Hello! My name is John and I am a current senior in the
George Mason Honors College studying computer science. I have
been programming for quite a while now.. years. I started programming a long time ago making games in
Scratch, then I eventually moved on to Python, then Javascript,
then C, you get the picture. While I find low-level programming
the most interesting (specifically compiler design!) I try to give
myself a diverse skill-set.
I have worked with tons of programming languages and tools
including C/C++, Python,
Javascript/Typescript, Java, Assembly (x86 and MIPS), Ada, LLVM,
Fortran (90), Julia (I love Julia.. wish I could find more use cases
for it), APL, Uiua, R, Forth, and even some Mercury. I am very familiar
with linux.. as one would hope for someone of my background.. On my windows
(ew) computer I spend most of my time in Ubuntu WSL and I daily drive NixOs for
my chud 2009 desktop.
Beyond software development, I also have experience in video
editing, graphic design, photography, 3d modeling, and probably
some other things I'm forgetting. I can say for sure though
that my greatest interests lie in low-level programming
(specifically compilers and programming languages). I love
compilers so much.. they are so cool.
I have a YouTube channel (which I'm pretty proud of!) where I
showcase the things I do. You can find important links
below!
Languages: C++, C, JavaScript, Typescript, Java,
Assembly (x86 & MIPS), Python, Bash, HTML, CSS, SQL, R, Julia,
(LLVM? idk it's an IR), Ada, EBNF, APL, Uiua, Fortran, Forth,
Haskell, LISP (clisp), Mercury, Vimscript, YAML, XML, BASIC (I
wrote a tiny basic interpreter and a raymarcher for it.. that
has to count for something?), BrainF*ck?? (Topolang and UNIBL but
those were designed by me so I don't think they count)
Technologies: Linux, OpenGL, ncurses, GLM, FTXUI, Bash
scripting, WebSockets, APIs, Regex & Parsing, Node.js,
Compilers & Language Processing, QEmu, Valgrind, GDB, Tmux, Ghidra,
vim, those are all I can think of for now
Outside of programming, I have experience in robotics,
engineering, and hands-on hardware projects. I enjoy blending
software and hardware to create innovative solutions and
constantly seek new ways to refine my skills and explore emerging
technologies.