Hi, I'm Blake Williams

I'm a full-stack developer living in Boston, MA. I currently work at GitHub where I primarily write Ruby/Rails and a bit of TypeScript. I care a lot about building the right thing and writing great code.

January 1st, 2022

Type-Safe Server-Side Templates in Express using JSX and React

I started hacking on a side project during the holiday break and ended up giving TypeScript, TypeOrm, and Express a try. I’m very impressed with the level of type safety the combination provides but was disappointed that the view layer was type-unsafe. I started with handlebars but after a few bugs, I decided to spike out using JSX/React as a server-side templating language and was surprised at how easy it was to set up.

December 11th, 2021

A Minimalistic Approach to Staying Organized and Consistent

In my day-to-day work, I often find my attention being pulled in several different directions. It’s often some combination of meetings, pairing sessions, code review, actual coding, API design, responding to issues, and much more, depending on the day.

August 22nd, 2021

Custom macOS Directory Icons

This weekend I’ve been updating my dotfiles and noticed that my Code and go directories in my home directory were missing icons. This isn’t a huge deal but I enjoy consistency and nice designs so I thought I’d spend 10 minutes and see if I could find some nice icons for them.

September 7th, 2020

Using ts-node with Global Types

Like many TypeScript projects, I’m using mocha to run tests via ts-node. Everything was working great until the project needed to introduce a global variable requiring a global.d.ts type declaration file. Compiling the project worked, but ts-node seemingly couldn’t find the type declaration.

August 18th, 2019

Handling macOS URL schemes with Go

For a while I’ve had this idea of a custom browser handler in macOS that would have configurable rules for determining which browser a URL should open. I finally got around to building it which led to a lot of learning of what to-do and what not to-do when it comes to Cocoa apps and Go interop. If that sounds interesting you can find the code on GitHub, otherwise this post goes over how the core functionality of the application, macOS http/https URL scheme handling was written.