Ruby: Comparing a string or regex with another string
Using === with strings and regexes can change matching behavior in Ruby; match? is only safe when the left side is definitely a regex.
esbuild: Make your Rails application show build errors
esbuild watch errors stay hidden in the terminal while Rails keeps serving stale assets; writing them to a file lets the app render build failures in development.
Web development: Accepting a self-signed certificate in Google Chrome
Chrome can reject locally generated self-signed certificates and hide HTTPS even when they work. Importing the certificate or launching with --ignore-certificate-errors allows testing.
Postgres in Alpine docker container: sorting order might differ
String sort order can change when PostgreSQL runs in an Alpine-based Docker image because locale and collation defaults differ from Debian images.
davetron5000/methadone - GitHub
Ruby framework for building command-line apps with parameter handling, utility classes, and Cucumber support for CLI testing.
Upgrading Cucumber and Capybara to the latest versions available for Rails 2
Rails 2-compatible versions of Cucumber, Capybara, and related gems avoid breakage from newer dependencies and Capybara API changes.
git: find the version of a gem that releases a certain commit
Find the gem version that first contains a commit by using git name-rev --tags; it points to the next release tag after the change.
Implementing social media "like" buttons: Everything you never wanted to know
Embedding social widgets can expose cookies, trigger background tracking, and slow pages; privacy-friendly two-step buttons and async loading reduce the impact.
How to combine greps on log files opened with tail -f
Chaining grep with tail -f needs --line-buffered, otherwise matches may not appear immediately in a pipeline.
GitHub Actions: Retrying a failing step
Flaky commands in GitHub Actions can fail intermittently; nick-invision/retry reruns them with a timeout and limited attempts.
How to revert features for deployment, merge back, and how to stay sane
Feature reverts can block deployment when unfinished work must stay out of production; consolidating reverts into a few commits makes restoring them after release easier.
How to migrate CoffeeScript files from Sprockets to Webpack(er)
Migrating CoffeeScript from Sprockets to Webpacker can keep existing classes and dependencies working by adding coffee-loader and adjusting imports and global namespace exposure.
Linux: Create file of a given size
Create a file with an exact target size on Linux for testing or temp data, using dd or zero-filled writes.
HTTPie nice command line HTTP client
http is a simple command-line client for debugging and testing HTTP servers, REST APIs, and web services with readable defaults and colored output.
Geordi 1.2 released
Geordi 1.2 adds more flexible deploys, better Cucumber reruns and debugging, and reorganized Firefox and VNC command handling.
Using local fonts with Webpack / Webpacker
Using self-hosted or purchased fonts with Webpack or Webpacker requires either bundling them from assets or packaging them locally for clean imports.
MongoMapper for Rails 2 on Ruby 1.9
MongoMapper support for Rails 2.3.x on Ruby 1.9 via a forked gem branch; compatible with Ruby 1.8.7, REE, and Ruby 1.9.3.
Ruby: Writing specs for (partially) memoized code
Memoized ActiveRecord values can stay stale in specs even after reload; re-finding the record or clearing memoization avoids false failures.
The new Modularity 2 syntax
Modularity 2 replaces does with include-based traits and new naming rules, with automatic migration support for existing Ruby projects.
rspec_candy 0.2.0 now comes with our most popular matchers
rspec_candy 0.2.0 adds matchers for tolerant number comparison, second-level time equality, and hash subset matching in RSpec.
Making ZSH the default shell on Ubuntu 20.04
ZSH can replace Bash on Ubuntu 20.04 and adds command-line conveniences like completion, corrections, themes, and plugins.
Testing terminal output with RSpec
Verify Ruby code that writes to the terminal by capturing stdout or stderr with RSpec expectations; heredocs help with multi-line output.
Synchronize a Selenium-controlled browser with Capybara
Selenium actions can return before a page finishes loading, so Ruby updates may race with browser-side changes. A Capybara resynchronization step prevents flaky Cucumber features.
xdissent/ievms - GitHub
Run multiple Internet Explorer versions in separate VirtualBox VMs on Linux or OS X for website testing without Microsoft VirtualPC.