- SpotiFetch: A fetch tool for Spotify
- 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": "[30m",
"yellow": "[33m",
"blue": "[34m",
"green": "[32m",
"bold": "[1m",
"reset": "[0m",
}; .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 + "
"'