How to Learn a (Natural) Language

I recently started learning Portuguese, and I wrote a short script to help me practice my vocabulary. It randomly quizzes me in my terminal as I enter commands like cd »

Word2vec Word Vectors in JavaScript

Word2vec is a program that takes natural language words and assigns them vectors whose components encompass what those words means. I downloaded a big list of word vectors online and »

Four-Dimensional Tic Tac Toe

Skip to demo Tic tac toe is a classic game, but the standard version is pointless. It's far too easy to develop strategies that guarantee you'll draw or win. You »

How NLP Can Get You an 800 CR on the SAT

Natural language processing (NLP) is a subfield of artificial intelligence that addresses the problem of getting computers to meaningfully process written languages. The SAT is a standardized test used primarily »

Fourier Transform - Evolutionary Art

Skip to demo The Fourier Transform describes information in terms of frequencies. For sound and music, these frequencies explain the literal vibrations in the air. For images, these frequencies are »

Program that Writes Brainf**k

Using genetic programming, I wrote a program that can program better than I can. In Brainfuck, at least (note: Brainfuck is a programming language!). Brainfuck is an incredibly confusing language »

Universal Design - Redesigning My School's Band Room

Universal design is the process of crafting objects and buildings to suit as many people as possible. Despite the Americans with Disabilities Act of 1990, many public spaces still do »

Study with 2048

The game is hosted at Because it's a webpage and not a native app, it runs pretty slowly on phones. I'll see if I have time »

Cellular Automata

Cellular automata (CA) are structures that change based on very simple rules. In this blog post, I've implemented a demo that sets the background to a one-dimensional CA. One-dimensional CA »