Skip to main content
John Brandenburg

Main navigation

  • Home
  • About Me
  • Tech
  • Voting Rights
    • Close Polling Stations:
    • Reject Absentee Ballots
    • 482,000 de-registered voters in Wisconsin since 2016
    • Deceptive Practices by poll workers
    • Gerrymandering
    • Lack of Early Voting
    • Purge Voters
    • Removing Voting Rights from Former Felons
    • Unreliable Voting Equipment
    • Voter ID Laws
User account menu
  • Log in
By John, 11 June, 2025

New Bot Blocker Module

I just wanted to share that I just published a new Bot Blocker module. This takes a more general approach to blocking bot traffic, and as of right now, provides the ability to block requests based on substrings  occurring in a user agent, i.e. block self-identifying crawlers, and block older versions of major browsers (which seems to be a trend with this recent increase in bot traffic).

By John, 23 May, 2025

Publishing blocks in Drupal

Blocks have been around for ages in Drupal. In D8, a published status was introduced to allow site admins to show/hide blocks when needed. The problem? The UI to edit this status still isn't available. This is something I had had casually been keeping an eye on for a while, since it is a common use case on websites to want to hide/show blocks when needed. Especially  for things like "Alerts".

By John, 5 May, 2025

Building a Firewall in your Drupal Application

For the layman, a "WAF" or Web Application Firewall is a service you can place in front of your website to protect it from the many threats out on the internet. It can head off known exploits, mitigate DDOS attacks, and block known bad actors. These tools come in a variety of shapes and sizes and pricing will vary. This is also distinct from a "reverse proxy cache" like varnish. Which can improve performance of a site dramatically, and help with some of these things I mentioned, but in general is kind of dumb, and can't react to threats.

By John, 11 April, 2025

Paint it black - Dark Mode Errors in Drupal

I'm a fan of dark modes on everything. Yes, I know this site doesn't currently use a dark theme, it's just the default "Olivero" theme at the moment, but I've struggled to find good, off the shelf themes good for a small blog.  Anyway, I just wanted to post about an issue I filed against Drupal core, requesting a feature to allow it to use the php config's "error_prepend_string" and "error_append_string" configs. This could radically change the infamous "White screen of death" you frequently see when debugging drupal websites.

By John, 31 March, 2025

Wow, it's really be over 4 years

I can't believe it's been over 4 years since I've written here. A lot has happened I guess. We got through the pandemic. I've continued working on all sorts of interesting projects. The whole AI craze started, and I'm likely going to be replaced by one of those eventually. 

By John, 28 December, 2020

The Quick Guide on Writing Secure PHP Code

Writing secure code is absolutely critical. Here are some basics.
By John, 1 December, 2020

Unable to run "drush uli" - Drupal 8

I spent an embarrassing amount of time hung up on this. So I'm writing this  post now, to save anyone else the trouble. I was trying to log into a local, lando-based Drupal site, but I kept getting this error: 

By John, 1 November, 2020

Election 2020

Voter suppression happens in the United States, and on a greater scale than you imagined.
By John, 16 August, 2020

Next generation image formats in Drupal

Next generation image formats are becoming more important for mobile optimization. But is Drupal ready for them?
By John, 11 July, 2020

Reporting number of files as a Drupal status item

Lately I've been spending a lot of time working with the Feeds module in Drupal, especially dealing with this issue, where using the module on a site in a containerized load-balanced set up can cause problems accessing temporary files. The work around is to just use a different directory for your temporary files. But that comes with some caveats. When you use the systems temporary files directory, e.g.

Pagination

  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Page 5
  • Next page
  • Last page
RSS feed
Powered by Drupal