Skip to content

Instantly share code, notes, and snippets.

View cheshire137's full-sized avatar

Sarah Vessels cheshire137

View GitHub Profile
@cheshire137
cheshire137 / useful-commands.sh
Last active April 18, 2024 21:40
Handy commands I forget and want to copy-paste periodically
# hot-reload a Go server, ty @zerowidth
# see https://github.com/eradman/entr
find . -name '*.go' | entr -r -c go run . server
# look for files that match two patterns
grep -rl --include \*.rb --exclude-dir=vendor --exclude-dir=test "pattern the first" . | xargs grep "pattern the second"
# generate a Markdown todo list of file paths
some_command_outputting_a_list_of_file_paths | xargs grep -l "some pattern within some of the files" | awk '$0="- [ ] "$0'
@cheshire137
cheshire137 / run-workflow-for-recent-prs.sh
Last active February 15, 2024 17:19
Script to trigger a GitHub Actions workflow for each pull request in a list
#!/usr/bin/env bash
for item in $(gh pr list --assignee cheshire137 --repo someUser/someRepo --state open --json headRefName,number,headRepository,headRepositoryOwner --search "updated:>=$(date -Idate)" --jq ".[]"); do
number=$(jq --raw-output '.number' <<< "$item")
headRefName=$(jq --raw-output '.headRefName' <<< "$item")
repoName=$(jq --raw-output '.headRepository.name' <<< "$item")
repoOwner=$(jq --raw-output '.headRepositoryOwner.login' <<< "$item")
echo "$repoOwner/$repoName#$number $headRefName"
read -r -p "Run workflow? [Y/n] " response
response=${response,,} # tolower
@cheshire137
cheshire137 / 🎵 My Spotify Top Tracks
Last active January 10, 2022 00:01
🎵 My Spotify Top Tracks
RAINY NIGHT IN TALLINN Ludwig Goransson
Secret Clark
Lambent Rag Clark
THE PLAN Travis Scott
Citrus Clark
FREEPORT Ludwig Goransson
RED ROOM BLUE ROOM Ludwig Goransson
WINDMILLS Ludwig Goransson
Small Clark & Nathaniel
Olson Boards of Canada
@cheshire137
cheshire137 / spotify-to-itunes-playlists.rb
Last active June 29, 2020 08:21
Ruby script to create iTunes playlists from your Spotify playlists. Requires a Spotify API app.
#!/usr/bin/env ruby
require 'uri'
require 'json'
require 'net/https'
require 'time'
require 'cgi'
require 'csv'
# You need a Spotify API app to have a client ID and client secret. Create
# one at https://developer.spotify.com/my-applications/#!/applications/create
@cheshire137
cheshire137 / test.txt
Created March 22, 2019 16:43
test gist
hello
@cheshire137
cheshire137 / cheshireface.png
Last active March 19, 2019 21:49
Hello world
cheshireface.png
@cheshire137
cheshire137 / city_aliaser.rb
Last active March 13, 2019 17:27
List of aliases for US cities by state
#!/usr/bin/env ruby
require 'rubygems'
require 'mechanize'
require 'json'
url = "https://en.wikipedia.org/wiki/List_of_city_nicknames_in_the_United_States"
STATES = ["Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado",
"Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho",
"Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana",
"Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota",
@cheshire137
cheshire137 / keybase.md
Last active November 8, 2017 16:38
Proof for my keybase.io identity.

Keybase proof

I hereby claim:

  • I am cheshire137 on github.
  • I am cheshire137 (https://keybase.io/cheshire137) on keybase.
  • I have a public key ASCYDtNML3BizFS2gSmgo_2osYnXm9sWQTp748en-luS6go

To claim this, I am signing this object:

require 'erb'
# lib/missing_spec_generator.rb
class MissingSpecGenerator
RAILS_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
def spec_file spec_path, file_name, spec_template, namespace
spec_name = file_name.gsub('.rb', '') + '_spec.rb'
if File.exist?("#{spec_path}/#{spec_name}")
puts "#{spec_path}/#{spec_name} exists"
@cheshire137
cheshire137 / git-line-history.sh
Last active June 24, 2016 16:30
Find all the Git commits that modified a particular line in a file.
#!/bin/bash
# Sample use:
# PATTERN="\"/some-route\"" FILE=config/routes.rb ~/bin/git-line-history.sh
# Thanks to mikedillion <https://github.com/mikedillion> for the basis of this!
set -e
#PATTERN="version':"
#FILE="setup.py"