Picture of stars in the sky with a slightly blue tint to it

OSPO Notes: How to find your community

Most OSPO leaders think their committers are their community — they’re not. Start with git shortlog -sne to identify contributors, then layer in GitHub Insights and LFX Insights for richer data. For the full picture, spin up GrimoireLab to pull from Slack, Discourse, mailing lists, and more. But the real community — the bug reporters, bloggers, meetup organizers, and lurkers in a Telegram group you’ve never heard of — lives outside your repo entirely. Cast a wide net across social media, forums, and conference talks, and don’t be shy about asking your known community where they hang out.

March 25, 2026 · Chris Short

From git submodule to Hugo Modules using Netlify

Git submodules are cumbersome to manage. In my opinion, git submodules are a sort of anti-pattern for Hugo (I know many themes suggest using git submodules). There’s a better way to manage your Hugo site’s theme: Hugo Modules. Suppose you have a Hugo site and use a theme that supports Hugo Modules. I think the theme would need to require a minimum of Hugo v0.55.0. But, more features are available in later versions. Regardless, your mileage may vary: ...

September 27, 2021 · Chris Short

Fear and Loathing in YAML

This post was originally written as the introduction to DevOps’ish 188, has been modified based on feedback, and deemed worthy to share as its own blog post. Photo by Christina Morillo from Pexels We kinda went down a rabbit hole the other day when I suggested folks check out yq, “The aim of the project is to be the jq or sed of yaml files.” First, there’s nothing wrong with this project. I like it, I find the tool useful, and that’s that. But the great debate started over our lord and savior, YAML. Yeah, I know, XML vs. JSON vs. YAML vs. TOML vs. the next thing is a tired and old debate. ...

October 21, 2020 · Chris Short

GitLab Annoyance: Private to Public Repos

I was working on a new Ansible role last week and was having problems with Test Kitchen. The issue I was having was that Test Kitchen was unable to pull in dependencies from GitLab for the Ansible role I was developing. Here is the error message I was seeing: 1 [WARNING]: - rsyslog was NOT installed successfully: - command git clone https://gitlab.logicnow.com/ansible-roles/rsyslog.git rsyslog failed in directory /tmp/tmpEaRVAA (rc=128) I realized that on our internal, private GitLab server a repo needed to be changed from Private to Public. I did not have rights on the repo so I pinged a co-worker who did. Once the repo was public, for some reason, Test Kitchen was still unable to pull in the role. ...

January 23, 2017 · Chris Short

Permanently Remove Any Record of a File From git

A co-worker and I needed to remove all instances of a binary blob from one of our git repos a while back. This was a lot harder than I thought it should have been, in my opinion. However, distributed version control is not really designed to easily allow folks to delete every instance of a file. But, if you ever run into a case where you do need to expunge a file in git here is how we did it. This would work to remove a file from any cloud, service, or local git repository. ...

June 25, 2016 · Chris Short