TodoMVC - A common learning application for popular JavaScript MV* frameworks
Choosing a JavaScript MV* framework is difficult when options look similar; TodoMVC provides the same Todo app across popular frameworks for side-by-side comparison.
Creating the inverse of a Rails migration
Reverting an old Rails change can reuse the original migration’s up and down logic instead of copying SQL, but only for simple cases.
RubyMine: Find and execute a menu action by its name
Ctrl+Shift+A opens RubyMine’s Find Action box to run menu commands by name when the shortcut or menu location is unknown.
RubyMine: Exclude data and log directories from a project
Exclude log, data, and other irrelevant directories in RubyMine to speed up searches and reduce noisy results without deleting files.
Git: Diff changes in a long line efficiently
git diff --word-diff highlights inline changes within long lines, and disabling the pager can keep the output directly in the terminal.
WebMock 1.8.0 does not play nice with Curb < 0.7.16
Updating WebMock to 1.8.0 can let unstubbed specs send real HTTP requests when Curb is older than 0.7.16.
TeamViewer 7 finally works with multiple screens under Linux
TeamViewer 6 and earlier treated multi-monitor Linux desktops as one large display. Version 7 adds proper screen selection for remote sessions.
will_paginate on complex scopes may be slow (workaround)
Complex will_paginate scopes can trigger a slow total-count query, especially with many includes, delaying search results pages.
Sunspot and Solr on Tomcat: Trouble with Umlauts
Umlauts in Sunspot and Solr can fail on Tomcat even when local Jetty-based searches work; a UTF-8 bug in RSolr caused empty results until version 1.0.6.
Issues with has_select?
has_select? can fail with Cucumber, Capybara, and Selenium when the selected option has no value, so driver-specific handling may be needed.
Convert Virtualbox .ova Image to .ovf
.ova packages are tar archives containing an .ovf descriptor, so extracting them yields the virtual machine definition and related files.
Nicer alternatives to def_delegator or def_delegators
def_delegator and def_delegators are hard to read; delegate or a small wrapper method makes Rails delegation clearer.
Moment.js - A lightweight javascript date library
A lightweight JavaScript date library for parsing, manipulating, and formatting dates.
Run your own code before specific RSpec examples
Run custom setup code before selected RSpec examples using metadata tags instead of Cucumber scenarios.
Fix YAML::Syck::DefaultKey:0x1083b59f8
Invalid gemspecs and ill-formed requirements often come from the Syck-to-Psych transition; replacing Syck::DefaultKey entries with = in affected gemspec files resolves the error.
CSS: Change text selection color
Selection highlight color can be customized with CSS using ::selection and ::-moz-selection; Firefox needs the vendor-specific pseudo-element.
RestClient sends XML Accept header by default
REST Client adds application/xml to simple GET requests, which can trigger unexpected server responses. :accept => :html requests the default text/html content type instead.
Letter Opener
Preview email in the browser instead of sending it, making message review and debugging easier during development.
Auto-generate Cucumber navigation paths
Cucumber step definitions can map natural-language destinations to Rails route helpers, including list, new, edit, and record lookup paths.
High-level Javascript frameworks: Backbone vs. Ember vs. Knockout
High-level MV* JavaScript frameworks reduce DOM boilerplate with client-side rendering, routing, and data binding, but choosing between Backbone, Ember, and Knockout depends on style and needs.
Ruby: Indent a string
Adds String#indent for padding each line, including blank lines, without introducing trailing whitespace and with optional custom indentation characters.
New cards feature: Cite other cards
Link related cards directly from the editor by searching for a card and inserting a Markdown link into the text area.
New cards feature: Github-style code blocks
Add code blocks without indentation using triple backticks, matching GitHub-style fenced code blocks for easier formatting in plain text and Markdown.
Make Capistrano use SSH Key Forwarding
Capistrano can check out code on the target server using SSH agent forwarding instead of a separate repository key. ssh_options[:forward_agent] = true enables this, but it should be used with caution.