Blog

How to install Node.js v14.x on Debian 10

Already running the latest and greatest version of Debian, version 10, and want to run the latest and greatest version of Node.js? If so, follow these quick and easy steps and you'll be off to the races with Node.js v14.x [...]

Recursive functions in TypeScript

In working with the Slate framework for building rich text editors recently, I found myself faced with a scenario where I needed to loop through the editor's value. The value that comes out the editor is an array of objects [...]

Recursive types and interfaces in TypeScript

When writing out a type or interface in TypeScript for something that will be fed into a recursive function you could cop out and use any or you could properly define the structure. Fortunately, both type and interface allow you [...]

Error: Cannot resolve a DOM point from Slate point

By way of recommendation (thanks Brewer), I've been messing around with Slate.js a ton. Such is life, I did have my fair share of issues, particularly in terms of getting it to function like a chat message input where hitting [...]

Resetting a Slate.js editor to an empty state

I've been messing with Slate.js and happen to be using it in the context of having a persistent editor on the page that can be used post from. It's sort of like a chat's message input, it's always there, and [...]

Resetting the undo/redo history of a Slate.js editor

Slate.js has some wonderful undo/redo history under the hood, by way of the React hook useMemo. Out of the box is works great, but if you want to reset your editor back to an empty state (in scenarios where the [...]

Submit on enter except when shift is pressed in JavaScript

Been working on something recently where I wanted to implement a submit handler when a user hits the enter key in an input. That's not that big of a deal, sniff out the key being pressed, and if it's the [...]

Detecting modifier keys being pressed with JavaScript

Been hot on a new [old] project recently and I've not only been coding my ass off, but delving into some territory that I haven't delved into as of late. The latest is in terms of determining if a modifier [...]

VPS Showdown - April 2020 - DigitalOcean vs. Linode vs. Vultr

Yes, this month's post actually has less providers. There's a good reason though. This month I decided to switch it up and compare some of the "CPU"-centric instances that some of the providers are touting these days. Because Lightsail and [...]

Making and feeding a sourdough starter

Not sure what it is about a quarantine that has people itching to bake. The interest in my sourdough starter has exploded over the last few weeks. Ton of inquiries on how to get one started, how to care for [...]