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.