Towards a Strong Mental Model of Docker

TL;DR I'm a full stack engineer who works almost exclusively on Macs. I don't have a computer science degree nor do I have strong experience with Linux architecture. This post documents my journey of learning Docker. What We'll Learn If you stick with this blog post, you'll have decent…

Some Useful VSCode Settings

These are some of my favorite Visual Studio Code settings to help improve productivity. The keyboard shortcuts are Mac specific, but can be replaced. 1. Add a keyboard shortcut for keybindings.json VSCode lets you create custom keyboard shortcuts (good!). But there's no default keyboard shortcut to access the keybindings.…

How to get Three.js Shader Source Code at Runtime

Three.js builds its shaders with a tricky system of string concatenation based on data in your scene, like the current number of lights. Under the hood, at least as of r100, Three.js builds shaders using a function called initMaterial, which happens only at render time, if the material…

My First AWS "Free Tier" hosting bill was $900

TL;DR I built my novel shader graph editor, ShaderFrog, on AWS and chose the "wrong" configuration. Learn from my easily avoidable ignorance and pain and Amazon's dark UI patterns. Trying out AWS When preparing to launch ShaderFrog I looked for cloud server options. I had a Rackspace server, but…

Upgrading from Postgres 9.3 on OSX

One day I upgraded XCode, and I'm not sure how, but my Postgres version upgraded. This is how I discovered it: user@~/ $ pstart server starting user@~/ $ psql psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket…

Setting up GSuite GMail Custom Domains With AWS Route53

Do you want to send emails from your custom domain hosted on AWS? There's a few pitfalls that aren't well documented. The free, official "Check MX" tool will help you debug these issues, and you should use it, but it doesn't have Route53 specific instructions. 1. Log in to AWS…