How to capture a screen-cast on Linux
Tools and settings for making Linux screen recordings with better quality, optional audio, and quick trimming or muting with ffmpeg.
Jasmine: Test that an object is an instance of a given class
Verify that a value was created by a specific constructor in Jasmine with jasmine.any(Klass) instead of direct instance checks.
Understanding SQL compatibility modes in MySQL and MariaDB
SQL mode mismatches can break apps after MySQL or MariaDB upgrades by changing strictness, grouping rules, and allowed values.
How to set up SMTP email delivery with a Gmail account
Rails applications can send mail through Gmail’s SMTP server with smtp_settings; Google app passwords enable delivery when two-factor authentication is enabled.
Effectively Using Materialized Views in Ruby on Rails · pganalyze
Large SQL queries become hard to maintain as joins, subqueries, and filters pile up. PostgreSQL views and materialized views can encapsulate that complexity in Ruby on Rails.
A Migration Path to Bundler 2+
Bundler 2 introduced compatibility issues and confusing behavior, with further changes after release. Upgrading can break dependency management and require a migration path.
Howto: Change the keyboard shortcut for the emoji-picker
Ubuntu's ibus emoji picker can conflict with existing shortcuts such as Ctrl+Shift+E, especially in terminal apps. The binding can be removed in ibus-setup.
jQuery promises: done() and then() are not the same
jQuery done() and then() differ in promise chaining: then() waits for returned promises, while done() ignores them and can resolve too early.
How to run a small web server (one-liner)
Quickly serve a local folder for testing, or boot a Rack app, with one-line commands in Ruby, Python, Passenger, or Puma; HTTPS is possible too.
RSpec: Running examples by name (or running a single shared example)
Shared RSpec examples can be rerun by --example substring match or example ID when rspec file:line cannot target them directly.
Rspec 3: what to do when `describe` is undefined
RSpec 3 can raise undefined method 'describe' for main:Object when DSL methods are not exposed globally; disable_monkey_patching! turns them off, and expose_dsl_globally = true restores them.
Linux Performance Analysis in 60,000 Milliseconds
A Linux server with a performance issue needs fast triage in the first minute. Core commands reveal load, memory, CPU, disk, network, and process bottlenecks.
Understanding grid sizes of (SVG) icons
SVG icons stay crisp only when their viewBox grid matches the rendered size; odd scaling triggers antialiasing, blur, and thicker strokes.
Automated wordbreaks for long words
Long compound words can overflow small screens when CSS wrapping is insufficient. Replacing selected text with soft hyphens enables controlled line breaks in user input.
Geordi 2.7.0 released
Geordi 2.7.0 tightens command behavior: cucumber now fails early on @solo feature failures, and commit warns on empty commits while showing progress.
Resources for working with the Youtube API
Working with the YouTube Data API requires API keys and quota awareness; request costs vary by query type, so testing requests and understanding the domain model helps.
Defining "partials" in pure HTML without additional rendering helpers
Define reusable page fragments directly in HTML without server or client rendering helpers; a tiny JavaScript snippet enables custom elements and partial-like reuse.
Can I Email: Check what styling email clients support
Email client styling support is fragmented, so feature checks help avoid unsupported CSS but cannot replace real-client rendering tests.
Coffeescript: Caveat when cloning objects with fat-arrow methods
Fat-arrow methods in CoffeeScript stay bound to the original instance after cloning, so copied objects can keep using the wrong state. Custom clone() logic with new avoids the issue.
Bundler: How to release a gem with 2FA enabled
Bundler releases can hang or fail when RubyGems two-factor authentication is enabled, especially with older versions and legacy Ruby runtimes.
Minified JavaScript and CSS
Production assets should be minified for faster delivery and smaller payloads. Rails 3.1+ handles this through the asset pipeline; older Rails versions need compressed JavaScript libraries.
Linux, Arial and Helvetica: Different font rendering in Firefox and Chrome
Firefox on Linux may resolve Helvetica to a different installed font than Chrome, causing text to shift and render poorly. Overriding the font alias can make browsers prefer Arial.
Guideline for moving from jQuery to vanilla JavaScript
Practical equivalents for common jQuery patterns in vanilla JavaScript, useful when modern browser support makes dependency-free code feasible.
Ruby: The YAML safe_load method hides some pitfalls
YAML.safe_load can reject symbols and aliases in Ruby, causing Psych::DisallowedClass or Psych::BadAlias unless classes and aliases are explicitly permitted.