I majored in Computer Science at RIT, and minored in Deaf Cultural Studies.

My interests include linguistics, physics, mathematics, programming language theory, human-computer interaction. These passions fuel an urge to learn more about the universe we inhabit.

Knowledge

Programming Languages

Objective-C
An attempt to jam Smalltalk-style dynamic objects within C. I’d call it a success, or at least close enough.
Swift
A much safer language than Objective-C, Swift takes inspiration from a variety of languages and tries to learn from their mistakes while reaping the bennifits.
I find the best features tend to be inspired from ML-languages, C++, C#, and Objective-C of course.
C and C++
Two classic languages every programmer’s heard of. Their aim is efficiency and speed.
Some of my personal projects have been in C, such as [Reggie the Regex Parser]
Go
Go’s amazing channel and coroutine based concurrency model reveal concurrency patterns that would spoil any programmer.
Haskell
My first introduction to the magical world of curried functions, strong types, type inference, and sum types.
My life as a programmer was forever changed after learning this language.
Standard ML
My first ML.
Yet another great strongly-type-inferred functional language.
Scheme
My first functional language.
Through playing with this language, I accidentally learned the lambda calculus while trying to create an iterative fibonacci sequence function using anonymous functions.
Ruby
A great scripting language which I mostly use for manipulating large amounts of text.
C#
Microsoft’s answer to Java, C# is a nice language with some modern programming paradigm ideas, such as anonymous functions (called delegates).
F#
Microsoft’s ML-style functional language, infulenced by OCaml.
Designed to run on the .Net Runtime and be compatible with all of Microsoft’s APIs.
Somewhat strange to program with. Programming with object-oriented APIs in a functional language is strange. The resulting programs have a weird blend of APIs from both worlds.
Java
A good language for teaching Object-Oriented design.
The JVM is a good piece of technology too.
The language could use some work, but with Java 1.8 they’re starting to move in the right direction.
AppleScript
I learned this just because I thought it was a cool idea, even if it’s not very pratical for “real” programming.
This is cool in that it is heavily infulenced by Smalltalk, using a VM where the saved program code is one-and-the-same wiht the compiled binary code.
It had some really interesting ideas as a language. It’s too bad it never really caught on.