How to Be a Good Open Source Maintainer
Most open source runs on one unpaid maintainer, and the silent close is the default. How to build a project that answers contributors on your worst week.

Most open source runs on one unpaid maintainer, and the silent close is the default. How to build a project that answers contributors on your worst week.

Five git log commands that diagnose a new codebase before you open a single file: code churn hotspots, bus factor, bug clusters, and crisis patterns.

A two-minute interactive audit to score whether technical debt is dragging your engineering team. Five signals that separate people problems from code problems.
To close a tab in vim, use :tabclose

My Rails codebase audit process: stakeholder interviews before code, Gemfile and schema before any tools, and a single-page triage as the deliverable.

To open a new tab in vim, use :tabnew

`default_scope` quietly breaks `Model.all`, corrupts scope chaining, bleeds into associations, and can leak data in multi-tenant apps. Here's why it's dangerous and what to use instead.

Ruby 2.7 deprecated the use of hashes in the last argument of a method call. Fix this warning by removing the curly braces or adding a hash splat (**) to a variable argument.

In vim, you can open the current file in a new tab by utilizing :tabnew %.

When querying ActiveRecord for greater than and less than, most people turn to including raw SQL in their codebase... But raw SQL isn't required!
