## Blog

### Why learn Racket? A student's perspective

A few thoughts on why I think you should learn Racket.

### About that Reader trick

Reader can be used to track local bindings, but tracking all bindings can be more difficult.

### The good and the bad of Typed Racket

Some thoughts on Typed Racket, gathered from my experience using it to implement a Lox interpreter.

### Crafting Interpreters in Typed Racket

Some thoughts on following Bob Nystrom's book Crafting Interpreters in Typed Racket.

### Solving a few Leetcode questions in Haskell

Exploring some purely functional programming solutions to a few popular Leetcode questions.

### The strange, sketchy emails a browser extension developer receives

Where does extension malware come from? It might originate from emails like these.

### Median Heaps in Haskell

An implementation and discussion of a median heap data structure in Haskell.

### Book Review: Racket Programming the Fun Way by James Stelly

A review of the new Racket programming book.

### Implementing Simple Hash Tables in Racket

A simple implementation of mutable hash tables to learn how they work behind the scenes.

### Practical React: The Power of useInterval

A case study in switching from manually managing setInterval to the useInterval custom hook.

### Don't go looking for you first open source contribution

The traditional method of approaching one's first open source contribution gamifies the process and leads an unhelpful experience for all involved.

### Parsing propositional logic in 33 lines of Racket

A guide to implementing a simple parser for propositional logic in Racket.