Git: Search for text in all branches

Find versions containing a regular expression anywhere in branch history with git grep and git rev-list --all, optionally narrowed to a file type.

Ruby Jard: Just Another Ruby Debugger

Ruby Jard adds a Terminal UI for debugging Ruby programs, making navigation easier and stopping at relevant points while reducing manual and mental effort.

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.

Carrierwave: How to migrate to another folder structure

Large attachment trees slow directory listings and waste time; CarrierWave can serve old and new paths during a staged move to a hierarchical layout.

How to fix: Rails query logs always show lib/active_record/log_subscriber.rb as source

Rails verbose query logs can point every SQL query to lib/active_record/log_subscriber.rb when backtrace silencers are disabled, making sources unhelpful.

Fixing AfterAll TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'

Jasmine describe() throws AfterAll TypeError: Failed to execute 'appendChild' on 'Node' when an object is passed instead of a string.

Service Worker series by GoMakeThings

Create offline-capable web apps with service workers, including caching, updates, and background control for better resilience and performance.

RubyMine: Restore main menu in Ubuntu

Ubuntu updates can hide RubyMine’s menu bar; disabling linux.native.menu in the RubyMine registry restores the File/Edit/View menus.

Cucumber 4 and VCR integration

VCR integration with Cucumber 4 breaks when use_scenario_name: true is enabled, causing an undefined feature method error in Cucumber::RunningTestCase::TestCase.

apt: how to prevent a package from upgrading

New package versions can introduce regressions; keeping a Debian package back avoids upgrading it during apt upgrade by placing it on hold.

Clean your Rails routes: grouping

Large routes.rb files become hard to manage as Rails apps grow. Splitting routes into small partial files keeps routing organized.

Ruby: Appending lines to a file in sync

File writes can stay invisible until close when buffering is enabled; setting sync = true makes appended log lines available to other processes immediately.

Webpacker: Disable source maps

Disabling source maps in Webpacker can reduce exposed code and simplify builds. Set config.devtool = 'none' in an environment-specific webpack config.

Parallel cucumber: How to pass in cucumber arguments

Pass Cucumber CLI flags such as --tags through parallel_cucumber by wrapping them in --cucumber-options when running test shards.

Useful Ruby Pathname method

Ruby Pathname objects can build file paths with :/ or join, making path concatenation in Rails more concise and readable.

Chrome: how to fix window issues (maximize, minimize,...)

Google Chrome can misbehave with hidden, overlapping, or unresizable windows on Linux. Using the system title bar and borders restores normal window handling.

Vortrag: Content Security Policy: Eine Einführung

Content Security Policy schützt Webseiten vor XSS, indem der Browser erlaubte Quellen für Skripte, Styles, Bilder und Verbindungen streng einschränkt.

How to check if a file is a human readable text file

Ruby's File.binary? is only a fast guess and can misclassify PDFs or UTF-8 text. A safer check validates the file contents against the target encoding.

How to cycle through grep results with vim

Cycle through grep matches in vim’s quickfix mode instead of reading bulky context blocks; jump between hits with :cn and :cp while keeping results tied to file and line numbers.

How to migrate CoffeeScript files from Sprockets to Webpack(er)

Migrating CoffeeScript from Sprockets to Webpacker can keep existing classes and dependencies working by adding coffee-loader and adjusting imports and global namespace exposure.

The State of Ruby 3 Typing | Square Corner Blog

Ruby 3 adds optional type signatures in separate files through RBS, with stdlib signatures and tooling for generating signatures for Ruby code.

Geordi 4 released

Geordi 4.0.0 adds clearer command documentation and fixes console, deploy, rake, and shell for projects not bundled before, but removes deprecated executables.

Introducing GoodJob 1.0, a new Postgres-based, multithreaded, ActiveJob backend for Ruby on Rails

Background job processing for Rails can avoid Redis infrastructure and managed Redis costs while staying compatible with ActiveJob through a Postgres-backed worker gem.

Fixing wall of warnings: already initialized constant Etc::PC_SYMLINK_MAX

Installing the etc gem alongside Ruby's built-in Etc library triggers repeated "already initialized constant` warnings. Removing the gem resolves the conflict.