Blog

Rate Limiting an aggressive bot in Nginx

High load isn't necessarily an emergency, but it may be a heads-up before a site noticeably…

Deploying blocks and content to other site environments

If you have a current Drupal site (built in Drupal 8 or later) you no longer need to entirely…

Software we're grateful for #3 - NextCloud

To wrap up our round-up of awesome open source packages, and to get back to business, our final…

Software we're grateful for #2 - HomeAssistant

For the holidays, we're highlighting some awesome Free/Open Source software -- three amazing…

Software we're grateful for #1 - Matrix

In the spirit of the holidays, we're doing a few posts on Free/Open Source projects that we use…

A new approach to Drupal theming, just in time for Drupal 10

Over the past few months, I've fielded a lot of minor styling requests, and as I work through…

3 different ways to progressively enhance your website

The world of the web has changed a ton over the past decade. Websites that show one page at a…

Website Effectiveness Engineering: Progressive Enhancements

Here's an introduction to Progressive Enhancements:

Progressive Enhancements: Manage data

Websites can do more than "just" present information. Do you have some sort of data management…

Progressive Enhancements: Improve data entry and user interactions

Websites can do far more than just present information. Many business applications have moved…