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.
A collection of SVG Logos for developers
700+ optimized SVG vector logos for developers, with many recreated from raster images and cleaned for lighter, reusable assets.
RSpec & Devise: How to sign in users in request specs
Devise controller helpers do not work in request specs; Warden test helpers provide sign_in and sign_out for authenticating users in integration-style tests.
Geordi: Running Selenium tests in a VNC buffer
Selenium browser windows can run inside a VNC buffer instead of appearing on the desktop, while still allowing inspection when needed.
Asset pipeline: Precompile non-standard manifests
Non-standard asset manifests are not precompiled by default, so custom config.assets.precompile entries are needed for additional CSS and JS bundles.
Beware ruby's var1 = var2 = "value" multiple assignment
Chained assignment can make two Ruby variables reference the same mutable string object, so << changes both names while = creates a new object.
Upgrade from Ruby 1.8.7 to 2.1.5 – an incomplete guide
Upgrade to Ruby 2.1.5+ avoids many 1.8.7 compatibility problems, especially encoding issues and gem replacements during application migration.
You can now override all Spreewald steps with more specific versions
Avoid Cucumber::Ambiguous by defining a more specific step that overrides a generic one in Spreewald 1.5.0+.
Override Cucumber steps without an ambiguity error
cucumber_priority lets specific step definitions override broader matches without Cucumber::Ambiguous; priorities choose among overridable steps, while non-overridable steps still win.
Spreewald: Click on an element with a CSS selector
Clicking elements by raw CSS selector is brittle; selector_for lets feature steps use plain English names like sidebar instead.
start tcpdump log on high traffic
Avoids continuous packet capture by starting tcpdump only when traffic exceeds a threshold, reducing disk usage and log noise on busy interfaces.
Spreewald: Check that a CSS selector is present on the current page
Spreewald 1.3.0 adds assertions for checking whether CSS selectors are present or absent on the current page, with plain-English selector names via selector_for.
Using the Bash in VI mode
set -o vi switches Bash to VI-style command editing, letting you navigate and edit the shell line with familiar keys and search history with /.
Class: RubyVM::InstructionSequence (Ruby 2.0.0)
RubyVM::InstructionSequence exposes Ruby bytecode internals for disassembly and tail-call optimization, useful for low-level VM inspection and performance tuning.
Adjust cron jobs to allow full backtraces for rake tasks
Cron-failed rake tasks often send mail with shortened traces; enabling --backtrace or --trace preserves the full stack trace for debugging.
Git: Issues with Gemfile.lock
A stubborn Gemfile.lock that resists git checkout, git reset --hard, or git stash is often caused by Rails Spring rewriting the file.