RubyMine: Efficiently filtering results in the "Finder" overlay

RubyMine Finder searches can return huge result sets; file masks, directory limits, regex, and other filters narrow matches and speed up locating the right code.

Testing for Performance: How to Ensure Your Web Vitals Stay Green

Frontend changes often erode loading speed and visual stability. Web Vitals tests can lock in LCP and CLS scores by checking them in the browser under throttled network conditions.

How to auto-resize a textarea (or other inputs) in pure CSS

field-sizing: content lets textareas and other inputs grow to fit their contents, but Firefox and Safari still need a JavaScript fallback.

You don't always need a custom matcher to write clean RSpec tests

Repeated RSpec assertions can be extracted into custom matchers, but some cases are better served by private helper methods when reuse would be too awkward.

Different ways to set attributes in ActiveRecord

ActiveRecord attribute assignment methods differ in persistence, validations, callbacks, timestamp updates, and readonly handling across Rails versions.

Error handling in DOM event listeners

DOM event handler exceptions are swallowed, so later listeners and dispatchEvent() continue running. Uncaught errors still reach the browser log and window error event.

Don't sum up columns with + in a SQL query if NULL-values can be present.

+ arithmetic in SQL turns the whole result NULL when any operand is NULL; SUM and COALESCE(..., 0) avoid silent loss of totals.

Inspecting the page content in a Cucumber session

Inspect page text in a Cucumber session by pretty-printing the HTML content instead of digging through full markup; useful for debugging and custom steps.

Rails: How to write custom email interceptors

Global mail interception in Rails can prefix subjects by environment and redirect staging mail to a fallback address unless recipients are allowlisted.

Differences between transactions and locking

Concurrent database access needs two different tools: transactions for atomic multi-row changes and locks for exclusive access; using the wrong one causes lost updates and deadlocks.

Rails: Report CSP Violations to Sentry

CSP violations can be sent to Sentry for monitoring, but browser extensions and high-traffic sites may generate noisy reports and filtering remains limited.

Simple gem for CLI UIs

Small dependency-free library for interactive terminal input and progress bars in CLI apps, with filtering prompts and basic formatted output.

Gatekeeping: Guide for developer

Developer workflow for review-gated changes in Linear and GitLab, with branch, merge, reject, and staging steps to reduce client rejections.

Cancelling the ActiveRecord callback chain

ActiveRecord callback chains can halt or roll back transactions differently across Rails versions, and accidental false returns may stop legacy callbacks.

RSpec: How to define classes for specs

RSpec constants declared in specs leak into the global namespace, risking name collisions and brittle tests. Use stub_const, a Class.new variable, or self:: to keep helper classes isolated.

Adding comments to ambiguous database columns

Ambiguous database columns can need schema comments when meaning depends on history or code. Units, boolean flags, timestamps, and STI-specific fields benefit most.

Style Guide for Git commit messages

Git commit messages benefit from a clear subject, concise length, and imperative wording, with a body that states what changed and why.

Taking screenshots in Capybara

Capybara test failures can save screenshots and HTML automatically, with manual capture also available through save_and_open_page, save_screenshot, or Rails ScreenshotHelper.

Chrome DevTools: Treasure (Overview)

Chrome DevTools provide practical tools for performance analysis, debugging, breakpoints, throttling, and layout inspection in everyday web development.

JavaScript: Sharing content with the native share dialog

Native share dialogs on mobile and desktop let users hand off links, text, and titles to installed apps; navigator.share works only on HTTPS pages.

RSpec: Inferring spec type from file location

RSpec Rails can infer spec behavior from file location, removing manual type tags and enabling request helpers like get and post where appropriate.

How to: Self-hosted fonts via NPM packages

Self-hosted webfonts can satisfy GDPR requirements without bundling font files manually. Fontsource NPM packages include weights, glyph sets, and smarter CSS loading.

Git: Removing feature branches on merge

Feature branches accumulate after merges; a post-merge Git hook can prompt for cleanup and remove the merged branch locally and on the remote.

Common mistakes when storing file uploads with Rails

File uploads in Rails are easy to misconfigure, causing lost files, public exposure of confidential data, and environment collisions. Existing uploads also need migration when storage paths change.