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, 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.

By John, 10 June, 2020

Blackout page

If you attempted to visit this site in the week before this was posted, you would have seen an entirely blacked out page. This was to observe in Blackout Tuesday, which was an effort to provide a platform for black content creators to say their voice. 

The blackout page can still be seen here.

By John, 29 February, 2020

Gamification for open source software

Here's an idea, let's gamify open source software contributions. Here's a list, it's still in development:

File an issue on a project: 10 pts.

Create a patch file and post it to that issue: 50 pts.

Have that patch file committed to the project: 100 pts.

Become a maintainer for a project: 1000 pts

Incorporate a contributed patch for a project you maintain: 200 pts.

Write a unit test for a project (either one you maintain or not) 300 pts

Make your first core contribution to:

Pagination

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