What is your first factor?

A brief look into 2FA, one-time passwords, and why I think they're often misunderstood.

Published: March 28, 2023, Tags:
Effective Altruism, a caveat.

Some thoughts on effective altruism, utilitarianism and optimization.

Published: June 11, 2021, Tags:
SSLstrip and HSTS

I recently found out about a nifty security attack called SSL strip.

Feistel ciphers

A quick deep dive into Feistel networks, to see if I can motivate them to myself and make them feel less arbitrary.

Streamlining my git workflow in vim

I recently discovered that I had only scratched the surface when it came to git tooling within vim. Here's my attempt at crafting a more polished experience.

Published: September 10, 2020, Tags:
Getting started with WebGL

Most modern browsers implement WebGL, a javascript API modeled after the OpenGL API that allows your javascript code to directly access your GPU for rendering graphics to a canvas element. Let's have a first look at how to use WebGL to create graphics in the browser.

Published: April 4, 2020, Tags:
Learning Clojure, Quil and Generative Art

An exploration into creating graphics with Quil, and getting better at Clojure along the way.

Published: November 3, 2019, Tags:
Using the IntersectionObserver API with React hooks

Modern browsers ship a web API called IntersectionObserver that largely obviates the need for inefficient scroll event listeners. Let's use it to create an infinitely scrolling page using React hooks.

Published: October 23, 2019, Tags:
Recursive generators in javascript

ES6 finally brought iterators and generators to javascript. Recently, I found out how you can nest generators to implement lazy recursion.

Published: October 4, 2019, Tags:
Starting a fresh .vimrc

I started a fresh .vimrc from scratch, and decided it was a good idea to document the process for my future self, and anyone else who might benefit from it.

Published: September 28, 2019, Tags:
Listening to Rachmaninoff's Isle of the Dead

A deep dive into one of my favorite pieces by Sergei Rachmaninoff.

Published: September 3, 2019, Tags:
Configuring a blog with Eleventy

A quick look at how I set up this blog using eleventy.js.