The linked article suggests an interesting way to speed up tests of Rails + Postgres apps: PostgreSQL allows the creation of...
Getting an entire test suite green can be a tedious task which involves frequent switches between the CLI that is...
This Capistrano task runs a command on all servers. bundle exec cap production app:run cmd='zgrep -P "..." RAILS_ROOT/log/production.log...
In the Gitlab settings the flag Auto-cancel redundant pipelines is enabled by default. This auto-cancels pipelines with jobs...
A general overview about why and how we migrate can be found under Migrating from Elasticsearch to Opensearch
OpenAI is currently limiting the Audio generating API endpoint to text bodies with a maximum of 4096 characters.
In Capistrano 3, your Capfile requires 'capistrano/rails/migrations', which brings two Capistrano tasks: deploy:migrate and deploy:migrating. The former checks...
Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...
If you ever need to restore exact records from one database to another, Marshal might come in handy. Marshal.dump is...
Every modern Rails app should have a Content Security Policy enabled. Very compatible default The following "default" is a minimal...
While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...
TLDR Using .includes or .eager_load with 1-n associations is dangerous. Always use .preload instead. Consider the following ActiveRecord...
We regularly have tasks that need to be performed around a deploy. Be it to notify operations about changed application...
You don't want sensitive user data in your logs. Background Rails per default filters sensitive data like...
Disclaimer This card is a collection of guides and things to have in mind when upgrading to a specific version...
For my computer science bachelor's thesis I programmed and evaluated a CLI Test Case Prioritization (TCP) tool for makandra...
The git doc states on the difference of these two commands: git-restore[1] is about restoring files in the...
An introduction to mangling When you minify ("compress", "optimize") your JavaScript for production, the names of your functions and variables...
When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips
If you have a fully functional CI pipeline but no CD, you might find yourself frequently waiting for CI (with...
Code splitting is a feature of esbuild that can keep huge libraries out of the main bundle. How code splitting...
As we are slowly switching from Cucumber scenarios to RSpec feature specs, you might be tempted to write assertions like...
With this Ruby script you can print all values in a Redis database to your console (derived from this bash...
I recently noticed that better_errors allows you to to open files from within your favorite editor. However it was...