^{2}

# Side Projects

## Nitwit

A programming language that uses prefix notation for amusement
purposes: for example, `a = (b + c) * d`

looks like `= a * + b c d`

.
Nitwit is imperative, strongly typed, and uses reference-counting garbage
collection.
The Nitwit compiler produces C code, which can then be compiled to an
executable.

## Retroactive Priority Queue

A priority queue that supports adding and removing updates (`insert`

and
`delete_min`

) on past versions of the data structure.
Retroactivity differs from persistence in that the effects of changing past
operations propagate to the present (think, *Back to the Future*).
I implemented the data structure proposed by Demaine, Iacono, and Langerman,
which performs all operations in *logarithmic* time.

## Stealth

A top-down 2D game where you collect coins while avoiding guards on patrol.
The area each guard sees (their *visibility polygon*) is computed in *O(n* log *n)*.

## Gemini

A two-player platformer where players cooperatively solve puzzles made out of logic gates. Provides real-time multiplier using WebSockets.

## vali.li

In Bulgarian, “Vali li?” means “Is it raining?” This website has the answer!