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…

How to Autocomplete ES Modules With Webpack in VSCode

Visual Studio Code is my preferred editor these days (supplemented with Vim, of course). VSCode is an IDE with decent Javascript autocompletion and intellisense. However, it's unable to resolve Webpack custom module paths out of the box. Before After Hovering over a symbol while holding down ⌘ now shows the correct…