Skip to content

DispatchesΒΆ

DCO vs CLA: Managing Contribution Agreements in Open Source

When you accept code contributions to an open-source project, you're entering a legal relationship with every contributor. Who owns the code? Do you have the right to relicense it? What happens if a contributor later claims you don't have permission to use their work? Two mechanisms exist to answer those questions before they become problems: the Contributor License Agreement (CLA) and the Developer Certificate of Origin (DCO).

This post covers both: what they are, how they work, the tradeoffs involved, and the tooling available to automate enforcement on GitHub.

Why I Use JetBrains GoLand and PyCharm Over VS Code

VS Code is a good editor. It's fast, extensible, and free, and it has become the default tool for a huge share of the developer community. I use it myself for PowerShell, general Markdown, and lightweight editing. But when I sit down to write Go or Python, GoLand and PyCharm are where I do my best work.

This isn't a knock on VS Code. It's why, for language-specific work, purpose-built IDEs make me faster and more careful.

Light and Dark Mode Images in GitHub Markdown

GitHub renders Markdown with either a light or dark theme depending on the user's system or GitHub appearance settings. A logo or diagram that looks sharp on a white background can disappear entirely when the same user switches to dark mode. GitHub provides two ways to serve the correct image for each theme without JavaScript.

If you're using MkDocs Material, the same problem has a pure-Markdown solution covered in a companion post: Light and Dark Mode Images in MkDocs Material.

T.J. Came Running

Trigger Warning

This piece contains the death of a pet, childhood trauma, grief, and emotional neglect. Please read with care.

I was 13 the day I learned that love and safety were different things.

For years afterward, I remembered it as sounds. Not the worst sound, not even the one that should have mattered most, but the smaller ones that came before it, ordinary details preserved in perfect condition.

The bus brakes hissing on the county road.

The car engine idling with that low, stubborn tremor old engines have.

Gravel and clay ticking under the tires.

It was an afternoon like a hundred others, so ordinary it seemed beneath notice. Which is often how disaster arrives: without warning, dressed as routine.

How to Write an Effective GitHub Pull Request Template

Most pull requests arrive with a title, a branch name, and nothing else. The reviewer is left to reverse-engineer the intent from the diff, hunt through linked issues that may or may not exist, and ask follow-up questions before they can even start. That back-and-forth is a tax on everyone's time, and it's almost entirely avoidable.

A pull request template asks for that context up front, at the moment someone opens the pull request: what changed, why it changed, whether it breaks anything, and what issue it resolves. Done well, a template makes the review faster, the history more useful, and the project easier to contribute to.

This post covers what a pull request template is, how to set one up in a GitHub repository, and how to write one that contributors will actually fill out.

Branching Out: GitHub Certification Path

GitHub Certifications Overview

GitHub offers five certifications that cover the platform end to end: Foundations, Actions, Copilot, Advanced Security, and Administration. I completed each of these last year, and every one of them made me go back to parts of the platform I thought I already knew.

This post walks through each certification, what it covers, how to prepare, and where to find the best study resources.

Pinned Comments on GitHub Issues

GitHub shipped a small feature for issue tracking in February 2026: the ability to pin a comment to the top of any issue. It addresses a problem that every active open source project runs into sooner or later: issue threads get noisiest right when they matter most.