NoMethodError: undefined method `cache' for Gem:Module

Rails 2.3 tests can fail with NoMethodError: undefined method 'cache' for Gem:Module when used with newer RubyGems; downgrading RubyGems restores generator lookup behavior.

Geordi 1.3 released

Geordi 1.3 adds Cucumber support with @solo handling, Capistrano 2/3 deployment fixes, and updated Firefox setup for selenium testing.

ActiveRecord meets database views with scenic

Use SQL views in a Rails app without switching the schema format to SQL; Scenic adds versioned, reversible migrations and keeps view definitions in SQL files.

Marvel | Elastic

Dashboard and query tools for Elasticsearch provide local access to Kibana and Sense through Marvel plugins.

bash: print columns / a table

column aligns delimited text into readable tables in bash, making pipe-separated output and other simple listings easy to format.

yujinakayama/transpec: The RSpec syntax converter

Script to migrate test suites from RSpec 2 to RSpec 3, including syntax beyond should and expect.

find out which processes using swap

Identify processes with pages in swap and rank them by VmSwap; swap usage reflects page activity, not total memory pressure.

PostgreSQL: Show size of all databases

List PostgreSQL database sizes in megabytes with pg_database_size, useful for spotting large databases and planning storage.

How to render an html_safe string escaped

Rails treats html_safe strings as already escaped, which can block escaping when safe HTML must be passed through JSON or shown as text. Converting to a plain String restores escaping.

Top 10 Email Developments of 2015

HTML email layout remains fragile, and several 2015 email changes made rendering problems worse rather than better.

rack-mini-profiler - the Secret Weapon of Ruby and Rails Speed

rack-mini-profiler helps spot slow Rack and Rails requests by measuring SQL queries, memory allocation, and CPU time.

Puppet: Delete certificate request

Remove a Puppet certificate request from the certificate authority on the puppetmaster when a node needs to be re-enrolled or cleaned up.

AllThingsSmitty/css-protips

Handy CSS tricks solve common layout and styling problems with concise expressions and modern browser features.

Use jQuery's selector engine on vanilla DOM nodes

Use Sizzle via $.find to select descendants from plain DOM nodes when jQuery collections are unavailable, too slow, or awkward for whole-document work.

WTF Opera Mini?!

Opera Mini leaves many modern front-end features unusable on mobile, especially in markets where it dominates. Practical workarounds help keep sites functional.

Geordi 1.2 released

Geordi 1.2 adds more flexible deploys, better Cucumber reruns and debugging, and reorganized Firefox and VNC command handling.

MySQL/MariaDB: Hide all sleeping processes in processlist

Many MySQL or MariaDB connections can make SHOW PROCESSLIST hard to scan; sleeping sessions can be hidden with a pager filter or by querying metadata directly.

Unindent HEREDOCs in Ruby 2.3

Ruby 2.3 adds <<~ to strip leading indentation from HEREDOCs, making multiline strings easier to read without changing their output.

Git: Keep your repository tidy

Feature branches accumulate after merges and stale local references remain after remote deletions; git branch --merged, git branch -d, and git fetch --prune keep repositories clean.

How to open a new tab with Selenium

Browser popup blocking prevents window.open from Selenium; injecting a clickable temporary link opens a new tab reliably in Chrome.

We have an Angular 1 styleguide for CoffeeScript

A beta style guide sets conventions for new AngularJS code written in CoffeeScript, with the overall structure intended to stay stable.

CSS: Select elements that contain another selector

:has enables parent-style selection in CSS, matching elements that contain a given descendant. jQuery already supports the selector as a custom extension.

How to encode or decode quoted-printable strings

Quoted-printable mail encoding turns characters like = into escape sequences and may wrap long lines. Ruby can decode and encode it with unpack('M') and pack('M').

Stop using bundle exec

Running Ruby commands without bundle exec becomes simpler by installing a gem that makes b and direct execution work smoothly.