Bundler: Packaging gems into the git repository (offline installation)
Offline gem installation with Bundler requires checking dependencies into the repository and configuring local paths for bundle install without rubygems.org access.
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.
Chromedriver: Connect local chromedriver with docker
Remote Chrome debugging in Docker is awkward when integration tests need a browser you can inspect. SSH port forwarding can expose a local chromedriver inside the test container.
Deal with certain travis CI failures
Travis CI builds can break after Ubuntu image changes, causing PostgreSQL, MySQL, and Rails test failures. Pinning dist: trusty keeps the older environment until the setup is updated.
Resque: Clearance authentication for dashboard
Resque dashboard access can bypass ApplicationController filters in Rails 3, so a Rack middleware can protect it with Clearance and a remember token.
Rails: Concurrent requests in development and tests
Puma concurrency in Rails depends on workers and threads; self-calls during a request can deadlock in development or tests unless multiple workers are enabled.
Better HTML forms: use type, inputmode, enterkeyhint and autocomplete
HTML form usability improves with type, inputmode, enterkeyhint, and autocomplete, giving better mobile keyboards, clearer enter actions, and smarter browser autofill.
A saner alternative to SimpleForm's :grouped_select input type
SimpleForm's :grouped_select can be awkward when you already have a flat collection and need grouped options. A group_by extension makes optgroup labels easier to derive.
Openstack: nova resize
Changing an OpenStack VM’s RAM, disk, or vCPU count requires nova resize and a matching flavor; the resize causes downtime and can take a long time.
Show details of TLS/SSL connections of remote hosts
sslscan reports TLS/SSL cipher support and certificate details for remote hosts, helping identify weak protocols, preferred ciphers, and certificate validity.
Carrierwave: Using a nested directory structure for file system performance
Large CarrierWave stores can overload a single directory with too many entries, slowing navigation and filesystem operations. Splitting record IDs into nested folders keeps directories manageable.
Workflow: How to use a key management service to encrypt passwords in the database
Protect stored login secrets with KMS-backed encryption so a stolen database does not reveal password hashes; key rotation and audit logs add control.
Dynamically uploading files to Rails with jQuery File Upload
Immediate multi-file image uploads in Rails with progress bars, previews, and cached attachments support a single gallery form and responsive UI.
Test downstream bandwidth of Internet connection
Check whether an internet uplink can sustain 1GE or 10GE throughput by pushing traffic internally or from many public mirrors.
MySql lost connection trouble
MySQL connection drops can stem from network issues, long queries, slow initial handshakes, or packets that exceed max_allowed_packet.
Getting started with Puppet
Puppet helps learn and manage configuration automation through a virtual machine and basic setup on Ubuntu or Mac OS X.
Script to open an SSH shell to a Capistrano deployment target
Need an SSH shell on a Capistrano target without guessing deploy user or directory; shell-for parses config/deploy and can run remote commands before opening bash.
Custom error pages in Rails
Custom Rails error pages can be rendered through controllers instead of static public files, allowing layouts, helpers, and tests for 404 and 500 responses.
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.
Capistrano: Finding out who deployed which revision of your application and when
Capistrano records successful deployments with branch, commit, release ID, and user, letting teams trace who shipped which revision and when.
no passenger served applications running error when deploying via capistrano
Capistrano deployments can abort when Passenger reports no running app process, even though the app will start on first request.
Nokogiri: How to parse large XML files with a SAX parser
Large XML imports can exhaust RAM with Nokogiri’s DOM parser; SAX parsing streams data and avoids building the full tree in memory.
Geordi 6.0.0 released
Geordi 6.0.0 keeps geordi commit running when some projects are inaccessible and drops VNC browser support and @solo serial execution.
Freeze (vendor, unpack) a single Ruby gem with and without Bundler
Vendoring a patched Ruby gem in Rails can fail without gem metadata, especially with Bundler. A proper .specification file and :path setup make the local copy usable.