DEV Community

Alex MacArthur profile picture

Alex MacArthur

Bossing around computers in made-up languages.

Location Nashville, TN Joined Joined on  Personal website https://picperf.dev github website twitter website

Education

Concordia College - Moorhead, MN

Work

Sr. Software Engineer at Ramsey Solutions

TIL: The Download Attribute Doesn’t “Just Work” for Cross-Origin Resources

TIL: The Download Attribute Doesn’t “Just Work” for Cross-Origin Resources

Comments
3 min read

Want to connect with Alex MacArthur?

Create an account to connect with Alex MacArthur. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Get All That Network Activity Under Control with Priority Hints

Get All That Network Activity Under Control with Priority Hints

10
Comments
9 min read
Your Cache Headers Could Probably be More Aggressive

Your Cache Headers Could Probably be More Aggressive

1
Comments
6 min read
Reviewing PicPerf's Impact on SongwriterCity.com

Reviewing PicPerf's Impact on SongwriterCity.com

Comments
3 min read
Building a Two-Way Data Binding Hook for Form Inputs in React

Building a Two-Way Data Binding Hook for Form Inputs in React

Comments 2
5 min read
Taking Variable Fonts for a Spin

Taking Variable Fonts for a Spin

Comments
5 min read
Run Puppeteer with Docker on Fly.io

Run Puppeteer with Docker on Fly.io

Comments
5 min read
How to Better Leverage Browser Preloading

How to Better Leverage Browser Preloading

Comments
7 min read
Mount a Multi-Page SPA into an App with Server-Side Routing

Mount a Multi-Page SPA into an App with Server-Side Routing

2
Comments
5 min read
Why I Moved from Notion to Ghost for My Headless CMS

Why I Moved from Notion to Ghost for My Headless CMS

1
Comments
6 min read
Picking the Right Tool for Maneuvering JavaScript's Event Loop

Picking the Right Tool for Maneuvering JavaScript's Event Loop

Comments
12 min read
Elegant Memoization with Ruby’s .tap Method

Elegant Memoization with Ruby’s .tap Method

Comments
5 min read
Options for Navigating JavaScript's Event Loop

Options for Navigating JavaScript's Event Loop

Comments
12 min read
If Possible, Don't Run Prism.js in the Browser

If Possible, Don't Run Prism.js in the Browser

Comments
5 min read
Consider Animating Your Canvas in a Web Worker

Consider Animating Your Canvas in a Web Worker

Comments
4 min read
More Elegant Destructuring with JavaScript Generators

More Elegant Destructuring with JavaScript Generators

Comments
3 min read
Use a MutationObserver to Handle DOM Nodes that Don’t Exist Yet

Use a MutationObserver to Handle DOM Nodes that Don’t Exist Yet

Comments
5 min read
You’ve Got Options for Removing Event Listeners

You’ve Got Options for Removing Event Listeners

Comments
5 min read
Use the .matches() Method to Determine if a Selector Matches an Element

Use the .matches() Method to Determine if a Selector Matches an Element

Comments
3 min read
What I Like About Astro

What I Like About Astro

Comments
7 min read
How to Lazy Load Disqus for Improved Site Performance

How to Lazy Load Disqus for Improved Site Performance

Comments
4 min read
Keep Using Disqus if You Don’t Care About SEO, Performance, and User Privacy

Keep Using Disqus if You Don’t Care About SEO, Performance, and User Privacy

Comments
8 min read
When I Actually Needed useLayoutEffect() in React

When I Actually Needed useLayoutEffect() in React

Comments
5 min read
Serving Notion Presigned Images with Cloudflare Workers

Serving Notion Presigned Images with Cloudflare Workers

6
Comments
9 min read
I’ve Boarded the SSG Train Again

I’ve Boarded the SSG Train Again

1
Comments
10 min read
Why Can’t You .forEach() Over Empty Array Items?

Why Can’t You .forEach() Over Empty Array Items?

3
Comments 2
3 min read
Using Vite to Develop an SPA in the Context of a Production Page

Using Vite to Develop an SPA in the Context of a Production Page

Comments
9 min read
Why I've Had No Regrets Moving from Google Analytics to Plausible

Why I've Had No Regrets Moving from Google Analytics to Plausible

1
Comments
9 min read
When DOM Updates Appear to Be Asynchronous

When DOM Updates Appear to Be Asynchronous

1
Comments
9 min read
Why I Like Tailwind CSS

Why I Like Tailwind CSS

5
Comments 1
7 min read
Don't Feel Bad About Using XMLHttpRequest

Don't Feel Bad About Using XMLHttpRequest

8
Comments 1
12 min read
When It Makes Sense to Use a Utility Function Instead of a Polyfill

When It Makes Sense to Use a Utility Function Instead of a Polyfill

7
Comments
11 min read
Clean Up Your Redux Store Listeners When Component State Updates

Clean Up Your Redux Store Listeners When Component State Updates

6
Comments
7 min read
Cleaning Up Redux Store Listeners When Component State Updates

Cleaning Up Redux Store Listeners When Component State Updates

6
Comments
7 min read
Streamlining Conditional Statements with Logical Operators

Streamlining Conditional Statements with Logical Operators

7
Comments
4 min read
A Plot Proposal for Frozen III

A Plot Proposal for Frozen III

7
Comments
1 min read
If the Democratic Presidential Candidates Were JavaScript Packages

If the Democratic Presidential Candidates Were JavaScript Packages

10
Comments
1 min read
For the Sake of Your Event Listeners, Use Web Workers

For the Sake of Your Event Listeners, Use Web Workers

7
Comments
5 min read
Blog for Your Own Sake

Blog for Your Own Sake

9
Comments
3 min read
Building a Shell Function to Copy the Latest Git Commit SHA

Building a Shell Function to Copy the Latest Git Commit SHA

7
Comments
5 min read
Should We All Start Implementing Differential Serving?

Should We All Start Implementing Differential Serving?

6
Comments
6 min read
Deploying Code with a Git Hook on a DigitalOcean Droplet

Deploying Code with a Git Hook on a DigitalOcean Droplet

2
Comments
6 min read
A Simpler Unit Testing Setup for WordPress

A Simpler Unit Testing Setup for WordPress

2
Comments
7 min read
Creating a .map() Method for Objects, Strings, Sets, and Maps

Creating a .map() Method for Objects, Strings, Sets, and Maps

10
Comments
5 min read
Remember to Probably Target an Empty Object with Object.assign()

Remember to Probably Target an Empty Object with Object.assign()

3
Comments
2 min read
Formatting My PHP More Efficiently with a Bash Function

Formatting My PHP More Efficiently with a Bash Function

4
Comments
3 min read
Quickly Spin Up MySQL w/ Docker Compose

Quickly Spin Up MySQL w/ Docker Compose

11
Comments
1 min read
Writing a Regular Expression to Target Images Without a Class

Writing a Regular Expression to Target Images Without a Class

8
Comments
5 min read
Best-ish Practices for Dynamically Prefetching & Prerendering Pages with JavaScript

Best-ish Practices for Dynamically Prefetching & Prerendering Pages with JavaScript

6
Comments
10 min read
Using the 'posts_where' Filter with WP_Query in WordPress

Using the 'posts_where' Filter with WP_Query in WordPress

6
Comments
3 min read
Preloading JavaScript Assets in WordPress

Preloading JavaScript Assets in WordPress

3
Comments
6 min read
Let's Stop Making it Cool to Hate jQuery

Let's Stop Making it Cool to Hate jQuery

5
Comments
5 min read
Build Your Own Simple Lazy Loading Functionality in WordPress

Build Your Own Simple Lazy Loading Functionality in WordPress

10
Comments
6 min read
Building a Lambda Function with Netlify

Building a Lambda Function with Netlify

4
Comments
11 min read
loading...