Jake Deichert

Jake Deichert

Hey, I'm Jake Deichert
I'm a lead software developer from Toronto

Reducing Rust Incremental Compilation Times on macOS by 70%

I may be late to the game, but I just read the Rust 1.51 release notes and noticed a new Cargo option that can help improve macOS compilation times. After upgrading and enabling the option, my incremental dev rebuilds went from ~14s to ~4s!

A Super Hacky Alternative to import.meta.url

I've been diving deep into ES modules lately... mostly due to my frustrations with the state of existing bundlers and the complexity and configuration they require. Two weeks ago I released svelvet, a cli svelte compiler and file watcher that builds components and dependencies into individual esm files. Since then, I've been thinking a lot about ways to ship even less js to the client. My next project is a svelte static site prerenderer that eliminates static component trees and only hydrates the interactive parts of the DOM. And that's where import.meta.url comes in!

Monkey Patching setTimeout to Override a Specific Callback

A few years ago, one of my teammates once asked how they could get our app's auth token renewal timeout to fire early for a particular automated UI test they were writing. The token renewal check was every 20 minutes or so and there's no way we would want the UI test to wait that long to verify the logic behaves correctly.

How to Block the Event Loop in Node.js

Early last year I was having a difficult time tracking down a GRPC-related request timeout in one of our Node services. Our Node services all chatted over GRPC and some requests were randomly failing it seemed. This had been happening for months but had recently became more frequent. The specific error was very generic and hard to find any meaningful solutions when searching for it... others had triggered this error a number of ways unrelated to our setup.

Syncing Atom Plugins and Themes Between Multiple Machines

One thing I love about Atom is how effortless it is to sync preferences between my work and personal Macs. If you're logged into Atom's website, you can simply star any plugin or theme to save it to your starred list. Here's my list of starred plugins.

Setting Up a Personal Gogs Git Server

Well, if you're here you must be interested in running your own personal GitHub/GitLab right? I'll help you get close to that with gogs - the Go Git Service. This will probably take you less than 20 minutes to do. When you're done, you'll have a simple private git server just for yourself.