Resolving Angular not updating an image src when ng-src is empty

Angular ngSrc leaves src unchanged when the bound value becomes empty; using //:0 forces an invalid blank image source so the browser clears it.

vague puppet error messages with broken yaml files

Broken Hiera YAML can cause Puppet catalog failures with vague parser or nil errors, often after an upgrade or an unquoted facter interpolation.

tel_to Rails helper for linking phone numbers

tel: links let smartphone users call phone numbers from web pages, and a small Rails helper turns human-readable numbers into clean clickable dial links.

BubbletreeJS: A Javascript data visualization library

Interactive visualization of hierarchical data in bubble trees, built on jQuery and RaphaelJS, for exploring spending and other nested datasets.

RaphaelJS: A Javascript vector graphics library

Small JavaScript library for drawing scalable graphics on the web; useful for custom charts and image manipulation widgets.

igor-alexandrov/wiselinks

Opt-in alternative to Turbolinks for partial page updates, AJAX form submission, and redirect handling without full page reloads.

Readme Driven Development

Undocumented software can be as useless as solving the wrong problem; writing the README first aligns the implementation with how people will use it.

Vim: How to write a file you opened without sudo

Permission error in vim can block saving an edited file opened without sudo; :w !sudo tee % or a :w!! shortcut writes it with elevated privileges.

jpmcgrath/shortener

Rails engine gem for creating branded short URLs on your own domain, resolving them for visitors, and collecting basic usage metrics.

Rubymine 7: Howto disable backspace deletes lines instead of whitespaces

Backspace in RubyMine can delete whole lines instead of whitespace when smart indentation is enabled; adjusting the editor's smart key settings restores normal deletion behavior.

Bower complains about missing NodeJS on Ubuntu

bower may fail on Ubuntu when /usr/bin/node is missing; using Ubuntu’s node package can also leave bower unresponsive. A symlink to nodejs fixes the mismatch.

Upgrading a Rails 3.2 application to Ruby 2.1 is really easy

Ruby 1.8.7 to 2.1.2 upgrades are usually straightforward for Rails 3.2 apps, with a few compatibility fixes for load paths, debugging, removed gems, and UTF-8 defaults.

Deutsche Bahn: Show details of past rides

DB BAHN order numbers on credit card statements can be used to look up details of past rides on the Deutsche Bahn ticket portal.

How to (possibly) fix Google Calendar in Thunderbird (Lightning) on Ubuntu

Google Calendar stops syncing in Thunderbird on Ubuntu, leaving calendars inaccessible and password prompts unresolved. Reinstalling the calendar add-ons from Thunderbird can restore access.

PSA: Dont allow private gems to be pushed to rubygems.org

Bundler’s default release task can publish private gems to rubygems.org; allowed_push_host in gem metadata restricts pushes to a trusted host.

MetricsGraphics.js

D3-based charting library for time-series data with responsive, consistent layouts for line charts, scatterplots, histograms, rug plots, and simple linear regression.

Speed up JSON generation with oj

Use oj to generate JSON much faster for large Ruby hashes, but account for symbol handling, Rails compatibility, and HTML escaping to avoid XSS.

Downgrade Bundler in RVM

RVM installs bundler into @global, so one version can affect every gemset and Ruby. Reinstalling a specific version in @global restores a compatible setup.

Bootstrap: How to avoid printing link URLs

Bootstrap print styles append link URLs to anchors by default; overriding a[href]:after prevents printed hrefs on paper.

Angular: Caching API responses in Restangular

Restangular can reuse AngularJS $http response cache for individual requests or globally, but stale data requires explicit invalidation.

Draggabilly

JavaScript library for drag-and-drop interactions with more control than native HTML5 support, plus touch and multi-touch behavior for modern browsers.

Angular: Binding an HTML value

Angular requires trusted HTML for ng-bind-html; a custom $sce filter can sanitize values and replaces the removed ng-bind-html-unsafe directive.

How to install fonts in Ubuntu

Add custom fonts to Ubuntu by placing font files in ~/.fonts and refreshing the font cache, or install them through the font preview window.

New Firefox and gem versions for our Selenium testing environment (Ubuntu 14.04+)

Firefox 5.0.1 no longer runs on Ubuntu 14.04, so Selenium test setups need browser and gem updates to keep Rails 2.3 and Cucumber projects working.