The Curious Engineer

All blogs / PHP

{bjørn:johansen}

bjornjohansen.com

☆ Not an expert. Probably wrong.

PHPDevOps / SRE / infrastructureAI / MLEngineering blogs

’15’20’25
Posts
93 from 28 Mar 2013 to 15 Oct 2026
Posting
monthly (8 in the last year)
Kind
personal blog
Feed
https://bjornjohansen.com/feed.xml

2026 8

  1. Running Claude Code unattended
  2. Browse the archive
  3. Five models pass the easy code reviews. Then the diffs get hard.
  4. Two Claude accounts, one session
  5. The pursuit of excellence does not need justification
  6. Three AI models review every merge request. Then they argue.
  7. One style guide for everything Claude Code writes
  8. One command per issue: git worktree, tmux and Claude Code

2024 3

  1. Farewell to the WordPress Community
  2. Migrating from WordPress to Hugo
  3. Goodbye WordPress, Hello Hugo

2019 1

  1. Memento mori

2018 12

  1. Install and update translations in WordPress with Composer
  2. Wildcard certificate from Let’s Encrypt with CloudFlare DNS
  3. Debug and profile your WordPress sites with Xdebug in Local by Flywheel (using PhpStorm)
  4. Gravity Forms personal data exporter and eraser
  5. How to mitigate CVE-2018-6389 – the load-scripts.php DoS “attack” in WordPress
  6. HTTP/2 Push WordPress Assets to First-Time Visitors
  7. Another day, another “WordPress security vulnerability”
  8. Welcome to WordCamp Oslo 2018
  9. Cut 90% of your WordPress translations loading time
  10. Git Pre-commit Hook for WordPress projects
  11. Speed up the output by 1000x with a WordPress menu cache
  12. Automate the upgrade of your DigitalOcean droplets

2017 22

  1. Customize the WordPress maintenance mode page
  2. WordPress security for the casual blogger or small business with limited resources
  3. Use mu-plugins for adding custom functionality to your WordPress site
  4. Don’t be “clever” with the translatable strings in your WordPress plugin or theme
  5. Do people struggle with Yoda conditions for real?
  6. A reference of all outgoing WordPress emails
  7. The bus factor in the WordPress project
  8. Proper RFC 4122 UUIDs as GUIDs in WordPress
  9. Secure email: Encrypt and sign your emails with PGP/GnuPG
  10. Six reasons why I love WordCamps
  11. DNS privacy: Use a DNS provider that doesn’t track you
  12. Self-destructing cookies: Real, forced Do-Not-Track for your privacy
  13. How to perform and mitigate a WordPress session donation attack
  14. Immutable assets with unique URLs in WordPress for enqueued JS and CSS files
  15. Secure messaging on your phone with the Signal app
  16. How CloudFlare handled CloudBleed
  17. Giving users a helping hand when authorizing them in WordPress
  18. Tracking visitors with adblockers
  19. Move your WordPress site from non-www to www domain
  20. To www or not to www – Should you use www or not in your domain?
  21. Keep the internet healthy – Internet for people, not profit.
  22. Encrypt and decrypt a file using SSH keys

2016 9

  1. Flexible Content Fields in Field Manager
  2. Do you want my time for free?
  3. WordPress plugins with the most reported vulnerabilities
  4. Moderate WordPress comments with WP-CLI
  5. How to do an Nginx redirect
  6. The future of Certificate Authorities
  7. SVG uploads in WordPress (the Inconvenient Truth)
  8. Allow SVG uploads to WordPress when behind Sucuri CloudProxy
  9. Let’s Encrypt for Nginx

2015 17

  1. Run all due cron events for WordPress with WP-CLI
  2. How to upgrade to PHP 7 on Ubuntu
  3. Restrict allowed HTTP methods in Nginx
  4. Block access to PHP files on your WordPress site with Nginx
  5. Restrict access to the WordPress dashboard by IP address in Nginx
  6. Redirect all HTTP requests to HTTPS with Nginx
  7. Strict file ownership for your WordPress installation
  8. Exclude certain requests from the Nginx access log
  9. Configure your local Postfix to relay through a transactional email service
  10. Two Factor Authentication for WordPress
  11. SSH timeout prevention – keep SSH sessions alive
  12. WordPress behind Big-IP
  13. Enable HTTP/2 on Nginx
  14. HTTP Public Key Pinning (HPKP)
  15. Privacy Policy
  16. The slides from my presentation on HTTP/2 at WordCamp Belgrade 2015
  17. Running PHP7-FPM Nightly Build on Ubuntu 14.04

2014 7

  1. Running HHVM with fallback to PHP-FPM
  2. Using fail2ban to block WordPress login attacks
  3. Using fail2ban from behind a Rackspace Cloud LoadBalancer
  4. Running HHVM instead of PHP with Nginx on Ubuntu
  5. WordPress Quality Guidelines
  6. «Slap-on» speed optimization of your WordPress site
  7. Optimizing HTTPS on Nginx

2013 14

  1. Host ga.js locally with a WordPress plugin
  2. Optimize your JS and CSS loading in WordPress
  3. Make Gravity Forms' JavaScript load in the footer
  4. Why use WordPress as your corporate CMS?
  5. Enabling SPDY with Nginx
  6. Securing Nginx with HTTPS
  7. Install latest version of Nginx on Ubuntu
  8. Install latest version of PHP on Ubuntu
  9. Publishing WordPress site from development to production server – or moving your WordPress installation from one host to another
  10. Restricting access to WordPress login by IP address
  11. Setting up your own PPTP VPN
  12. Get your Ubuntu VPS up and running
  13. Caching: Varnish or Nginx?
  14. Using Jekyll without YAML front matter