We regularly have tasks that need to be performed around a deploy. Be it to notify operations about changed application...

rspec.info

Note Don't use reruns as a mean to work around flaky tests. You should always try to fix those...

ruby-doc.org

Do you remember finding where a method is defined? I recently learned from a senior colleague that Method objects are...

github.com

The linked rbenv plugin rbenv-each is very helpful to keep QoL gems up to date that are not part...

By default, Devise sends all emails synchronously with deliver_now. To change that, Devise's readme suggests overwriting the send...

Chromedriver (or selenium-webdriver?) will not reliably scroll elements into view before clicking them, and actually not click the element...

Browsers can auto fill-in one time codes if advised. Use it like this: Demo: https://twitter.com/sulco/status/1320700982943223808 Browser support...

Disclaimer This card is a collection of guides and things to have in mind when upgrading to a specific version...

Terraform (and terragrunt) gives a lot of output when running plan or apply, outputting a lot of progress information when...

Rails' url_for is useful for generating routes from a Hash, but can lead to an open redirect vulnerability.

matuzo.at

In the linked page, Manuel Matuzović offers an FAQ regarding web components, and their accessibility in particular.

Newest versions of Chromedriver breaks the user agent for device emulation via device name. In previous versions the user agent...

Capybara allows you to filter elements that are focused. page.find(:fillable_field, focused: true) # Filtering only fillable inputs for performance...

An introduction to mangling When you minify ("compress", "optimize") your JavaScript for production, the names of your functions and variables...

In CI test runs I noticed that string sorting order changed after switching from a debian-based PostgreSQL docker image...

You can tell npm to install a package globally with npm -g install @puppeteer/browsers. However, it seems that its not...

Attention This is an edge-case. You probably don't want to mix different database dumps. It also requires that...

If you want to collapse/expand elements with dynamic content (and thus unknown height), you can not transition between height: 0...

TL;DR: Grid elements have min-width: auto in a 1fr column, which may lead to overflows. With minmax(0...

Sometimes you'll find yourself with a set of tasks that require similar code for different models. For example, if...

stefanjudis.com

Suppose you want to implement a publish/subscribe pattern in your Frontend application to react to data changes and events. First...

Intel CPUs receive updates, including security relevant upgrades, through 2 channels: Firmware/UEFI BIOS updates can also update the microcode in...

When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips

Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.