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.
Mock the browser time or time zone in Selenium features
Selenium browser tests see real system time unless the client clock is patched; timemachine.js and Timecop keep browser time aligned, while TZ can align the process time zone.
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.
Temporary solution for connection errors with rubygems
Bundler can fail to fetch gems from rubygems.org when IPv6 connectivity is broken. Lowering IPv6 priority in /etc/gai.conf can let bundle install succeed temporarily.
MySQL: Disable query cache for database profiling
MySQL query caching hides true database timings during profiling; disabling it and Rails per-request caching reveals actual query costs.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.