Writing

Thoughts on WordPress, web development, and the tools I use.

Development

TypeScript vs JavaScript: what are the differences?

TypeScript adds static typing and compile-time checks on top of JavaScript. I break down the key differences and when each language makes more sense.

November 10, 2022 · 6 min read
WordPress

Google PageSpeed vs Lighthouse: how are they different?

PageSpeed Insights and Lighthouse both use the same engine but differ in scope and test conditions. Here's what each measures, why the scores don't match, and when to use which.

September 13, 2022 · 6 min read
WordPress

How to improve Largest Contentful Paint (LCP)

LCP measures how fast the largest visible element loads, and it counts for 25% of your PageSpeed score. Here's what actually moves the number on WordPress, with a list of second-order fixes at the end.

November 4, 2021 · 6 min read
WordPress

Excluding files and folders in All-in-One WP Migration plugin

All-in-One WP Migration has four exclude filter hooks, not one. Here's which hook to use for uploads, themes, plugins, or the wp-content root, and why the common snippet you find online silently does nothing.

August 26, 2021 · 6 min read
Development

Junior developer: writing the perfect resume

Your CV is the first thing a recruiter sees, and it has about thirty seconds to land. Here's how to write a junior developer resume that actually gets you to the interview.

June 13, 2021 · 6 min read
WordPress

How to fix the upload path error in WordPress

If images stop loading after a WordPress migration, the upload path is almost always the cause. Here's how to set it explicitly in wp-config.php, or fix it with a plugin.

June 3, 2021 · 3 min read
WordPress

How to install and use Ionicons in WordPress

Ionicons is a lightweight icon library from the Ionic team. Here's how to enqueue it in WordPress and use the icons in your theme without any plugin.

October 20, 2019 · 2 min read
WordPress

Solving the All-in-One WP Migration plugin upload size limit problem

The 512 MB upload limit in All-in-One WP Migration isn't a server setting. It's a JavaScript check. Here's what actually stops large imports and how to raise the limit for free, without editing constants.php.

September 18, 2019 · 10 min read
Development

How to delete a database in phpMyAdmin

Step-by-step guide to dropping a database or a single table in phpMyAdmin, whether you're on XAMPP, WAMP, or a remote host.

August 3, 2019 · 3 min read
WordPress

How to stop WordPress spam comments without a pile of plugins

You don't need six anti-spam plugins to keep spam comments under control. Akismet, a few Discussion setting tweaks, and stripping HTML from the comment form does most of the work.

October 11, 2018 · 5 min read