Restarting all God tasks
Restarting every process watched by God requires a full stop, terminate, and start cycle; god restart only performs a soft restart for one process or group.
Rails: Talking to the database without instantiating ActiveRecord objects
Direct SQL access can avoid the overhead of instantiating ActiveRecord objects, but skips validations, callbacks, and custom accessors.
How to work around selenium chrome missing clicks to elements which are just barely visible
Chrome/Selenium can miss clicks on barely visible elements when the click target is outside the viewport. A scrollIntoViewIfNeeded patch can work around the issue.
HTML: Auto fill-in OTP received in text message (SMS)
Browsers can autofill SMS one-time codes when inputs use autocomplete="one-time-code"; support is good in Chrome 93+ but absent in Firefox.
Upgrade Rails: Awareness list
Awareness list for Rails upgrades with version-specific pitfalls and workflow references, including production logging changes in Rails 7 and 6.
Don't use log level :debug in your production environments
log_level :debug can expose sensitive user data in Rails production logs, especially in SQL queries. Use :info, avoid SQL logging, and ensure filtered attributes are applied.
Advanced plotting in Ruby with Gnuplot
Complex plots in Ruby often need direct access to Gnuplot syntax for histograms, boxplots, and multi-column data. Ruby wrappers differ in how much file handling and array support they hide.
Split your parallel tests by execution time and keep execution logs up to date
Historic timing data keeps test distribution balanced, but stale logs and CI-only updates can skew results and clutter diffs. Automating runtime log generation reduces maintenance.
Lightning Talk: Coverage based Test Case Prioritization in Ruby on Rails
CLI test case prioritization for Ruby on Rails using coverage data can surface failing specs earlier and reduce regression testing time.
What Ruby’s ||= (Double Pipe / Or Equals) Really Does
||= and &&= only assign conditionally; other op= operators always evaluate and assign. Side effects on the left-hand side still occur when reading the variable.
Geordi: How to rerun failed features
Rerun failing Cucumber scenarios automatically or from tmp/parallel_cucumber_failures.log when a test run leaves broken features behind.
Git restore vs. reset for reverting previous revisions
git restore and git reset both revert changes, but one targets files while the other moves HEAD and rewrites commit history.
redirect_to and redirect
Rails URL redirects differ in status code, query-parameter handling, and security implications; choosing 301 or 302 affects browser behavior and search engine indexing.
Do not pass params directly into url_for or URL helpers
Passing untrusted parameters into url_for or _url helpers can create open redirect vulnerabilities and send users to attacker-controlled hosts.
Do not use "permit!" for params
params.permit! marks all request parameters as safe and mutates the original object, risking mass assignment vulnerabilities later in Rails code.
Running external commands with Open3
Reliable process execution in Ruby needs clean output capture, status checks, and safe handling of stdin, environment variables, and long-running commands.
Git: How to rebase your feature branch from one branch to another
Move a feature branch from one base branch to another with git rebase --onto, preserving only the branch’s own commits and avoiding unrelated history.
Touch devices don't have mouseover events
Touch devices do not support hover or mouseover states, so tooltips and controls hidden behind hover can disappear for iPads and smartphones.
Chromedriver issue #4550 breaks the user agent for device emulation via device name
Chromedriver 116 breaks mobile emulation user-agent spoofing for deviceName; navigator.userAgent falls back to HeadlessChrome unless device metrics and userAgent are set manually.
Capybara: How to find the focused element
Focused-element lookup in Capybara can be filtered directly with focused: true; the old :focus pseudo-class no longer works in newer versions.
Web Components Accessibility FAQ
Web components often raise accessibility questions, especially around semantics, keyboard support, and assistive technology behavior.
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.
Minifying object properties in JavaScript files
JavaScript minifiers can shorten private members safely when internal names follow _ or # conventions, reducing bundle size without mangling public APIs.
Debugging SPF records
SPF records can be hard to validate, especially when syntax errors or DNS lookup limits break mail delivery. Online checkers help test coverage and new policies before deployment.