HTTP/2 push is tougher than I thought - JakeArchibald.com

Browser HTTP/2 push support is inconsistent and can hurt performance instead of improving it, despite a useful model for integrating push with browser APIs.

RSpec: Stubbing a method that takes a block

RSpec stubs for methods that yield blocks need and_yield instead of and_return; multiple yields can be chained, and return values can be combined.

Middleman: Use pretty URLs without doubling requests

Middleman pretty URLs can trigger an extra redirect and second page request; Apache can serve /foo/index.html directly while canonicalizing /foo/.

Middleman configuration for Rails Developers

Rails-friendly Middleman setup for live reload, asset pipeline, i18n, environment-specific config, browser testing, and Capistrano deployment.

Capistrano 3: How to deploy when a firewall blocks your git repo

Firewall or proxy settings can block Capistrano from reaching a Git repository and stop deployments. Using an HTTP proxy or an SSH tunnel restores repository access.

Quickly printing data in columns on your Ruby console

Print Ruby objects in aligned columns in the console for quick record comparison and attribute inspection.

Git: undo delete

Restore a deleted or removed file in Git and undo a staged deletion without committing, using the index and git checkout -- correctly.

Howto: Require a gem that is not in Gemfile

LoadError occurs when a Ruby gem is required outside Gemfile or .gemspec; adding its install path to $: allows temporary loading for debugging.

Rubymine provides a visual merge conflict resolution tool

Resolve Git merge conflicts locally in RubyMine with a visual three-pane tool for comparing versions and choosing changes.

How to use your iPhone's internet connection on your Ubuntu machine via USB

Use an iPhone’s cellular data connection on Ubuntu over USB by installing iPhone tethering packages and enabling Personal Hotspot.

Solved: Element inside overflow:scroll container cannot be scrolled on iOS when dragged by a contained iframe

iOS blocks dragging an iframe inside a scrollable container from moving the parent scroll area. -webkit-overflow-scrolling: touch restores touch scrolling and momentum.

Rendering 404s for missing images via Rails routes

Missing image requests in development can hit Rails controllers and slow pages with many broken references. A route can return an instant empty 404 for absent JPG, PNG, and GIF files.

How to disable Chrome's save password bubble for Selenium tests

Chrome’s password-save bubble can clutter Selenium debugging when forms trigger credential prompts. Disabling the password manager via profile prefs or using Incognito suppresses it.

image-to-DataURI converter: Duri.me

Convert PNG, JPEG or GIF files into base64 data URIs for use in HTML, CSS, or as plain text.

How to make http/https requests yourself with nc/telnet/openssl

Send raw HTTP or HTTPS requests from the command line when curl is unavailable or unsuitable, using nc, telnet, or openssl s_client.

Sending errors to sentry from development

Enable Sentry reporting in development to verify setup changes, using Raven and temporary test messages while avoiding committed debugging noise.

How to view Image Metadata on the Linux Command Line with ImageMagick

identify -verbose prints detailed image metadata from the Linux command line, useful for inspecting EXIF data and diagnosing corrupted tags.

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.