Angular 1: Analyze how many watchers are registered on the page

Track the number of Angular 1.x watchers on a page while developing to spot performance issues early. Runs as a bookmarklet and logs the count to the browser console.

RubyMine: How to add a german spell checker

RubyMine 2024.3 includes Grazie Lite by default; German spell checking can be enabled in Natural Languages or added with Hunspell and a German dictionary.

How to: Run geordi in a single proccess with parallel test setup

Parallel test runs in Geordi can break terminal I/O during debugging; forcing one process or using vanilla cucumber avoids breakpoint issues.

Accessing Rails config in webpack(er)

Rails secrets and other configuration values can be read inside webpack bundles with rails-erb-loader, enabling environment-specific client-side settings without hardcoding them.

AngularJS 1 Performance: One-time bindings in expressions

One-time bindings with :: remove resolved AngularJS watchers and reduce digest overhead when values stay unchanged after rendering.

Git: Ignore whitespace when merging or cherry-picking

Indentation-only changes can cause noisy conflicts during merges or cherry-picks; -Xignore-space-change lets Git disregard whitespace differences.

all_blank_except for accepts_nested_attributes_for

Ignore selected hidden fields when rejecting nested records with accepts_nested_attributes_for, so blank child records are not discarded unexpectedly.

Minify Font Awesome fonts with webpack

Reduce Font Awesome icon font size by subsetting unused glyphs with fontmin-webpack, keeping low CPU usage and no JavaScript while avoiding oversized font downloads.

How to: Use different configurations for S3cmd

Managing multiple S3cmd configurations reduces the risk of sending uploads and deletions to the wrong Amazon S3 bucket. Use separate config files or a symlink to switch between environments.

Rbenv: How to remove a gem installed from a Github source

GitHub-sourced gems installed through Bundler can evade gem list and gem uninstall, leaving manual cleanup under ~/.rbenv as the only removal path.

RSpec: How to check if a string contains terms in a desired order

No built-in RSpec matcher checks whether a string contains terms in a specific order; a multiline regular expression is a common workaround, but readability and failures suffer.

An incomplete guide to migrate a Rails application from paperclip to carrierwave

Rails file storage migration with background jobs, reruns, and URL rewrites; large media backfills need careful testing, queue tuning, and fallback handling.

Colcade is a lightweight Masonry alternative

Lightweight grid layouting for mixed-size items with smaller footprint and no dependencies; performance is better than Masonry, but column spanning and built-in transitions are missing.

How to keep using secrets.yml after upgrading to Rails 7.2

Rails 7.2 removes Rails.application.secrets; existing apps can keep secrets.yml by mapping it back with config_for and restoring secret_key_base.

Pivotal Tracker now supports story description templates

Pivotal Tracker story descriptions can now use pasted templates, with custom templates created under More > Templates; the three default templates remain fixed.

Faking Flexbox with legacy techniques

Internet Explorer lacks reliable Flexbox support, so similar layout effects often need older CSS techniques instead of modern flexbox syntax.

The Definitive Guide to Cookie Domains

Cookie domain restrictions limit which hosts receive session cookies and other secrets, reducing leakage across subdomains and making host naming choices security-relevant.

Minimal JavaScript function to detect version of Internet Explorer or Edge

User-agent sniffing can still be necessary when Microsoft browsers need special handling. ieVersion() extracts Internet Explorer 10/11 and Edge version numbers, returning undefined for others.

SSH: X-Forwarding

Remote graphical programs can run on your local desktop through SSH, but X11 forwarding is slower and exposes your X session to a trusted host.

How to fix: Corrupt special characters in ZIPs on Linux

ZIP files from Windows users can corrupt umlauts and other non-Latin1 filenames on Linux because of CP850 encoding. unzip -O CP850 handles these archives correctly.

Chrome bug: Wrong stacking order when transitioning composited elements

Chrome can render composited slider elements in the wrong stacking order during CSS transitions, causing overlapping content to appear above neighboring elements until motion ends.

Haml: Generating a unique selector for an element

Haml can derive stable CSS classes and IDs from Ruby objects, making elements easy to target from JavaScript or Unpoly updates.

Haml: Prefixing a group of attributes

Prefix several HTML attributes at once in Haml by nesting them in a hash with {} syntax; () attribute syntax does not support grouped prefixes.

3 ways to run Spring (the Rails app preloader) and how to disable it

Rails commands can start Spring unexpectedly, and DISABLE_SPRING disables it only for non-explicit invocations. Different launch paths affect console and rake behavior.