Skip main navigation

All Blog Posts

Welcome to my blog! I write dev tutorials and the occasional off-topic post.

Create a Free Contact Form with Formspree

Formspree makes it easy for you to add a free contact form to your website. Setting it up takes no more than a few minutes. Learn how to get started!

How to Create Invulnerability Frames in Unity

Learn how to implement invulnerability frames in Unity using coroutines. This popular game mechanic exists in many modern and retro games.

Improve Page Load Speed in Jekyll with the WebP Image Format

Do your blog posts suffer from slow load speeds because of all those images you've been using? In this post, we'll look at how you can improve your page load...

Multiple Modals on One Page Using HTML, CSS, and JavaScript

Learn how to create modal windows in HTML using just a bit of HTML, CSS, and JavaScript. We'll look at how you can open multiple modals on one page, either s...

Least Squares Fitting: How to Fit a Curve to Data

Having mastered the method of least squares, we're now ready to learn how to solve least squares fitting problems, both by hand and with Python.

Mastering the Method of Least Squares

Learn how the method of least squares works under the hood. Applications of the least squares method include linear and polynomial regression (data fitting).

Create Heading Links in Jekyll with Includes

Want to make it easier for users to link to a heading in your blog? Learn how to create heading links in Jekyll using includes.

How to Perform Numerical Integration Error Analysis

Learn how to perform numerical integration error analysis to understand how well you've approximated the true integral of a function.

How to Set up Create React App with TypeScript, Ant Design, LESS, CSS Modules, and ESLint

Enjoy a better dev experience by setting up React with TypeScript, customizing the Ant Design theme with LESS and CSS Modules, and formatting your code with ...

Outer Wilds: Stop and Smell the Pine Trees

On the surface, Outer Wilds is a space exploration game. But peel back the layers, and it's a captivating and philosophical story about life and our universe.