puppet: Beware of the Fake False!
Puppet facts are strings, so the value false is still truthy unless converted to a real boolean before an if condition.
AngularJS: Binding to Perl-style getter/setters functions
AngularJS 1.3+ can bind ng-model to accessor functions instead of plain properties, enabling getter/setter style state with ng-model-options.
Testing focus/blur events with Cucumber
Firefox and Selenium can delay real blur events in Cucumber tests, making focus-dependent listeners hard to exercise; ChromeDriver and a custom event workaround avoid the issue.
Magnific Popup: Responsive jQuery Lightbox Plugin
Responsive JavaScript lightbox for single images and galleries, with optional animations and straightforward setup.
pgcli - Postgres command line interface
Command-line tool for Postgres databases with auto-completion and syntax highlighting, making interactive SQL work faster and less error-prone.
jQuery: Get a promise for the end of an animation
animate is chainable, so it does not return a completion handle. promise() provides a way to run code after the animation finishes.
Make jQuery.animate run smoother with almost no code changes
jQuery .animate() can feel choppy because it relies on JavaScript timers, while CSS transitions deliver smoother motion with nearly the same API.
Databound
Provides JavaScript with a simple API for Ruby on Rails model CRUD, useful when direct browser access to create, read, update, and delete operations is needed.
Angular: Binding strength in ngRepeat (aka operator precedence)
ngRepeat with track by can silently prevent filters from running when placed before them; putting track by last preserves ordering.
Researching a new form of HTTP caching optimization - Phusion BlogPhusion Blog
Caching HTTP responses in the server based on an individual cookie can speed delivery, but cache invalidation remains unresolved.
thoughtbot/bourbon
A pure Sass mixin library for writing CSS3 with minimal setup. Vendor prefixes are built in for broad browser support and graceful fallback.
Cucumber: Removing uploaded files after test runs
Uploaded test files can linger after Cucumber feature runs; placing cleanup code in features/support/ removes them automatically.
RSpec matcher "be_sorted"
Custom RSpec matcher for checking whether an array is naturally ordered; now part of Spreewald.
Cucumber step to test whether a select field is sorted
Custom Cucumber step for checking that a dropdown’s options are in order, with a Capybara matcher for natural sorting.
mailru/FileAPI
JavaScript tools for file handling, browser image processing, webcam access, and uploads, with Flash fallbacks when HTML5 support is missing.
danialfarid/angular-file-upload
Lightweight Angular JS file upload directive with old-IE support via FileAPI; Rails asset pipeline auto-loading can fail, so manual inclusion may be needed.
Fixing the warning Time#succ is obsolete; use time + 1
Deprecated Time#succ warnings can flood logs when time ranges are iterated or compared with include?; cover? or SQL BETWEEN avoid the issue.
English words that you cannot use in Coffeescript
CoffeeScript treats on and yes as true, and off and no as false, so variables or functions with those names trigger reserved-word errors.
Show backtrace for all Sidekiq threads
Sidekiq workers can hang at 0% CPU because one thread blocks inside select; sending TTIN to the process prints backtraces for every thread.
problem updating perl package(s) on freebsd `pkg-static: lstat(..../.packlist): No such file or directory
FreeBSD Perl package updates can fail with missing .packlist files after a ports tree bug; cleaning the ports tree fixes the pkg-static lstat error.
Angular: Keeping attributes with invalid values in an ngModel
Angular 1.2 invalid form values can disappear from ngModel, leaving old data unchanged; a directive can keep empty strings, and Angular 1.3 adds allowInvalid.
postgresql: Get all values for an enum
PostgreSQL enum values can be listed as an array with enum_range() and expanded into rows with unnest() for lookups or validation.
Heads up: LibreOffice Calc adds quotation marks when copying data from multi-line cells
Copying multi-line cell content from LibreOffice Calc can add wrapping quotes and double inner quotes, which breaks pasted text like license keys.
$setDirty for Angular 1.2
Angular 1.2 lacks ngModelController.$setDirty; calling model.$setViewValue(model.$viewValue) marks the model dirty without changing its value.