A common cause of non-accessible web pages are elements that were made interactive via JavaScript but cannot be focused...
All browsers implement an event named beforeunload. It is fired when the active window is closed and can be used...
Up until Chrome 120, scrollbars could only be styled using the various -webkit-scrollbar-* pseudo elements, e.g. to make the...
I recently noticed a new kind of flaky tests on the slow free tier GitHub Action runners: Integration tests were...
Any form fields where users enter numbers should be an . Numeric inputs have several benefits over : On mobile or tablet...
The linked table shows the support lifecycle for Firefox Extended Support Releases (ESR) which we sometimes need to support for...
tl;dr We recommend configuring Selenium's unhandled prompt behavior to "ignore". When running tests in a real browser, we...
A Rails script lives in lib/scripts and is run with bin/rails runner lib/scripts/.... They are a simple tool to perform...
87.140.79.42 - - [23/Jan/2024:09:00:46 +0100] "GET /monitoring/pings/ HTTP/1.1" 200 814 "-" "Ruby" 87.140.79.42 - - [23/Jan/2024:09:00:46 +0100] "GET...
I, [2024-01-21T06:22:17.484221 #2698200] INFO -- : [4cdad7a4-8617-4bc9-84e9-c40364eea2e4] test
There are a few tools to combat the dreaded n+1 queries. The bullet gem notifies you of missing eager...
Today I learned that you can animate HTML elements using the Web Animation API's method .animate(keyframes, options) (which...
Multiply by 1x the unit: $number = 13 $length = $number * 1px // => 13px Removing a unit
Ruby methods which load from a Yaml file, like YAML.safe_load or YAML.safe_load_file, support passing freeze: true to...
Your development server is usually running on an insecure HTTP connection which is perfectly fine for development.
Here are some hints on best practices to maintain your tasks in larger projects. Rake Tasks vs. Scripts
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 jobs that have...
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.
Getting CSS (and JS) live reloading to work in a esbuild / Rails project is a bit of a hassle, but...
tl;dr You can use ordered to ensure that messages are received in a specific order. Example expect(ClassA).to...