CSS: Giving text lines a background-color (with configurable line padding and margin)
Multi-line text can have a solid background with adjustable padding and spacing by combining box-shadow, line-height, and box-decoration-break on a wrapped span.
Jasmine: Expecting objects as method invocation arguments
Jasmine spy assertions can match invocation arguments by type, partial object shape, or any value using jasmine.any(), jasmine.objectContaining(), and jasmine.anything().
How to fix HTML elements being cut off when printing
Printed pages can cut off content when CSS layout rules conflict with pagination, especially inline-block, hidden overflow, or fixed positioning.
Jasmine: Mocking API requests in an Angular service spec
Angular service specs can hit real routes unless uiRouter startup is disabled; ngMock and $httpBackend let API requests be intercepted and asserted in Jasmine.
Limitations you should be aware of when Internet Explorer 9 parses CSS files
Internet Explorer 9 can fail on large stylesheets because of hard parser limits: file count, selector count, and nested @import depth.
HTTPie nice command line HTTP client
http is a simple command-line client for debugging and testing HTTP servers, REST APIs, and web services with readable defaults and colored output.
xlsxtream: Streaming & Fast XLSX Spreadsheet Writer for Ruby
Ruby XLSX writer for huge spreadsheets with low memory use and high speed; streams rows directly to disk or an IO stream and handles shared strings.
PostgreSQL's OVERLAPS operator is not fully inclusive
PostgreSQL OVERLAPS treats date ranges as start <= time < end, so boundary dates are excluded and adjacent ranges do not match.
Inspecting Angular 1.x UI Router
Angular 1.x UI Router debugging in complex apps centers on inspecting $state, the current state, and its parameters from the browser console.
Heads up: Angular may break links to the current URL (e.g. when using ngInclude)
Angular's $location service can intercept clicks to the current URL and break same-page links, especially when components like ngInclude activate location handling.
Git: creating and deleting a tag
Git tag objects come in annotated and lightweight forms; annotated tags store metadata and can be signed, while tags must be pushed and deleted separately.
Turning off VCR when stubbing with Webmock
VCR can block WebMock stubs because it hooks into WebMock and rejects unknown requests. Temporarily disabling VCR in rspec lets WebMock behave normally.
Rails + Sidekiq::Web: Configuration for wildcard session cookies
Sidekiq::Web can create duplicate session cookies when Rails uses a wildcard cookie domain, breaking logout and other session-dependent actions.
Webservice to test and inspect requests
Temporary request URLs make it easy to inspect HTTP callbacks and webhooks; incoming traffic is recorded and displayed for debugging.
Fix for: "can't convert nil to String" when running "gem update --system"
Updating RubyGems can fail with TypeError: can't convert nil into String after certain previous updates. Removing rubygems-update first restores gem update --system.
How to install packages from newer Ubuntu releases
Install newer Ubuntu release packages on an LTS system when new hardware or software needs them, while minimizing dependency conflicts and upgrade risk.
Selenium: How to close another tab (popup)
Closing a Selenium pop-up requires switching to its window handle and then pointing the driver back to another tab to avoid broken subsequent steps.
Ruby: How to make an object that works with multiple assignment
Ruby multiple assignment can pull values from a single object by calling to_a; defining to_a lets custom classes support destructuring into several variables.
Fix Slack call overlay on Awesome WM
Slack call overlay windows can hijack large parts of the screen in Awesome WM. A floating, always-on-top rule keeps the call panel out of the way.
Spreewald: Content-Disposition not set when testing a download's filename
Public file downloads may miss Content-Disposition, so filename checks fail in Spreewald. Matching only Content-Type or testing the downloaded file avoids flaky download assertions.
Capybara steps to match stuff within any selector
Capybara within scopes only the first matching element, so tests that need all matches use “inside any” Cucumber steps instead.
How to fix broken font collisions in wkhtmltopdf
PDFKit and wkhtmltopdf can ignore CSS font names when font metadata collides, causing one face to dominate or local files to fail. Fixing internal font names or embedding fonts restores proper rendering.
How to add a custom dictionary to Ruby Mine
RubyMine can use a custom spell-check dictionary for project-specific terms and nonstandard words. A UTF-16 dictionary must be converted to UTF-8 and added in Settings.
How to move all files in a folder to a new subfolder
Move every file in a directory into a newly created subfolder with mv, avoiding the destination folder itself with a shell glob pattern.