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.