Fixing "identify: not authorized"
Ubuntu disables PDF processing in ImageMagick because Ghostscript has had security issues; re-enable it only when Ghostscript is current and maintained.
Shell script to magically configure display setup
Bash script for Xorg on Ubuntu 24.04 that auto-arranges connected monitors, sets the external screen as primary, and can switch the internal panel to a fixed resolution.
Too many parallel test processes may amplify flaky tests
Flaky test suites can fail more often with too many parallel workers; limiting PARALLEL_TEST_PROCESSORS can reduce race-condition failures with only a small runtime cost.
Migrating from Elasticsearch to Opensearch: searchkick instructions (without downtime!)
Zero-downtime migration from Elasticsearch to OpenSearch for Searchkick apps, including staging validation, client switching, and environment-specific index settings.
Middleman configuration for Rails Developers
Rails-friendly Middleman setup for live reload, asset pipeline, i18n, environment-specific config, browser testing, and Capistrano deployment.
Lazy-loading images
Loading large page images only when they enter the viewport cuts bandwidth use and can improve perceived speed. Missing crawler support and layout shifts remain common issues.
Reverse-proxying web applications with Apache 2.4+
Apache 2.4+ can act as a reverse proxy for apps on other hosts or paths, including redirect, cookie, and asset-path rewriting when the backend is not proxy-aware.
Test-Driven Development with integration and unit tests: a pragmatic approach
Dogmatic red-green-refactor TDD can be tedious; a pragmatic mix of integration and unit tests uses scenario titles as a todo list and supports iterative development.
How to query GraphQL APIs with Ruby
GraphQL APIs return nested data through one endpoint, and Ruby can query or mutate them with plain HTTP requests without adding graphql-client.
Async control flow in JavaScript: Promises, Microtasks, async/await
JavaScript async code often becomes hard to read and error-prone; promises and async/await flatten control flow, model failures, and avoid callback nesting.
Understanding SQL compatibility modes in MySQL and MariaDB
SQL mode mismatches can break apps after MySQL or MariaDB upgrades by changing strictness, grouping rules, and allowed values.
RestClient / Net::HTTP: How to communicate with self-signed or misconfigured HTTPS endpoints
HTTPS requests fail against self-signed certificates or broken certificate chains unless the correct CA, intermediate cert, or certificate store is configured.
Collection of Rails development boosting frameworks
Rails app setup and admin scaffolding can speed up project bootstrapping, data management, and CRUD interfaces with templates and generators.
Vortrag: Content Security Policy: Eine Einführung
Content Security Policy schützt Webseiten vor XSS, indem der Browser erlaubte Quellen für Skripte, Styles, Bilder und Verbindungen streng einschränkt.
Testing HTTPS with badssl.com
Sites with unusual HTTPS setups help verify browser certificate handling, proxy interference, and security-product side effects.
Inspecting a live Ruby process
Extracting a backtrace from a running Ruby process helps diagnose hangs and crashes without waiting for a restart. gdb can attach live or inspect a core file.
Test a download's filename with Cucumber
Verify that a server response suggests the expected download name in a Cucumber scenario, using Capybara or Webrat to check the Content-Disposition header.
routing-filter is broken with Rails 7.1
routing-filter stops working in Rails 7.1 because find_routes now yields lazily, leaving URL segment filters unapplied and routes unrecognized.
How to: Ensure proper iconfont rendering with Webpack
Custom icon fonts can render as garbled characters after switching from Sprockets to Webpack because CSS charset detection changes. Adding a UTF-8 BOM or an explicit charset can prevent intermittent display failures.
Setting up Tomcat to use an existing OpenSSL certificate
Convert an existing OpenSSL certificate and private key into a Java keystore for Tomcat HTTPS, avoiding JSSE configuration errors and alias mismatches.
Heads up: Deployment with newly generated SSH key (using ED25519) might fail
Capistrano deployments can fail with ssh-ed25519 keys because net-ssh needs ed25519 and bcrypt_pbkdf; stale host fingerprints in ~/.ssh/known_hosts can also block access.
How to fix parallel_tests with Redis on powerful machines
Parallel test runs can exceed Redis’s default 16 databases on multi-core machines, causing ERR DB index is out of range; increasing the database limit resolves it.
esbuild: Make your Rails application show build errors
esbuild watch errors stay hidden in the terminal while Rails keeps serving stale assets; writing them to a file lets the app render build failures in development.
request_store: Per-request global storage for your Rails app
Per-request storage for Rails avoids leaking state between requests when using Thread.current; middleware clears data automatically at request end.