Writings on programming, open source and theory by a computer science undergraduate student interested in compilers, formal methods and logic. The easiest way to follow is via RSS.
Posts

Structured control flow in WebAssembly by example

Functions are sets and arrays are functions

Learning the Webassembly type system

Let's learn Git: Staging only parts of a modified file by patching

How to type math symbols in vim: ∀, ∃...

When is the right time to open a pull request

How I generated 111 testcases for webassemblyjs

First impressions of peephole optimizations in LLVM

Playing around with function notations in Haskell

Higher order functions: Implementing .some and .every with reduce in JS and Haskell

Small but useful programming insights #2

Learning Haskell: Implementing map with foldr

Pull requests in February 2018

OSS deep dive: How does Babel's minifier fold constant values?

OSS deep dive: What does a JavaScript minifier do?

Small but useful programming insights

Some notes on babylons parsing algorithm and tokenizer

Pull requests in January 2018

JS Numbers: Bitwise operators

Product rule for differentiation of more than two factors

OSS deep dive: Babel's JavaScript parsing algorithm

2017  First year of this blog

Learning sparse matrix storage formats by building a React app

JS Numbers: There are no integers, but how many?

Hexadecimal floating point notation

Array.prototype.reduce in action: Remap an array to id indexed object

A neat trick to compute modulo of negative numbers

Managing semver versioned private Git repositories with npm

Bug report: Compute the 5 next months with modulo arithmetic

Summary of matrix and vector block operations in Eigen

Verifying syntactical correctness of a Babel AST transformation with ECMAScript grammar

Simple examples of obvious optimizations a compiler cannot perform for you

Exploring the limits of static code analysis  Implementing JavaScript's temporal dead zone in Babel

Compile time versus runtime and what runs at compile time

Hacktoberfest: Four open source pull requests in October

A proof of the triangle inequality

How to delete all local Git branches except current one in Bash

Using Git diff to document overridden templates in WordPress themes

Publishing Conditions: A little blogging plugin

githubrelease: Publishing a bash script

Let's learn Git: Logs and Diffs

Generic sorting algorithms: A nice example of abstraction

Let's learn Git: Undoing and/or fixing the last commit

Alternative ways of nesting SASS style rules

Superiority of mathematical proof versus scientific evidence by example

The 3 things you cannot do with a const variable in JavaScript

Open Source: 9 steps to my first feature contribution in Babel

Writing useful test assertions with Node's assert library

#GutenbergChallenge

How to remove files from GitHub releases via .gitattributes

Automatic semicolon insertion edge cases in JavaScript

How to output markup from a shortcode and some thoughts on WordPress templating

Implementing map, filter and find with reduce in JavaScript

May 2017 content picks

Algorithms Applied: Topological sort of Babel plugins

Learning from Babel: How whitespace can change the semantics of a program

Keeping a forked GitHub repository up to date

Babel plugins: Shorthand syntax for specifying visitors

A formal approach to twos complement binary representation of integers

Anonymous functions and object context in older PHP versions

Do not let ES6 classes confuse you

Improving React patterns through ESLint

Learning about software testing from the paper behind Karma test runner

Using WP Pusher and GitHub releases to deploy custom WordPress plugins

Building arbitrary Boolean functions with NAND gates

Moving unstaged changes between branches in git using the stash command

Learning the singleton design pattern for WordPress plugins

Modeling ordered pairs using nothing but unordered sets

More secure WordPress code by validating, sanitizing and escaping data

Caching remote API requests in between shortcodes

Defining my current understanding of a URL as EBNF

There are infinitely many prime numbers and false proofs

Why I started this blog and how I built my first website