Hi! 👋

I’m a Sr. Software Engineer @ Netlify based out of Toronto, 🇨🇦 Welcome to my site!

How to encrypt your existing Roam Research graph

I’ve been using Roam Research for the past couple of years as my second brain/notebook and was excited when they announced support for encrypted hosted graphs. And while we’re coming up to a year since it was launched, there still isn’t yet the ability through the Roam UI to convert an existing graph from an unencrypted one to an encrypted one. If, like me, you want to transition an existing, unencrypted graph to an encrypted one, here’s how you’d have to do it:...

November 18, 2022

Boosting Jamstack Site Performance With Edge Functions @ Jamstack Conf 2022

Hey folks! Hope everyone has been having a good weekend so far. It was great seeing so many folks at Jamstack Conf last week, and to hear about all the cool projects and companies that are being built in the Jamstack space right now. For those who weren’t able to tune in to watch the livestream, don’t worry, I’m sure the recordings will be uploaded relatively soon (pretty sure they’re going to appear on the Jamstack Conf Youtube channel)....

November 13, 2022

Why are custom headers missing in "304 (Not Modified)" responses?

304 (Not Modified) responses minimize the amount of information that needs to be transferred in subsequent requests made after an initial 200 (OK) response if the resources being requested are unchanged1. This has performance benefits for a website, particularly where larger assets such as images are involved. If you are developing a website that makes use of custom headers in responses, it’s worth noting a behaviour with respect to headers that 304 responses have that differ from 200 responses....

August 22, 2022

Bypassing Git Hooks

Git hooks are a useful mechanism for performing code quality checks in your local development environment before committing that code or pushing it up to a remote branch. A common quality check that a git hook can perform is running the project’s code linter, such as eslint. While it can be good practice to have these hooks configured within a project, at times they can be annoying when you’re trying to share a work-in-progress branch with a team mate by pushing the changes to a remote branch....

August 17, 2022

Useful Github Search Capabilities for Issues and Pull Requests

In my day-to-day I often find myself wanting to search for pull requests and issues that I’ve commented on without necessarily being the author of the pull request/issue. Fortunately, Github has a couple of pretty useful search options for just this purpose! Search by commenter This is a filter I now use multiple times a day when I’m chatting with someone and have a “I know I’ve been in a conversation about this somewhere on Github already” moment....

August 1, 2022

Testing a project contained in a monorepo

A ‘monorepo’ is the term used to describe the organization of multiple distinct projects with well-defined relationships into a single code repository1 rather than having each project be in its own dedicated repository. Monorepos have been around for a while, but if you haven’t worked with them before, figuring out how to test changes made in one of the projects contained within a monorepo in a local or deployed staging environment might not be the most intuitive....

July 2, 2022

Write how much work is required, not the work itself

The format for outlining what work needs to be done to achieve an outcome varies from company to company. It can be challenging to convey a sense of scope when writing what work needs to be completed, and the result can sometimes amount to ‘do X so a user can do Y’ with the hope that the developer doing the work understands what the writer is getting at or to have a sense of who to ask follow up questions to if they’re unsure....

June 24, 2022