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

Know more

About Me

I'm a musician, programmer, and college student. I've been developing software in Python, Rust, C++, and many more different languages for several years now.

Compiler and programming language design is my favorite subject in computer science. I have an unending fondness for Lisp, Forth, and SKI combinator calculus.

Although most of my work is in compiler design, I love to write other kinds of software. See my resume for more detail about the other projects I've worked on!

Blog    Git    Chess    Resume

Projects

Atom

Shell scripting that will knock your socks off.

Atom is a custom shell with an emphasis on scripting. In Atom's scripting language, anything is possible. It has libraries for everything from GUI widgets to card and board games!

See Source Code

Chess Engine

A dependency-free chess engine library built to run anywhere.

This is built for the browser, desktop, and embedded environments. It has support for managing castling rights, checking legal moves, and generating legal moves. Additionally, multiple chess variants are supported!

See Source Code

Oak

An infinitely more portable alternative to the C programming language.

Oak is written in Rust, and is blazingly fast. The entire language is built on only a 17 instruction set virtual machine! As of today, Oak can compile to native and run in the web browser with its JavaScript backend.

See Source Code

Free

A terrible programming language that targets an even worse programming language.

Free is Oak's esoteric predecessor that compiles to a superset of brain**** called SMPL. SMPL introduces three new operators: ?, *, and & which allows the user to dynamically manage memory.

See Source Code

Sight

An abstracted Python library for vision processing.

A lot of Open-CV's functions and methods take an image, and return a new image. With several different layers of function calls used on images, code can be a bit messy. Additionally, managing contours, the sizes of images, and their data-types can get difficult. Sight abstracts all of that away, and makes things simple.

See Source Code

Interests

Compiler Design

Exploring the deepest depths of computer science is incredibly interesting to me. Developing compilers to explore type theory and programming language design is very important to me.

I've been writing compilers for a few years now, and it's given me a huge insight on how to write fast, compact, and correct code. Even the smallest bug in a compiler can have huge consequences.

Read more

Music

Long before I was a programmer, I was a musician. I've played piano since 4th grade, and guitar since 8th grade.

Classical, psychedelic, and art rock are my absolute favorites!

Read more

Building Beautiful Applications

While the practical aspect of an application is incredibly important, I believe that the presentation is significantly more important. If you can't display your product to your users in an appealing way, their attention will be drawn to more visually appealing alternatives.

When I build an application, I'm always sure to make the presentation as good as possible before launch.

Read more

Contact

Want to work with me? Just reach out!

Shoot me an email