Category Uncategorized

Scripting Background Scripts on Kinsta

One of my favorite SSH commands with Kinsta is screen. I use it quite frequently to handle long running scripts like site migrations and image optimizations. I’ve often wondered if it would be possible to put screen inside of a…

Over The Air Shell Scripts

So you just finished writing this super awesome shell script, now the question is “How do I run it?”. There are many ways you can run a shell script. You can run a script locally, run a local script on…

Lightning Fast WordPress Themes ⚡

When building WordPress websites for customers, I feel the best approach is to do a custom designed and developed theme using something like Underscores as a starter theme combined with Advanced Custom Fields. There is just nothing like building up…

Configuring Vanity Nameservers

I’ve been using a premium DNS provider since 2014 and only recently switched to use vanity nameservers. This will be a walk through showing the steps I took to setup vanity nameservers using Constellix (DNS Provider) and Hover (Domain Provider)…

Consolidating Mailgun Accounts

On March 1st 2020, Mailgun will be phasing out their free tier. I’m a happy paying Mailgun customer. How is this going to affect me? Well, over the last several years I created a number of separate free Mailgun accounts…

WordPress Routing Hacks for Single Page Applications

If you’ve ever attempted to bundle a Javascript single page application (SPA) inside of WordPress, you’ll likely run into the issue of routing. The problem isn’t that JS frameworks can’t route properly, the question is how do you get WordPress…

Debugging Slow DNS Rollouts

Ever launch a new website and run into DNS delays? Ever curious what’s happening under the hood? Let’s take a closer look and DNS updates and some tips for troubleshooting the DNS rollout process. There are great – and not…

Dynamically Load WordPress Database

The file wp-config.php defines configuration before WordPress is fully loaded, and includes things like database credentials and unique authentication keys. Did you know these configurations can dynamically be loaded? The following custom code will dynamically determine a database name based…