Hello, my name is Adam McDaniel.
I'm a Software Engineer.

Know more

About Me

Profile Picture

I'm a twenty-one year old musician🎸, programmer, and graduate student🎓. I've been writing Python🐍 since 7th grade, and Rust🦀 is my favorite programming language.

Compiler design is easily my favorite subject in computer science: I've implemented several of my own programming languages which you can see below, and read about on my blog. I have an unending fondness for Turing Tarpits and SKI combinator calculus.

I'm also a huge linguistics nerd: he estado hablando español desde 2021, y puedo hablar bastante bien!🇪🇸 Si tú también lo hablas, envíame un mensaje!

Although most of my work is in compilers, I write tons of other kinds of software. I have a lot of experience in crypto, systems programming, machine learning, robotics, and more! Check out all my projects!

Blog   Git   Chess   Music   Resume

Projects

Sage🌱

A programming language that's wise beyond its bytes!

Sage is a programming language with an extremely simple yet powerful virtual machine. It's designed to run side-effecting code☢️ across multiple devices while still functioning as intended. It also implements parametric polymorphism⚗️, and uses algebraic data types🧮 with pattern matching🎯! It can even compile in the browser, check out the web demo!

See Source Code

Code Synthesis and Optimization with Genetic Algorithms🧬

A genetic algorithm that evolves🦠 programs to solve problems.

Evolution could potentially be a powerful tool🛠️ for improving code, but evolving code in widely-used languages is very difficult due to disruptive mutations: syntax trees do not make for great genomes. This research project implements a novel Turing tape📼 based architecture to facilitate better evolution. Some compiler generated programs for the architecture shrank 20% in code size with the genetic algorithm!

See Source Code

Reddit Analysis📊

A data analysis project📈 that analyzes Reddit posts📝.

This project analyses the sentiments of Reddit posts, comments, and comment replies to get a measure of the different qualities of various communities. It uses natural language processing🧠 to categorize each post into different topics, and then uses sentiment analysis to determine metrics like inquisitiveness, condemnation, positivity, and more.

See Source Code

Big Integer🧮 Library

A library for mathematical operations on arbitrarily large integers.

The largest integer that can be stored in a 64-bit integer, the largest integer type in C, is 2^64 - 1. This C library allows you to store and manipulate integers of any size, allowing programs to perform calculations for massive problems like RSA encryption🔒! The library is also header-only and can easily be used in any C project!

See Source Code

RSA Encryption/Decryption🔐 Library

A cryptography library for encrypting and decrypting messages with RSA!

RSA is a public key encryption algorithm that is widely used for secure data transmission. This library provides a simple interface for encrypting and decrypting messages using RSA. It can generate public and private keys, and use those to securely encrypt and decrypt messages. It's written in C, so it's fast and portable!

See Source Code

Music Theory Library📚 and Song Generator🎵

A library for exploring music theory🎼 and generating songs in any scale you can think of🎶!

Music is a lifelong passion of mine, and I wanted to combine it with my love of programming. This library allows you to generate songs in all sorts of scales🎼 and explore new theoretical concepts in music. It can generate songs in any key, and in any scale you can think of! It also allows you to provide your own waveforms🌊 for custom audio processing, if you don't want to use the built in ones!

See Source Code

Interests

Contact

Want to work with me? Just reach out!

Shoot me an email