I recently took a trip to the Yukon (and two days in Alaska) with my partner Elaine. The trip was mostly hiking focused and generally enjoying the nature. We took almost two weeks which was a good amount of time for us. Enough to not rush and soak in a lot of nature but not so long that our legs really started hurting and we started missing the...
CORS, and the browser’s same-origin policy are often misunderstood. I’m going to explain what they are and what you need to do to stop worrying about them.Note: I’m going to talk about CORS and the same-origin policy as one thing and use the terms mostly interchangeably. This is because they are basically one system, they work together to decide...
I like SemVer. However, there is one important use case that I wish it supported better. This is what I’ll call “rolling deprecation”.The idea is simply that instead of removing APIs in a single compatibility-breaking version, you first deprecate an API in one version, then remove it in a later version. This gives time to migrate off of the...
Many widespread internet protocols were written at a time when internet security wasn’t much of a consideration. From things like lack of From address verification in email to NTP reflection there are lots of protocols that are now considered badly designed. When they were authored there was a lot of implicit trust (For example because there were...
A seemingly-obvious feature that I haven’t seen in any instant messenger yet. I want to be able to share a timestamp in a way that can be computer-understood and presented to the user with a good UX.For example, I want to say:Let’s have a call about this at 11:30.But that “11:30” is actually a rich object that encodes an exact timestamp. If your...
This is a small utility that I wrote to compliment git bisect. git bisect is a fantastic tool. In the most basic usage you give it one “good” commit (a commit that doesn’t yet include some property) and at least one “bad” commit (one that does have it). git bisect will then guide you through the search, picking commits to test that cut the search...
TL;DR I no longer have a job.For the past year and a bit I was working as one of three full-stack developers at Plato. However, we unfortunately didn’t make it and the company had to shut down.PlatoPlato was a very powerful concept in the no-code space. Hearkening back to early fully-introspectable systems where everything on the screen was made...
I am an avid user of RSS feeds. Checking my list reveals that I am subscribed to 530 feeds! In the spirit of sharing I thought it would be interesting to share a snapshot of my current reading list. This may prove an interesting resource for someone looking to get started with feeds or just to grow their existing subscription list.I’ve tried to...