Rails' fragment caching caches subtrees of an HTML document tree. While constructing that tree though, it can be really hard...
YJIT is Ruby's default just-in-time compiler. It is considered production-ready since Ruby 3.2 (source).
Git has the concept of hooks: bash scripts that are invoked at certain points in the Git lifecycle. One handy...
The general purpose T instance types are a good starting point. But depending on the CPU utilization of your workload...
A lesser known fact about PG enums is that they are ordered. This can be really handy when values have...
We recently migrated a Rails application from yarn to npm. We decided to go this step instead of upgrading to...
Zeitwerk is the new autoloader of Rails. It is mandatory starting with Rails 7.0. Sometimes, a model needs to know...
Canonical does not ship Ubuntu 24.04+ Vagrant images due to HashiCorps switch to the Business Source License (BSL). There is...
I noticed that tig 2.5.1 that is provided by Ubuntu 22.04 repositories has inferior bash completion than older versions after...
When using Rails credentials, you will edit the encrypted credentials for staging or production environments from time to time. To...
Slow test suites are a major pain point in projects, often due to RSpec and FactoryBot. Although minitest and fixtures...
While the main goal always is to prevent long-running queries in the first place, automatic timeouts can serve as...
When handling nested hashes the RSpec output is often hard to read. Here the gem super_diff could help.
This talk shows simple and advanced usages of the ruby/debug debugger. It goes through a step by step debugging workflow...
The ActiveSupport::BroadcastLogger allows you to log to multiple sinks. You know this behavior from from the rails server command...
I recently stumbled upon the Rails feature composed_of. One of our applications dealt with a lot of addresses and...
Rails 7.1 added a new method Rails.env.local?. If you want to stub the Rails env correctly, use ActiveSupport::EnvironmentInquirer like...
Rails' default logger prefixes each log entry with timestamp and tags (like request ID). For multi-line entries, only the...
Recently I needed to benchmark an Active Record query for performance measurements. I wrote a small script that runs each...
Terser is a really good minifier ("compressor") for JavaScript code. I'm often surprised by the thoughtfulness of its compressed...
testing-library are widely used testing utilities libraries for javascript dependent frontend testing. The main utilities provided are query methods...
Rails credentials are a way to store secrets in an encrypted YAML file. Usage is simple: each key in the...
Whenever you have to deal with randomness in a jasmine test there are some spy strategies to help you out...
You are given two CSS selectors that you do not control. How can you build a new selector that matches...