Make your CI config simpler with ActiveSupport::ContinuousIntegration

Rails 8.1 CI setup can be split into focused commands for tests, linting, and security checks, reducing local overhead while keeping full coverage in continuous integration.

Claude Code: Using the advisor tool

Pairing an advisor model with Claude Code can improve planning, debugging, and routine tasks, with different model combinations balancing speed, cost, and robustness.

Claude: How to set up read-only access for MCP connectors

MCP connectors often expose write and delete tools by default, so Claude agents can gain more access than needed. Permissions can be restricted to read-only in Claude.ai settings.

Rails: Preparing scopes with values for creation

where, default_scope, and create_with control which attributes relations apply to new records and how default query conditions differ from default creation values.

Auto Mode in Claude Code

AI-mediated permission checks in Claude Code reduce confirmation fatigue while blocking risky writes, credential access, and unsafe package installs.

Restricting Claude Code's sandbox configuration

Claude Code sandbox access can reach the whole home directory by default, so restricting filesystem reads and allowing only selected commands and paths improves isolation.

Claude Code Sandbox

Claude Code can run commands in a sandbox that blocks network traffic and limits file access, reducing permission prompts while still requiring careful trust.

Claude Code productivity tips

Keyboard shortcuts, fullscreen TUI, status bar customization, and IDE integration streamline Claude Code workflows and make long prompts, scrolling, and context handling easier.

Tracking External API Performance in Rails Logs

Track time, call counts, and token usage for slow external APIs in Rails logs and Server Timing, making LLM regressions and prompt bloat visible without a debugger.

A restrictive (but still practicable) CSP for Rails projects

A strict Content Security Policy for Rails limits scripts to nonce-approved sources while keeping styles, images, forms, and fonts workable.

Sending newsletters via rapidmail with SMTP and one-click unsubscribe

Newsletter delivery via SMTP with rapidmail, plus Gmail-compatible one-click unsubscribe using signed tokens and List-Unsubscribe headers.

Controlling the order of DOM event listeners

DOM event listeners run in registration order, so forcing a handler to fire first or last can require capture, delegation, or a related event.

Working with lists of DOM elements in JavaScript

DOM query results can be live, array-like lists rather than true arrays, and some APIs include text nodes or comments as children.

Git: Finding changes in ALL commits

Git searches are often limited to the current branch, so changes can be missed across other refs, merges, or reflog entries. git log can search broader history with ref and path filters.

Making minimal updates to DOM trees using morphdom / idiomorph

Replacing DOM fragments with innerHTML wipes state such as form values, scroll position, and custom-element data. morphdom and idiomorph preserve existing nodes by applying minimal changes.

GoodJob: Ensure you get notified about background exceptions

ActiveJob and GoodJob can swallow exceptions, causing silent background job failures. Subscribing to job events and on_thread_error restores exception notifications and adds failure context.

Improve accessibility with [aria-required] in SimpleForm

Screen readers can miss required fields when forms rely only on visual asterisks; aria-required adds an accessible required-state announcement without browser validation.

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.

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.

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.

Better performance insights with gem `rails_performance`

rails_performance adds low-effort performance monitoring for Rails apps, surfacing slow endpoints, request timing, query breakdowns, and custom events with Redis-backed dashboards.

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.

Testing Accessibility using Orca

Linux screen reader testing can be noisy and hard to inspect; capturing Orca speech in real time makes spoken output readable during accessibility checks.

Rails: Configuring the default sorting behaviour

Default ordering in ActiveRecord queries falls back to id unless implicit_order_column is set, which can make first and other finder calls return a different record order.