Dev Corner

Grafana line showing load dropping to normal

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…

Picture of someone moving blocks from one pile to another

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…

Theming - Halloween Pumpkins

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…

DrupalCon Portland 2022

Progressive Enhancements with VueJS and Drupal

In April I gave a talk about Progressive Enhancements at the national DrupalCon 2022 conference…

Laptop with coffee and pills

Aggregate fields in Drupal 8 views

Views module has long been the killer feature of Drupal, making it easy for a site builder or…

Water pipes

Deployment and release strategies

When you build a new website, going live is relatively easy. You get ahold of a domain name,…

Flat road

Using modern Javascript for quick utility scripts - bulk search and replace

With as much Javascript work as we're doing these days, I'm starting to do more and more quick…

Meltdown

Meltdown notes

The Meltdown vulnerability leaked out into public news a full week before patches were available…

A slick migration trick - convert columns to multi-value field with subfields

In the previous post on A custom quantity price discount for Drupal Commerce we created a…

A custom quantity price discount for Drupal Commerce

We're in the midst of a Commerce 2 build-out for a client, and a key requirement was to preserve…