1. SpotiFetch: A fetch tool for Spotify
  2. fkill-cli: Fabulously kill processes

Article of the week: Vim Tab Madness. Buffers vs Tabs

Learning how to use and embrace buffers and windows leads to a far more cohesive editing experience in Vim and will help eliminate a lot of frustration when trying to use tabs unnaturally.

Tip of the week: How to define and use variables in jq, with a real world script example:

The below script uses gh to find open PRs across your team. Define the variable org and team using the values from GitHub.

#!/usr/bin/env bash
members="$(gh api /orgs/${org}/teams/${team}/members | jq -rj '.[]|"author:",.login," "')"
gh api -X GET search/issues \
-f q="${members} is:open draft:false created:>$(date -d "90 days ago" +%Y-%m-%d)" \
| jq -jr 'def cls: {
"black": "",
"yellow": "",
"blue": "",
"green": "",
"bold": "",
"reset": "",
}; .items[] | "
" +
cls.blue + cls.bold + .title + cls.reset + "
" +
cls.green + cls.bold + ">> " + cls.reset + "Created on: ", cls.yellow + (.created_at|fromdate|strftime("%Y-%m-%d")) + cls.reset + "
" +
cls.green + cls.bold + ">> " + cls.reset + "Created by: ", cls.green + .user.login + cls.reset + "
" +
cls.green + cls.bold + ">> " + cls.reset + .pull_request.html_url + "

"'