Capybara: Waiting for pending AJAX requests after a test
Selenium tests can fail when pending AJAX calls are aborted as Capybara closes the browser tab. Blocking new requests and waiting for in-flight work reduces flaky teardown errors.
Automatically validating dependency licenses with License Finder
Dependency licenses can break closed-source projects when unapproved OSS terms slip in. License Finder validates all dependencies during test runs and flags restricted licenses early.
Shortcuts for getting ids for an ActiveRecord scope
ActiveRecord relations can return only primary keys instead of full records, reducing query payload when just record identifiers are needed.
Testing ActiveRecord validations with RSpec
Rails model validation tests can be written directly with record.validate and error checks, or shortened with shoulda-matchers for standard cases.
CSS variables aka CSS Custom Properties
Live CSS custom properties cascade through the DOM and can be reused in other values, enabling flexible theming and Web Component styling.
Carrierwave: Built-in RSpec matchers
CarrierWave RSpec matchers simplify testing uploaded image versions and dimensions with have_dimensions, be_no_wider_than, and be_no_larger_than.
Output of ParallelTests::Cucumber::FailuresLogger was fixed in 4.9.1
ParallelTests::Cucumber::FailuresLogger now emits valid rerun arguments in version 4.9.1, so patched custom loggers can be removed and the default logger restored.
Controlling smooth scrolling in browsers
Browser scrolling can switch between instant and animated movement depending on CSS, JavaScript options, and user settings; behavior and scroll-behavior interact in surprising ways.
AppArmor in Linux
AppArmor can block daemons after configuration changes, causing misleading file-access errors such as "File not found" or "Can't open file or directory".
Rails: How to get the ordered list of used middlewares
rake middleware reveals the ordered Rails request stack, useful for adding, removing, or profiling middleware that runs on every request.
PostgreSQL: Difference between text and varchar columns
PostgreSQL character columns differ mainly in declared limits, not speed; unbounded varchar and text behave alike in Rails 4+, though some tools still render them differently.
Extracting parts of forms into Unpoly modals/popups
Unpoly popups outside a surrounding form can drop filter values on submit; mirroring inputs between a root form and overlay form preserves pagination and search state.
Changes to positional and keyword args in Ruby 3.0
Ruby 3.0 stops auto-converting hashes to keyword arguments, breaking some method calls and delegation code across Ruby versions.
CarrierWave: How to remove GIF animation
Animated GIF uploads can slow Rails workers and waste processing time; dropping all but the first frame with ImageMagick avoids resizing work.
JavaScript: Comparing objects or arrays for equality (not reference)
JavaScript has no built-in deep equality check for objects and arrays; use _.isEqual(), up.util.isEqual(), or isDeepStrictEqual() for value comparison.
How to apply transparency to any color with pure CSS
CSS can create a transparent variant of any color without preprocessor support, using color-mix() or relative color syntax for borders, backgrounds, and other components.
How to invert currentColor with pure CSS
Modern CSS can derive an inverse from currentColor with hsl(from ...), rotating hue and flipping lightness for contrasting effects.
Selecting the nth element matching a selector
CSS Level 4 :nth-child(of ...) targets the nth sibling matching a selector, enabling pure-CSS selection by class or other filter instead of element type.
The developer console can do more than you think!
Browser developer tools offer richer logging than console.log, including tables, grouped output, timers, clickable object links, and stack traces for debugging.
JSON APIs: Default design for common features
JSON API design benefits from established conventions for attributes, pagination, errors, and related objects, making client integration more predictable.
Capybara: Preventing server errors from failing your test
Capybara can fail tests after all steps when the Rails server raises an error on session cleanup. Filtering known missing-file errors avoids false failures.
Fuzzy scoping in Rails with PostgreSQL
Approximate string filtering in Rails can find names that nearly match a term by using PostgreSQL trigram similarity and a tunable threshold.
Git Rebase: How to squash/fixup/edit/... commits without actually rebasing (keeping the base)
Clean up commits on a long-lived feature branch without changing its base, then later rebase one polished commit onto main.
Prevent unnecessary automated back-and-forth when sending noreply-emails
Automated messages from a noreply@ address can trigger out-of-office replies and error bounces. Setting Auto-Submitted: auto-generated suppresses the unwanted back-and-forth.