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.