My Articles

Posted on Feb 1, 2025
In category Programming with tags Explainer, Retrospective
I self-published an eBook, and found it to be a complicated process compared to tooling for software engineers. This article goes over the process and my thoughts around it.
Read More!
Updated on Dec 28, 2024 | First posted on Dec 28, 2020
In category Programming with tags JavaScript, TypeScript, Performance
JavaScript as a language is heavily asynchronous, with promises being deeply integrated. While this is sometimes the best solution, can the overhead of promises pose a problem for hot code?
Read More!
Posted on Dec 23, 2024
In category Programming with tags JavaScript, TypeScript, React, Web, Retrospective
2024 has been an interesting year for JavaScript. These are the projects I'll be watching, as well as the projects that I'm leaving behind.
Read More!
Posted on Sep 28, 2024
In category Programming with tags JavaScript, React, Web, Retrospective
My site has used Gatsby since 2019, but that framework is abandoned. I've moved to Vike, a framework built on top of Vite, and I'm loving it.
Read More!
Posted on Sep 17, 2023
In category Programming with tags JavaScript, TypeScript, Performance
Knip is a great tool for identifying and cleaning up unused code, and you can make it even more powerful using their preprocessor feature.
Read More!
Posted on Aug 25, 2022
In category Programming with tags JavaScript, TypeScript, Performance, Tutorial
Web bundlers such as Webpack are a great tool to deploy web apps, but for more complex programs, bundle size can quickly become an issue.
Read More!
Posted on Aug 27, 2021
In category Programming with tags Performance, Web, Retrospective
Accelerated Mobile Pages, or AMP, is a web technology championed by Google to improve the browsing experience on mobile devices. Throughout this article, I'll outline a few of the issues that led me to ditch AMP.
Read More!
Posted on Jun 26, 2021
In category Programming with tags React, Web
NextJS is a framework that I've been using for a few years now. As a framework, I love it. In terms of deployment, though, I've never felt a NextJS site was 'stable'.
Read More!
Posted on May 17, 2021
In category Programming with tags Accessibility, Retrospective
I recently changed my name, and the experiences I've had with a vast majority of services has been outright horrific. Tech companies should strive to make sure that this information should be user-modifiable.
Read More!
Updated on Mar 14, 2021 | First posted on Dec 26, 2017
In category Programming with tags Security, Retrospective
Recently I had an experience involving the LastPass bug bounty program that didn’t end quite how I would’ve liked.
Read More!
Updated on Mar 14, 2021 | First posted on Dec 27, 2016
In category Programming with tags Java, Performance
Exceptions are commonly used for flow control in Java, but how well do they perform compared to return values?
Read More!
Updated on Mar 13, 2021 | First posted on Aug 19, 2020
In category Programming with tags React, Tutorial, Web, Java
This article goes over embedding a Google Web Toolkit (GWT) application on a React website, and a few considerations that must be made when doing so.
Read More!
Updated on Feb 27, 2021 | First posted on Mar 1, 2020
In category Programming with tags JavaScript, TypeScript, Performance, Tutorial
JavaScript may not seem to be the ideal language to manipulate large amounts of data. This post goes over a few key problem areas and how you can avoid them.
Read More!
Updated on Feb 27, 2021 | First posted on Feb 1, 2020
In category Programming with tags TypeScript
I recently read Asana's blog post on TypeScript quirks and took particular interest in the first TypeScript quirk they mention. While it may seem like an inconsistency, the way the type system behaves here is entirely logical.
Read More!
Posted on Jan 31, 2021
In category Programming with tags Java
This article goes over the various development tools for Java development, each one's benefits, and my preference based on working with them.
Read More!
Posted on Jan 15, 2021
In category Programming with tags Tutorial
If you need help with open-source projects, there are a few things you can keep in mind so you can find a solution sooner, and help out the developers at the same time.
Read More!