Rubymine: do not open last project

RubyMine can waste startup time by reopening the last project automatically, especially when switching between projects. Disabling that startup behavior and using the project chooser improves project switching.

Rails asset pipeline: Using ESNext without a transpiler

Modern browsers run most ES6 features natively, but Rails asset pipelines can still fail when Uglifier cannot minify newer syntax.

Ruby: Do not mix optional and keyword arguments

Mixing optional positional and keyword arguments in Ruby methods can turn hashes or to_hash objects into unexpected keywords and raise ArgumentError.

Caution: `.includes` can make `.ids` non-unique.

includes can duplicate primary keys in ids when loading associated records, causing unexpected non-unique results; preload keeps the ids list stable.

Organizing custom Date(Time) formats

Large Rails projects often duplicate date and datetime format strings, causing inconsistent output; named formats in Time::DATE_FORMATS and Date::DATE_FORMATS reduce repetition.

Sass: How to get rid of deprecation warnings in dependencies

Sass 1.35.0 can suppress dependency deprecation warnings with quietDeps and limit warnings in your own code with silenceDeprecations.

Using CSS transitions

Browser-native animations smooth UI state changes without JavaScript, with short durations and careful easing to avoid sluggish hover effects.

Everything you ever wanted to know about constant lookup in Ruby

Constant resolution in Ruby can be surprising when names are missing or resolved in an unexpected scope. Understanding lookup rules helps diagnose NameError and visibility issues.

What Sass means by "@function rules may not contain style rules."

Sass functions must return values; a computed line left unassigned or unreturned triggers @function rules may not contain style rules because Sass does not mutate objects.

Chrome DevTools: Event Listener Breakpoints

Chrome DevTools can pause code when browser events fire, making it easier to trace where clicks and other handlers are processed.

Chrome DevTools: DOM Breakpoints - Breakpoints on HTML Elements

DOM breakpoints in Chrome DevTools or Firefox Inspector help trace JavaScript that changes an element’s subtree, attributes, or removes it.

Stop writing "require 'spec_helper'" in every spec

Configure .rspec to load spec_helper or rails_helper automatically, avoiding repeated require lines in every spec and making parallel test setups work with .rspec_parallel.

Capybara: evaluate_script might freeze your browser

evaluate_script can freeze a browser window for about 10 seconds when it returns complex JavaScript objects; execute_script avoids the costly result conversion.

GitLab: Git alias for creating a merge request on push

A Git alias can push a branch to GitLab and create a draft merge request automatically, with an optional target branch override.

Chrome DevTools: Quick Bite - Store Element in Global Variable

Chrome DevTools can store a selected DOM element as a global variable for quick inspection and reuse in the console.

ActiveType::Object: Be careful when overriding the initialize method

Overriding initialize in ActiveType::Object can break ActiveRecord-style setup, freeze instances, or cause argument errors unless super is called with one attribute hash.

Temporary solution for connection errors with rubygems

Bundler can fail to fetch gems from rubygems.org when IPv6 connectivity is broken. Lowering IPv6 priority in /etc/gai.conf can let bundle install succeed temporarily.

Debug flaky tests with an Unpoly observeDelay

Flaky integration tests can outrun watchInputDelay, causing Unpoly field updates to overwrite typed input before requests start. Lowering the delay or signaling CapybaraLockstep reduces failures.

Rails: Validations of Dates, Numerics and Strings with ComparisonValidator

Rails 7+ validates dates, numbers and strings with ComparisonValidator for greater-than and less-than checks, replacing custom comparison code.

How to emulate simple classes with plain JavaScript

Class-like objects with private state and public methods in plain JavaScript can run in any browser without this, prototypes, CoffeeScript, or Babel.

Whitelist Carrierwave attributes correctly

Strong Parameters for CarrierWave uploads need more than the file field; cache and removal flags keep images across validation errors and enable deletion.

Git: Switch

Safer branch navigation in Git benefits from git switch, a clearer alternative to git checkout for changing, creating, and detaching branches.

Exploring the disk usage with ncdu

Finds large files and directories consuming disk space on servers or minimal systems with a text-based interface.

You can implement basic object-fit behavior with background images

Need object-fit behavior with Internet Explorer support: background-size: contain or cover can mimic image fitting and cropping in IE9+.