If you are using git submodules in Gitlab CI, you might run into a "The project you were looking for...
It's 2024 and we have tools like ffmpeg, imagemagick and GPT readily available. With them, it's easy to...
10.0.0 2024-03-07 Compatible changes console command: You can now globally disable the IRB multiline feature by setting irb...
The Web Animations API has great browser support, and you should be using it to animate DOM elements from JavaScript...
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...
Sometimes you have a file that is related to a project, while not actually being part of it. You'd...
The linked table shows the support lifecycle for Firefox Extended Support Releases (ESR) which we sometimes need to support for...
A Rails script lives in lib/scripts and is run with bin/rails runner lib/scripts/.... They are a simple tool to perform...
It happens from time to time that a job in a GitLab pipeline fails. Sometimes, however, the error message is...
Version 3.7.0 broke some things in complex forms. Sorry for that. Concurrent user input is hard. 3.7.1 This change fixes...
RubyMine has a collaboration feature called "Code With Me". Using it, you can invite someone into your local editor to...
You can ignore certain commits when using git blame with the --ignore-revs-file option. This is handy to ignore...
Short hint: If you want to push to a git repository that has CI configured, you can skip the CI...
You can use pg_repack to do a VACUUM FULL without holding an exclusive lock during processing. There is still...
A general overview about why and how we migrate can be found under Migrating from Elasticsearch to Opensearch
If you ever need to restore exact records from one database to another, Marshal might come in handy. Marshal.dump is...
Apply Test Driven Development(TDD) to the process of building container images by defining test before writing code and automate...
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...
I recently stumbled over a problem that my feature tests broke in CI because of a mismatching chromedriver version.