Jake Zimmerman

A collection of my writings about programming

Here I write technical posts across a broad category of topics, mostly related to programming languages and productivity tips.

→ 👨‍💻 More about me
→ 📺 Talks I’ve given
→ 💭 Thoughts and opinion pieces

Jump to All Posts or to All Categories

Suggested posts

Profiling in Haskell for a 10x Speedup

May 19, 2019

I wrote up a toy project in Haskell and profiled it to learn about Haskell’s profiling tools and about profiling code in general. Profiling in Haskell with Stack is super easy…

Read more →

Union Types in Flow & Reason

April 19, 2018

Union types are powerful yet often overlooked. At work, I’ve been using Flow which thankfully supports union types. But as I’ve refactored more of our code to use union types, I’ve noticed that our bundle size has been steadily increasing!

Read more →

Code Review from the Command Line

January 13, 2018

I do the bulk of my code reviews from the command line, especially when reviewing larger changes. I’ve built up a number of tools and config settings that help me dig into the nuances of the code I’m reviewing, so that I can understand it better than if I were just browsing online.

Read more →

Variables and Binding

October 28, 2017

Nearly every interesting programming language feature derives its power from variables. Functions wouldn’t be functions if not for variables. Modularity and linking reduce to variables and substitution. I’ve written in the past about all sorts of cool variables in types, as well as how parametric polymorphism in System F is the result of using type variables in two ways within the same system.

Read more →

Reach for Markdown, not LaTeX

February 26, 2017

Writing should be a pleasant experience. With the right tools, it can be. LaTeX is powerful but cumbersome to use. With Markdown, we can focus on our writing, and worry about the presentation later. Pandoc can take care of the presentation for us, so the only thing left to do is start.

Read more →

All posts

Posts by category










↑ Back to top