Skip Navigation code drift

TIL

Today I learned...

Making nulls distinct in Postgres < 15

(1 min read) From the postgres docs on unique indexes: When an index is declared unique, multiple table rows with equal indexed values are not allowed. Null values are not considered equal. A multicolumn unique index will only reject cases where all indexed columns are equal in multiple rows. Unfortunately, disabling distinct null

The Hidden Spotify “Dislike” Button

(1 min read) Turns out if you need to "teach" Spotify about music you're not into or never want again, there's a way. 1. Make a playlist. Call it something like "Unliked Songs" or "Mistakes were made" I won't judge 2.

How Vercel Gets Their Bundles Small

(1 min read) The @vercel/nft (Node File Trace) package is responsible for a lot of Vercel's bundling magic. It statically analyzes files and can find non-JS dependencies in the execution path by spotting filesystem intersections via readFile and readStream calls. The result of this call is a list of only

GraphQL Responses Treat [] as Having Errors

(1 min read) From the GraphQL Specification The errors entry in the response is a non‐empty list of errors, where each error is a map. If no errors were encountered during the requested operation, the errors entry should not be present in the result. That means a response of { "data"

Desktop Mastodon Clients

(1 min read) When building things on my windows desktop, I prefer a power interface. Desktop workflows just work different than on mobile, and I could feel that difference every time I opened TweekDeck to do something on Twitter. I've been looking for the equivalent on Mastodon / Fedi clients for a