RSpec: You can super into parent "let" definitions
let can call super() in nested RSpec contexts to reuse parent test data and override one field, but heavy use can make specs harder to read.
Integrating ESLint
JavaScript linting catches style and quality issues early, with a flat config, RSpec check, and gradual cleanup of existing offenses.
How to add esbuild to the rails asset pipeline
Migrating a Rails app from Sprockets-only asset handling to esbuild adds modern JavaScript bundling and can surface path, font, and Sass compatibility issues.
Understanding Ruby's def keyword
Ruby def defines methods, not true nested functions, so method scope and visibility can be confusing for developers coming from other languages.
Regular Expressions: Excessive backtracking can get yourself in trouble
Catastrophic regex backtracking can exhaust CPU and trigger outages from a single pattern. Lazy quantifiers and performance testing help prevent runaway matching.
Terminator setup for Procfile-based applications for more comfortable debugging
Terminator can split Rails debugging into separate panes, keeping the web server and other Procfile processes visible without mixed log output.
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.
skorks/nesty
Preserve the original failure when re-raising a different Ruby exception so stack traces still point to the root cause; Nesty merges nested errors automatically.
JavaScript Sentry: How to check if errors will be reported
Quickly verify that a JavaScript Sentry setup reports browser errors by triggering a deliberate exception in a click handler.
Trigger a link's click action with Javascript
Programmatically activating a hyperlink can trigger navigation or attached handlers when a user action is unavailable. element.click() performs the same click action on a DOM link.
Browsers will not send a referrer when linking from HTTPS to HTTP
Secure pages linking to insecure destinations suppress the Referer header, making visits appear as direct traffic and breaking source tracking.
CSS Grid Display allows defining number of grid columns based on child width
display: grid can size columns from child width with repeat(auto-fit, 100px) or auto-fill; auto-fit collapses empty columns, auto-fill preserves them.
Selector for finding the currently selected option in a <select> tag
Use option:checked to read the current selection in a <select>; option[selected] only matches the markup, not later user changes.
Jasmine: Spy on value properties
Jasmine spyOnProperty() fails on plain value fields; a helper can convert them into accessors so they can be stubbed or asserted in tests.
Nokogiri: How to parse large XML files with a SAX parser
Large XML imports can exhaust RAM with Nokogiri’s DOM parser; SAX parsing streams data and avoids building the full tree in memory.
New gem: Rack::SteadyETag
Rack::SteadyETag makes HTML caching effective by keeping ETags stable when only CSRF tokens or CSP nonces change.
Spreewald 4.3.3 released
Built-in support for Rails and Bootstrap error classes reduces step overrides, while configurable error classes, XPath selectors, and optional negation improve flexibility.
Semantic HTML
HTML semantics improve readability, accessibility, and parser interpretation by matching elements to meaning, while HTML5 sectioning and text-level elements add structure and built-in behavior.
Elasticsearch: recover from readonly mode
Low disk space can switch Elasticsearch indices into read-only mode, blocking writes even after space is freed. Resetting index.blocks.read_only_allow_delete restores updates and deletes.
Events triggered by jQuery cannot be observed by native event listeners
jQuery trigger() emits events that native addEventListener() handlers cannot observe, which breaks mixed jQuery and non-jQuery code. Native dispatchEvent() works for both worlds.
ImageMagick: Converting SVG to raster image formats like PNG or JPEG
SVG to raster conversion can look blurred when scaled naïvely; using -density instead of -resize preserves quality and can keep transparency in PNG output.
The TCF 2.0 (Tranparency and Consent Framework) standard, and what you should know about it
GDPR-compliant ad consent requires a registered CMP, consent strings, and __tcfapi so vendors can verify user choices before serving personalized ads.
Ad blockers: How to debug blocked elements
Browser ad blockers can hide embedded app content or iframes, leaving empty frames and blocked resources. Dev tools and filter lists help trace matched URLs and adjust them.
vagrant < 2.2.9: handle conflicting host only adapter
Starting an existing vagrant up can fail when VirtualBox host-only networks conflict over DHCP settings. Versions before 2.2.9 need a Vagrantfile workaround.