Debugging performance issues in your Rails app can be a tough challenge. To get more detailed insights consider using the...
A common cause of non-accessible web pages are elements that were made interactive via JavaScript but cannot be focused...
I recently noticed a new kind of flaky tests on the slow free tier GitHub Action runners: Integration tests were...
Usually our code lives on GitLab, therefore our documentation for CI testing is extensive in this environment. If you are...
tl;dr We recommend configuring Selenium's unhandled prompt behavior to { default: 'ignore' } with the monkey patch below.
A Rails script lives in lib/scripts and is run with bin/rails runner lib/scripts/.... They are a simple tool to perform...
Today I learned that you can animate HTML elements using the Web Animation API's method .animate(keyframes, options) (which...
Here are some hints on best practices to maintain your tasks in larger projects. Rake Tasks vs. Scripts
I recently did a quick research on how to better write down multiline statements like this: # Dockerfile RUN export DEBIAN...
RubyMine has a collaboration feature called "Code With Me". Using it, you can invite someone into your local editor to...
The linked article suggests an interesting way to speed up tests of Rails + Postgres apps: PostgreSQL allows the creation of...
This Capistrano task runs a command on all servers. bundle exec cap production app:run cmd='zgrep -P "..." RAILS_ROOT/log/production.log...
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.
#pluck is commonly used as a performant way to retain single database values from an ActiveRecord::Relation Book.pluck(:title, :price...
Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...
Apply Test Driven Development(TDD) to the process of building container images by defining test before writing code and automate...
Creating Nagios Config with puppet Let's have a look at the classic way of managing Nagios configuration with exported...
There is a gem puppet-ghostbuster which can help you find dead code in puppet projects. To use it, (as...
While upgrading CarrierWave from version 0.11.x to 3.x, we encountered some very nasty fails. Below are the basic...
In the discussion of the difference between include and extend in Ruby, there is a misconception that extend would add...
Most of our applications use CarrierWave for file uploads. CarrierWave has an integrated processing mechanism for different file versions with...
The recommended additional setup of the spreewald gem, a useful set of cucumber steps, includes adding a file for defining...
Do you remember finding where a method is defined? I recently learned from a senior colleague that Method objects are...