iOS Safari scales text in landscape mode
iOS Safari can enlarge text in landscape mode and disrupt precise CSS layouts. -webkit-text-size-adjust: 100% disables the font scaling.
Vim read-only option
Open vim in read-only mode to avoid accidental edits and mistaken writes when viewing files, especially among similar filenames.
Beware: Nested Spreewald patiently blocks are not patient
Nested patiently blocks in Spreewald can disable retries by setting inner wait times to zero, causing flaky Cucumber/Selenium steps.
Generating barcodes with the Barby gem
Generate barcodes and QR codes in Ruby with Barby, including PNG, data URLs, and crisp SVG output for printing and scaling.
Auto-squashing Git Commits
Automating rebasing workflows reduces manual history editing when a fix must be folded into an earlier commit already in history.
When does support end for a version of Internet Explorer?
Internet Explorer support depends on the Windows version, and older IE releases stop receiving security fixes once a newer supported version is available.
Rails: Default generators
Default Rails generators create different combinations of models, controllers, migrations, routes, views, and tests, helping choose the right generator from the command line.
JavaScript Coordinates
Positioning elements in JavaScript depends on window-relative and document-relative coordinates; mixing them causes misplaced layouts and incorrect measurements.
SASS: Defining linear sizes
SASS mixin for fluid calc() sizing between two breakpoints, letting padding, margin, or height scale proportionally instead of stepping.
How to show an ordered crontab
Unordered crontabs are hard to scan; sorting scheduled rows by time makes recurring jobs easier to read, including @reboot entries.
ActiveRuby
Commercial Ruby distributions for enterprises and smaller teams add secure builds, technical support, updates, and IP indemnification for business applications.
The pitfalls of postMessage
postMessage enables cross-origin data exchange, but careless use can create client-side security vulnerabilities and make origin handling error-prone.
VCR: Inspecting a request
VCR can stub remote API calls in tests while still letting you inspect what was sent, including request payloads, through WebMock.
Open dialogs from shell scripts
dialog lets shell scripts open text-based popups for prompts, choices, file selection, progress, and calendars without leaving the terminal.
Thinkpad: Disable Bluetooth on start-up
Bluetooth starts enabled on some ThinkPads and can be turned off automatically during boot with a simple rc.local command.
CSS tests and experiments
Tests and experiments around CSS features, possibilities, and browser bugs across more than 200 cases.
Ruby and Rails deprecation warnings and how to fix them
Ruby and Rails deprecations can hide runtime problems and break future upgrades. Typical fixes involve updating gems, replacing obsolete API calls, or adding compatibility shims.
Getting error Bundler::Plugin::API::Source
Bundler raises Bundler::Plugin::API::Source NameError on older RubyGems versions; upgrading RubyGems beyond 2.6.9 resolves the failure.
Properly require your "spec_helper"
Different require paths for spec_helper can execute the same file multiple times in Ruby 1.8; using one consistent require 'spec_helper' avoids duplicate loading.
Some useful vim settings
Practical Vim configuration for safer editing, cleaner indentation, better search behavior, and persistent undo, using settings that reduce friction in daily use.
RubyMine: Better soft wraps
Long code lines are hard to read in narrow editor panes; RubyMine soft wraps improve visibility without changing files and can preserve original indentation.
JavaScript Start-up Performance
JavaScript parse and execution can delay app interactivity long after download, making heavy startup code a common cause of slow page load.
How to get the currently selected text in Javascript
Retrieve the user’s highlighted text in the browser with window.getSelection(). Browser support starts at IE9+, Android 4.3+, and Safari 5+.